Context
B-split of #14593 (horizon map v2, group B): the family rail as its own one-PR leaf — the visually smallest, contractually deepest primitive: it renders the resident's CURRENT episode family and must re-render in place on a family switch (same resident, ADR 0032 §2.3.3's live fixture).
The Fix
The per-view triplet inside the agentos FM module (mount per #14631/#14632): (1) the FamilyRail component/mixin — a --fm-family-*-keyed left-border binding on a data field (era attribute; harnessType-derived proxy declared-as-such until #11318 lands); (2) unit specs — key→token mapping for all four families, unknown-key → neutral + unclassified badge, rebind-in-place fixture (instance stable across a family change); (3) NL-verifiable render row.
Acceptance Criteria
Out of Scope
StateDot (#14593, narrowed) · HealthSwatch (sibling) · card composition (#14598).
Related
Epic #14560 (parent) · split-of #14593 · consumes merged tokens (apps/agentos/resources/tokens.css) + CARD-CONTRACT (PR #14627) · ADR 0032 §2.3.3.
Sweeps: current window; no equivalent; A2A clean. Structure-map: N/A.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec
Retrieval Hint: "FamilyRail primitive era attribute rebind in place"
Context
B-split of #14593 (horizon map v2, group B): the family rail as its own one-PR leaf — the visually smallest, contractually deepest primitive: it renders the resident's CURRENT episode family and must re-render in place on a family switch (same resident, ADR 0032 §2.3.3's live fixture).
The Fix
The per-view triplet inside the agentos FM module (mount per #14631/#14632): (1) the FamilyRail component/mixin — a
--fm-family-*-keyed left-border binding on a data field (era attribute;harnessType-derived proxy declared-as-such until #11318 lands); (2) unit specs — key→token mapping for all four families, unknown-key → neutral +unclassifiedbadge, rebind-in-place fixture (instance stable across a family change); (3) NL-verifiable render row.Acceptance Criteria
Out of Scope
StateDot (#14593, narrowed) · HealthSwatch (sibling) · card composition (#14598).
Related
Epic #14560 (parent) · split-of #14593 · consumes merged tokens (
apps/agentos/resources/tokens.css) + CARD-CONTRACT (PR #14627) · ADR 0032 §2.3.3.Sweeps: current window; no equivalent; A2A clean. Structure-map: N/A.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "FamilyRail primitive era attribute rebind in place"