Two primitives, five places
The ordinal chip and the matrix. Build once, reuse everywhere.Everything the board is about to gain — influence, interest, governance rights, value priority, classification, exposed aggregates — is either a rank on a short scale or a list of named rows. Two components carry all of it. Neither introduces colour, because rank is not a hue and a table is not a chart.
Ordinal chip
- three of three, filled
- frame lightens with the rank
- never zero — unset is a different chip
- dashed, 72% — the assumption treatment
- five cells for the rights ladder
Five scales, one component: stakeholder influence, stakeholder interest, value priority, value impact, governance right. Cell count follows the enum length; the label is always the enum’s own word, never a number.
REAL CALLERS TODAY · bounded-context-canvas/ClassificationChipRowREAL CALLERS TODAY · crossing/CrossingPanel — DOWNSTREAM RIGHT
Fidelity: §19 counts five callers where the built system has two components carrying five scales. §22 and §23 consume the same `domain/ordinal.ts` scales through `canvas/Ground`’s axis rails and `canvas/Lattice` rather than through the chip — the kernel is shared, the drawing is not always a chip.
Matrix
| EXPOSED AGGREGATE | CONSUMED BY | STATE |
|---|---|---|
| ChangeRequest | Risk & Compliance | AGREED |
| RiskRating | Scheduling | AGREED |
| VendorRecord | Finance | ASSUMED |
| — not named — | ServiceNow | IN QUEUE |
One table, three uses: the glossary panel, exposed-aggregate lists, and the ubiquitous-language field of the bounded context canvas. Header in mono, rows on hairlines, last column right-aligned and always a state. A row that cannot be filled is not deleted — it reads — not named — and appears in the review queue.
REAL CALLERS TODAY · glossary/GlossaryPanelREAL CALLERS TODAY · crossing/CrossingPanel — EXPOSED AGGREGATESREAL CALLERS TODAY · bounded-context-canvas/BoundedContextCanvas
Fidelity: §19’s third use is "the value register", which is not built. The bounded context canvas’s ubiquitous-language field is the third caller in its place, and it renders the same component with the same state column.
The same chip, in a real caller
DOMAIN
BUSINESS MODEL
EVOLUTION
DOMAIN ROLES
BUSINESS MODEL
bounded-context-canvas/ClassificationChipRow OVER §10’S BOARD — FOUR SCALES AND ONE UNSET CHIPNO SECOND CHIP, NO SECOND SCALE: domain/ordinal.ts IS THE ONLY LADDER
Collapsible
18 STICKIES · 3 TRACKS · 2 OPEN ITEMS
18 STICKIES · 3 TRACKS · 2 OPEN ITEMS
18 STICKIES · 3 TRACKS · 2 OPEN ITEMS
OPEN · CLOSED · DISABLED — THE THIRD IS A REGION SOMEONE ELSE HOLDS
One disclosure behind three collapsing things: §09’s regions, §11’s tracks and §12’s detail ladder. The summary is a snippet rather than a string, because what collapses here is a header carrying its own counts and marks. It wraps Bits UI, which supplies aria-expanded, aria-controls and the disclosure keyboard.
Fidelity: §19 is drawn as two primitives. The built system has three, and this is the one the drawing does not count — the rule stating it is §19’s "one disclosure behind three collapsing things".