Filed by the domain:spec @ objectui seat, 2026-09-08T19:57Z, as 7 of the 7 per-package rulings the objectui#8327 unit ruling requires (comment 5587717012, Q2 option A). Anchor: objectui#8327 — with this card the seven exist.
⛔ Filed unassigned, not claiming. ⛔ No domain:*, priority or type applied — routing and grading are triage's.
The read — measured at origin/main 154fe2a by the TypeScript checker, ⛔ never a grep
| file |
key (line of the first read) |
evidence |
plugin-timeline/src/ObjectTimeline.tsx |
navigation 556 |
not a declared member of TimelineSchema & { objectName?: string | undefined; timeline?: List…; compiles only through the string index signature |
⭐ Rule the family, not this site
navigation is the one key in this census that appears in four packages with two different verdicts:
| package |
site |
verdict |
| plugin-timeline (this card) |
ObjectTimeline.tsx:556 |
undeclared |
| plugin-kanban (objectui#8652) |
ObjectKanban.tsx:822 |
undeclared |
| plugin-view |
ObjectView.tsx:1920 |
declared — packages/types/src/objectql.ts:1821 |
| plugin-calendar (objectui#8651) |
ObjectCalendar.tsx:645 |
declared on the ObjectGridSchema arm (objectql.ts:960), undeclared on CalendarSchema |
⇒ The same authoring concept is declared for the grid and view faces and undeclared for timeline, kanban and calendar's calendar arm. That is one ruling applied inconsistently, ⛔ not four independent questions. The per-package unit exists because the 29 class-(a) reads span three different kinds of question (objectui#8327 refused one card for all 29) — it is ⛔ not an instruction to answer the same question four different ways.
The question
Declare navigation on the timeline schema · retire the read · or route it to the producer as host-composition surface (pinned, ⛔ not declared — the shape objectui#5091 / objectui#5097 already ruled elsewhere). ⚠️ That objectql.ts already declares it twice for other faces is evidence for declare, ⛔ not the ruling.
⛔ What this card must not become
⛔ Not a row in undeclared-but-consumed-keys-6150.test.ts · ⛔ not folded into objectui#8347 · ⛔ declaring a key is a published-type widening ⇒ Clause ② with needs:contract-review on card and PR.
Refs
objectui#8327 (census, unit ruling, full per-key table at comment 5587605667) · objectui#8652 (plugin-kanban, the same key) · objectui#8651 (plugin-calendar, the same key on one union arm) · objectui#8410 · objectui#5155 · objectui#8347 · ADR-0049.
Blocked-by: #8652
Generated by Claude Code
Filed by the
domain:spec@ objectui seat, 2026-09-08T19:57Z, as 7 of the 7 per-package rulings the objectui#8327 unit ruling requires (comment5587717012, Q2 option A). Anchor: objectui#8327 — with this card the seven exist.⛔ Filed unassigned, not claiming. ⛔ No
domain:*, priority or type applied — routing and grading are triage's.The read — measured at
origin/main154fe2aby the TypeScript checker, ⛔ never a grepplugin-timeline/src/ObjectTimeline.tsxnavigation556TimelineSchema & { objectName?: string | undefined; timeline?: List…; compiles only through the string index signature⭐ Rule the family, not this site
navigationis the one key in this census that appears in four packages with two different verdicts:ObjectTimeline.tsx:556ObjectKanban.tsx:822ObjectView.tsx:1920packages/types/src/objectql.ts:1821ObjectCalendar.tsx:645ObjectGridSchemaarm (objectql.ts:960), undeclared onCalendarSchema⇒ The same authoring concept is declared for the grid and view faces and undeclared for timeline, kanban and calendar's calendar arm. That is one ruling applied inconsistently, ⛔ not four independent questions. The per-package unit exists because the 29 class-(a) reads span three different kinds of question (objectui#8327 refused one card for all 29) — it is ⛔ not an instruction to answer the same question four different ways.
The question
Declare⚠️ That
navigationon the timeline schema · retire the read · or route it to the producer as host-composition surface (pinned, ⛔ not declared — the shape objectui#5091 / objectui#5097 already ruled elsewhere).objectql.tsalready declares it twice for other faces is evidence for declare, ⛔ not the ruling.⛔ What this card must not become
⛔ Not a row in
undeclared-but-consumed-keys-6150.test.ts· ⛔ not folded into objectui#8347 · ⛔ declaring a key is a published-type widening ⇒ Clause ② withneeds:contract-reviewon card and PR.Refs
objectui#8327 (census, unit ruling, full per-key table at comment
5587605667) · objectui#8652 (plugin-kanban, the same key) · objectui#8651 (plugin-calendar, the same key on one union arm) · objectui#8410 · objectui#5155 · objectui#8347 · ADR-0049.Blocked-by: #8652
Generated by Claude Code