2.9 KiB
2.9 KiB
PR-10a Bank Composition Details DTO Projection
Domain owner: docs/studio
Cross-domain impact: docs/packer
Briefing
Introduce the Studio-owned DTO projection boundary for Bank Composition inside Asset Details.
This slice converts runtime/details source data into section-facing DTOs before any new section UI or middleware is added.
The goal is to land the data boundary first, so the UI work that follows does not bind directly to snapshot rows or raw asset.json shapes.
Objective
After this PR:
Asset Detailshas a Studio-owned DTO family forBank Composition;- snapshot-derived data feeds
availablerows; - persisted selection data feeds
selectedrows; - only non-blocking files reach the
availableDTO list; - selected ordering is represented in a way that can later map to explicit persisted indexes.
Dependencies
../decisions/Bank Composition Details DTO Projection Decision.md./PR-07c-asset-details-and-form-lifecycle.md../specs/4. Assets Workspace Specification.md
Scope
- add the Studio DTO family for bank-composition rows and section data
- map details/snapshot source data into:
availableselected
- start the DTO field set with:
pathdisplayNamesizelastModifiedfingerprintmetadata
- filter blocking files out of the
availableprojection - ensure selected ordering is available to the UI as ordered row state
Non-Goals
- no new section UI yet
- no dual-list component yet
- no capacity meter yet
- no staged-edit coordinator yet
- no persistence/apply integration yet
Execution Method
- Introduce the DTO types for bank-composition details data.
- Extend the details projection path to populate
availableandselected. - Filter blocking files before DTO emission.
- Preserve selected ordering in the section-facing projection.
- Add regression tests around DTO mapping and filtering.
Acceptance Criteria
Asset Detailscan provide Studio-ownedBank CompositionDTOs without exposing raw packer internals to the sectionavailablerows come from current runtime/details data- blocking files do not appear in
available selectedrows are available as ordered data- the new DTO projection is ready for subsequent section and component slices
Validation
- unit tests for DTO mapping from details/snapshot source data
- unit tests for blocking-file exclusion
- unit tests for selected-row ordering preservation
Affected Artifacts
prometeu-studio/src/main/java/p/studio/workspaces/assets/details/...prometeu-studio/src/main/java/p/studio/workspaces/assets/messages/...- tests for details projection and DTO mapping
- cross-domain touchpoint: packer-facing details DTO shaping if source data is still missing