Context
B-split of #14598 (horizon map v2): the card's name slot as its own leaf — the ADR 0032 §2.3.2 primitive: the social name renders as mutable display state over the durable id, WITH its provenance/assent trail reachable, never as a key.
The Fix
The triplet, module placement per #14577: (1) the NameSlot unit — binds the DTO fallback chain (displayName → name → githubUsername → id, per fleetCockpitStatus.mjs), renders the provenance affordance (the naming-layer trail when #11240-class data is wired; declared-proxy until then), mono-id fallback; (2) unit specs — every fallback step renders, a rename re-renders IN PLACE (instance stable — the §2.3.2 fixture), null-everything → mono id; (3) NL-verified row on live roster data.
Acceptance Criteria
Out of Scope
Card composition (#14598, narrowed) · the naming-layer data plumbing (#11240 orbit).
Related
Epic #14560 (parent) · split-of #14598 · CARD-CONTRACT (PR #14627) · ADR 0032 §2.3.2 · merged DTO.
Sweeps: current window; no equivalent; A2A clean. Structure-map: N/A.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec
Retrieval Hint: "card name slot display state provenance rename in place"
Context
B-split of #14598 (horizon map v2): the card's name slot as its own leaf — the ADR 0032 §2.3.2 primitive: the social name renders as mutable display state over the durable id, WITH its provenance/assent trail reachable, never as a key.
The Fix
The triplet, module placement per
#14577: (1) the NameSlot unit — binds the DTO fallback chain (displayName → name → githubUsername → id, perfleetCockpitStatus.mjs), renders the provenance affordance (the naming-layer trail when #11240-class data is wired; declared-proxy until then), mono-id fallback; (2) unit specs — every fallback step renders, a rename re-renders IN PLACE (instance stable — the §2.3.2 fixture), null-everything → mono id; (3) NL-verified row on live roster data.Acceptance Criteria
Out of Scope
Card composition (#14598, narrowed) · the naming-layer data plumbing (#11240 orbit).
Related
Epic #14560 (parent) · split-of #14598 · CARD-CONTRACT (PR #14627) · ADR 0032 §2.3.2 · merged DTO.
Sweeps: current window; no equivalent; A2A clean. Structure-map: N/A.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "card name slot display state provenance rename in place"