4.1 KiB
Bank Composition Section Shell Decision
Status: Decided
Cycle: 2026-03
Domain Owner: docs/studio
Cross-Domain Impact: docs/packer
Context
The Bank Composition area needs a visible section shell inside Asset Details before behavior and persistence are wired.
The section should not invent a parallel editing model.
It needs to align with the existing Asset Details section rhythm, especially Runtime Contract.
The DTO projection boundary and the first-wave component direction were already closed in:
This decision closes the shell direction discussed in:
Decision
Create the Bank Composition section shell early, before full behavior is implemented.
The shell contract is:
Bank Compositionis aVBoxsection insideAsset Details;- the section shell should mirror
Runtime Contractas closely as practical at the JavaFX composition level; - the section should align with the existing
FormSessionstaged-editing pattern; - the section header and action cluster must support
change,apply,reset, andcancel; - the body layout must reserve the dual-list region on the left and the capacity-meter region on the right;
- outside
changemode, the section should render the current persisted state as read-only; - before middleware wiring exists, the section body should still render disabled or read-only internals rather than an empty placeholder.
Justification
This keeps the editing model of Asset Details coherent.
The developer should not need to learn one staged-edit contract for Runtime Contract and another for Bank Composition.
Using the same shell and FormSession rhythm lowers implementation risk and reduces UI inconsistency.
Rendering the current persisted state in read-only mode is also the better default. It teaches the surface, shows that data exists, and avoids making the section look unfinished or absent whenever editing is not active.
Invariants and Constraints
The following constraints now apply:
Bank Compositionmust exist as a real section shell before middleware behavior is complete;- the shell must follow the same staged-edit interaction model already used by
Runtime Contract; FormSessionis part of the expected section lifecycle;- the section must not collapse into a blank placeholder when behavior is still incomplete;
- the shell layout must already reflect the intended dual-list plus capacity-meter structure.
Explicit Non-Decisions
This decision does not yet define:
- the middleware/controller contract;
- the
workspaceBusevent contract; - the exact disabled/read-only visuals of the early shell;
- apply persistence behavior;
- family-specific meter semantics beyond the already agreed general direction.
Propagation Targets
- Studio agendas:
Agenda-04-Asset-Bank-Composition-Middleware-and-Staged-Editing.mdAgenda-05-Asset-Bank-Composition-WorkspaceBus-Interaction.mdAgenda-06-Asset-Bank-Composition-Persistence-and-Snapshot-Propagation.md - Studio specs:
4. Assets Workspace Specification.md - Studio code:
AssetDetailsControl, the futureBank Compositionsection control, and anyFormSessionintegration needed for staged editing
Validation Notes
Examples implied by this decision:
- the section can appear in the details view even before middleware logic exists;
- the shell can show current selection state in read-only mode when the user has not entered
change; - the same section-level action rhythm used by
Runtime Contractshould apply toBank Composition.