Context
B-split of #14594 (horizon map v2): the kind→token mapping as its own leaf — pure data + a tiny resolver, so kind-set growth (lane-claims, graduations, lifecycle transitions beyond the SSOT's four) is one map entry, zero component edits.
The Fix
(1) The kind registry (module-scoped data: pr/a2a/review/alert + the FLEET_COCKPIT_EVENT_TYPES lifecycle kinds from the merged DTO, each → token + label casing) + a resolver with the neutral fallback; (2) unit specs — known kinds resolve, unknown → neutral (never throw/invisible), DTO event-types covered 1:1; (3) doc row in TOKENS.md's consumer table.
Acceptance Criteria
Out of Scope
The chip COMPONENT (#14594, narrowed) · adapter classification (Lane C).
Related
Epic #14560 (parent) · split-of #14594 · src/ai/fleet/fleetCockpitStatus.mjs (the kind source) · merged tokens.
Sweeps: current window; no equivalent; A2A clean. Structure-map: N/A.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec
Retrieval Hint: "event kind map registry resolver neutral fallback"
Context
B-split of #14594 (horizon map v2): the kind→token mapping as its own leaf — pure data + a tiny resolver, so kind-set growth (lane-claims, graduations, lifecycle transitions beyond the SSOT's four) is one map entry, zero component edits.
The Fix
(1) The kind registry (module-scoped data:
pr/a2a/review/alert+ theFLEET_COCKPIT_EVENT_TYPESlifecycle kinds from the merged DTO, each → token + label casing) + a resolver with the neutral fallback; (2) unit specs — known kinds resolve, unknown → neutral (never throw/invisible), DTO event-types covered 1:1; (3) doc row in TOKENS.md's consumer table.Acceptance Criteria
FLEET_COCKPIT_EVENT_TYPES; adding a kind = one entry (fixture proves no component edit).Out of Scope
The chip COMPONENT (#14594, narrowed) · adapter classification (Lane C).
Related
Epic #14560 (parent) · split-of #14594 ·
src/ai/fleet/fleetCockpitStatus.mjs(the kind source) · merged tokens.Sweeps: current window; no equivalent; A2A clean. Structure-map: N/A.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "event kind map registry resolver neutral fallback"