Skip to content

decision(plugin-timeline): navigation is read off the timeline node and undeclared — the same key the grid schema declares (7 of 7, objectui#8327 class (a)) #8654

Description

@os-warren

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepriority:p3

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions