Skip to content

decision(plugin-kanban): navigation is read off the kanban node and declared on neither arm — while the grid schema declares it (5 of 7, objectui#8327 class (a)) #8652

Description

@os-warren

Filed by the domain:spec @ objectui seat, 2026-09-08T19:56Z, as 5 of the 7 per-package rulings the objectui#8327 unit ruling requires (comment 5587717012, Q2 option A). Anchor: objectui#8327.

⛔ 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-kanban/src/ObjectKanban.tsx navigation 822 not a declared member of ObjectKanbanSchema | KanbanSchema; compiles only through the string index signature

⭐ Do not rule this one alone — the same key appears three times with two different verdicts

navigation is not a one-package question, and the census shows why:

package site verdict
plugin-kanban (this card) ObjectKanban.tsx:822 undeclared
plugin-timeline (objectui#8654) ObjectTimeline.tsx:556 undeclared
plugin-view ObjectView.tsx:1920 declaredpackages/types/src/objectql.ts:1821
plugin-calendar ObjectCalendar.tsx:645 declared on the ObjectGridSchema arm (objectql.ts:960), undeclared on CalendarSchema

⇒ The same authoring concept is declared on the grid/view schemas and undeclared on kanban, timeline and calendar's calendar arm. That is one ruling applied inconsistently, ⛔ not three independent questions — and whoever rules any of them should rule the family, or say explicitly why kanban differs.

⚠️ The per-package unit is deliberate (objectui#8327 refused one card for all 29, because the 29 span three different question types). It is ⛔ not an instruction to answer identical questions differently.

The question

Declare navigation on the kanban 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). ⚠️ The fact that objectql.ts already declares it for the grid is evidence for declare, but it is evidence, ⛔ 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#8654 (plugin-timeline, the same key) · objectui#8651 (plugin-calendar, the same key on one union arm) · objectui#8410 · objectui#5155 · objectui#8347 · ADR-0049.


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

No one assigned

    Labels

    domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepm:queuepriority:p2

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions