Cockpit typography, density and hierarchy pass against the §04 bar
Context
The §04 implementation sub for the type + density + motion ladders (spec: #17263 — spec-first, this ticket starts only after that spec passes review). Sibling of the chip-family unification (#17264); together they are the "love pass" the operator called for on 2026-08-16.
The Problem
The cockpit's type and spacing were never laddered: chrome, pane bodies, and detail views each picked sizes locally (11px mono here, defaults there); the density story (a 20-card roster vs one drilled agent) is implicit; hierarchy is carried by position rather than a designed scale. #17211 named the operator-visible symptoms (oversized rail tabs, undersized panels, invisible splitter affordance) — that ticket fixes the sizing DEFECTS; this one installs the SYSTEM those fixes should have been able to consult.
The Fix
Implement #17263's type/density ladders across the cockpit skin layer: the type scale and spacing rhythm as --fm-* tokens, applied through the fleet SCSS files (chrome bar, rails, panes, detail) — replacing per-file literals with ladder tokens; the motion-language tokens (durations/easings per class, reduced-motion collapse) land here for the non-chip surfaces (rails/drawers/reveal). Zero CSS-in-JS throughout; both-theme via the token layer.
Acceptance Criteria
AC-4 disposition (2026-08-21, post-review — PR #17491 RA-3): satisfied in-PR via the stated alternative, upgraded: the committed visual pins themselves (AgentCardSynthesisRenderNL dark+light across six card widths, FleetCockpitBarCompositionNL, FleetCockpitDrillRoundTripNL) are re-baselined ON the laddered chrome as the reviewed design change — the capture doesn't ride the PR as a list, it lands as pixels. #14618's live intake narrowed its surviving scope away from baseline capture; it is no longer cited as this AC's owner.
Contract Ledger Matrix
Backfilled per PR #17491 review RA-3 — the consumed-token contract this pass introduces:
| Target Surface |
Source of Authority |
Behavior |
Fallback |
Docs |
Evidence |
--fm-text-display/body/detail/micro/chrome — five font shorthand role tokens, shell root |
TOKENS.md §04 type-roles row (values) + SSOT §06 T1 (ladder) |
Surfaces consume via font: var(--fm-text-*); weight rides the shorthand only where the role states it (display 600); a deviating site re-declares AFTER the role, site-visibly |
None — the roles are the floor; a new font-size literal in fleet SCSS is a contract violation (greppable), recorded exceptions annotate in place |
TOKENS.md implementation-shape clause (decided on this ticket) |
check-theme-surfaces census; the zero-literal grep (two annotated survivors); re-baselined visual pins both skins |
--fm-text-chrome-tracking |
TOKENS.md type-roles row (the chrome role's non-font half, decided on this ticket) |
Chrome-tier sites bind tracking through the slot; text-transform: uppercase stays a site declaration |
n/a |
Same clause |
Census + live computed-style probes (.88px at 11px) |
--fm-space-1..4 |
TOKENS.md spacing-rhythm row |
On-ladder padding/gap/margin members bind the tokens — including on-ladder halves of mixed shorthands; genuinely off-rhythm values are per-file header-recorded exceptions deferred to #17268/#17211 |
Recorded exceptions render unchanged |
Per-file §04 rhythm records |
The RA-1 sweep grep (zero unbound on-ladder members in touched files) |
--fm-motion-panel / --fm-motion-fast |
TOKENS.md FM-motion-aliases row |
FM-scoped surfaces read the aliases; the vocabulary-layer reduced-motion collapse (_motion.scss) is inherited, never re-implemented; --motion-base stays a sanctioned direct vocabulary read (no alias contracted) |
Alias fallbacks carry the vocabulary values (280ms/120ms) |
TOKENS.md + in-file notes |
FmReducedMotionCollapse.spec.mjs — both witnesses: hover tier AND the panel-reveal tier (switcher menu + manager drawer, 280ms rendered / 0ms + gated-off collapsed) |
STRUCTURAL_FM_TOKENS census (18 members) |
buildScripts/util/check-theme-surfaces.mjs |
Deleting any contracted structural member fails the build even while unconsumed |
n/a |
In-file census comments |
unit/ai/buildScripts tree (467 specs) |
Out of Scope
The spec (#17263) · the chip family (#17264) · #17211's specific defect fixes (already claimed; this ticket coordinates, never collides — if #17211 lands first, this pass consumes its fixes into the ladder) · dashboard theme layer (#17242).
Related
Epic #14560 (parent) · #17263 (spec) · #17264 (sibling) · #17211 (defect sibling, claimed by @neo-opus-grace) · #14618 (evidence instrument).
Live latest-open sweep: latest 20 open checked 2026-08-16T22:22Z, no equivalent; A2A herd-window sweep clean.
Origin Session ID: 71baabc5-3ebe-46ff-99ce-a301e78cb7c5
Retrieval Hint: query_raw_memories("cockpit typography density hierarchy ladder tokens section 04 pass")
Cockpit typography, density and hierarchy pass against the §04 bar
Context
The §04 implementation sub for the type + density + motion ladders (spec: #17263 — spec-first, this ticket starts only after that spec passes review). Sibling of the chip-family unification (#17264); together they are the "love pass" the operator called for on 2026-08-16.
The Problem
The cockpit's type and spacing were never laddered: chrome, pane bodies, and detail views each picked sizes locally (11px mono here, defaults there); the density story (a 20-card roster vs one drilled agent) is implicit; hierarchy is carried by position rather than a designed scale. #17211 named the operator-visible symptoms (oversized rail tabs, undersized panels, invisible splitter affordance) — that ticket fixes the sizing DEFECTS; this one installs the SYSTEM those fixes should have been able to consult.
The Fix
Implement #17263's type/density ladders across the cockpit skin layer: the type scale and spacing rhythm as
--fm-*tokens, applied through the fleet SCSS files (chrome bar, rails, panes, detail) — replacing per-file literals with ladder tokens; the motion-language tokens (durations/easings per class, reduced-motion collapse) land here for the non-chip surfaces (rails/drawers/reveal). Zero CSS-in-JS throughout; both-theme via the token layer.Acceptance Criteria
check-theme-surfacesgreen; #14618 baseline captures the laddered chrome (or the capture list rides the PR if #14618 lands later).AC-4 disposition (2026-08-21, post-review — PR
#17491RA-3): satisfied in-PR via the stated alternative, upgraded: the committed visual pins themselves (AgentCardSynthesisRenderNLdark+light across six card widths,FleetCockpitBarCompositionNL,FleetCockpitDrillRoundTripNL) are re-baselined ON the laddered chrome as the reviewed design change — the capture doesn't ride the PR as a list, it lands as pixels.#14618's live intake narrowed its surviving scope away from baseline capture; it is no longer cited as this AC's owner.Contract Ledger Matrix
Backfilled per PR
#17491review RA-3 — the consumed-token contract this pass introduces:--fm-text-display/body/detail/micro/chrome— fivefontshorthand role tokens, shell rootfont: var(--fm-text-*); weight rides the shorthand only where the role states it (display 600); a deviating site re-declares AFTER the role, site-visiblyfont-sizeliteral in fleet SCSS is a contract violation (greppable), recorded exceptions annotate in placecheck-theme-surfacescensus; the zero-literal grep (two annotated survivors); re-baselined visual pins both skins--fm-text-chrome-trackingtext-transform: uppercasestays a site declaration--fm-space-1..4#17268/#17211--fm-motion-panel/--fm-motion-fast_motion.scss) is inherited, never re-implemented;--motion-basestays a sanctioned direct vocabulary read (no alias contracted)FmReducedMotionCollapse.spec.mjs— both witnesses: hover tier AND the panel-reveal tier (switcher menu + manager drawer, 280ms rendered / 0ms + gated-off collapsed)STRUCTURAL_FM_TOKENScensus (18 members)buildScripts/util/check-theme-surfaces.mjsunit/ai/buildScriptstree (467 specs)Out of Scope
The spec (#17263) · the chip family (#17264) · #17211's specific defect fixes (already claimed; this ticket coordinates, never collides — if #17211 lands first, this pass consumes its fixes into the ladder) · dashboard theme layer (#17242).
Related
Epic #14560 (parent) · #17263 (spec) · #17264 (sibling) · #17211 (defect sibling, claimed by @neo-opus-grace) · #14618 (evidence instrument).
Live latest-open sweep: latest 20 open checked 2026-08-16T22:22Z, no equivalent; A2A herd-window sweep clean.
Origin Session ID: 71baabc5-3ebe-46ff-99ce-a301e78cb7c5
Retrieval Hint:
query_raw_memories("cockpit typography density hierarchy ladder tokens section 04 pass")