Measured on main = 8f1d995ef447 while working #6172 / #6155.
The fact
content/docs/api/schema-reference.md documents KanbanSchema under "Complex
Schemas" (line ~869), and line 1254 teaches the import:
importtype{KanbanSchema,DashboardComponentSchema,CalendarViewSchema}from'@object-ui/types';So the page is about the @object-ui/types copy. But its JSON example (line ~875)
is a hybrid that matches neither declaration in the tree:
{ "type": "kanban", "draggable": true,
"columns": [ { "id": "todo", "title": "To Do", "color": "#6366f1", "cards": [ ... ] } ] }| key in the example | @object-ui/typesKanbanColumn / KanbanSchema | @object-ui/plugin-kanban |
|---|
draggable | ✅ declared | ❌ not declared |
color (on a column) | ✅ declared | ❌ not declared |
cards (on a column) | ❌ — that copy spells it items | ✅ declared |
There is no declaration in this repository that accepts all three. Annotated
against @object-ui/types' KanbanSchema — the copy the page names — the example
fails twice: cards is not a member, and the required items is missing.
Why it is worth a card
The page is the API reference: a reader copying this example gets a board that
type-checks against nothing, and the failure surfaces as a remote error on the
columns element rather than "the docs were wrong".
It is also a clean second instance of the #6086 harm — a name that resolves to two
different declarations produces a confident wrong artifact rather than an
abstention. Here it produced prose that silently merged the two dialects.
⛔ Deliberately not fixed while carding: the correct example depends on which copy
owns the name KanbanSchema, and that authority call is the open half of #6172
(escalated there, with the measurement: the authored corpus writes cards 13× and
items 1×, and every registered kanban renderer consumes the plugin dialect).
Fixing the page before the ruling would bake in a guess. If the ruling is that the
plugin's dialect wins, the remedy is likely the #6168 / #6185 shape — qualify which
copy the page describes, then correct the example to that copy.
Reproduce
sed -n '869,905p' content/docs/api/schema-reference.md
sed -n '1250,1258p' content/docs/api/schema-reference.md
grep -n "items\|color" packages/types/src/complex.ts | head
grep -n "cards" packages/plugin-kanban/src/types.ts
Refs: #6172 (the open authority half) · #6155 (the four declarations) · #6086.
Generated by Claude Code
Measured on
main = 8f1d995ef447while working #6172 / #6155.The fact
content/docs/api/schema-reference.mddocumentsKanbanSchemaunder "ComplexSchemas" (line ~869), and line 1254 teaches the import:
So the page is about the
@object-ui/typescopy. But its JSON example (line ~875)is a hybrid that matches neither declaration in the tree:
{ "type": "kanban", "draggable": true, "columns": [ { "id": "todo", "title": "To Do", "color": "#6366f1", "cards": [ ... ] } ] }@object-ui/typesKanbanColumn/KanbanSchema@object-ui/plugin-kanbandraggablecolor(on a column)cards(on a column)itemsThere is no declaration in this repository that accepts all three. Annotated
against
@object-ui/types'KanbanSchema— the copy the page names — the examplefails twice:
cardsis not a member, and the requireditemsis missing.Why it is worth a card
The page is the API reference: a reader copying this example gets a board that
type-checks against nothing, and the failure surfaces as a remote error on the
columnselement rather than "the docs were wrong".It is also a clean second instance of the #6086 harm — a name that resolves to two
different declarations produces a confident wrong artifact rather than an
abstention. Here it produced prose that silently merged the two dialects.
⛔ Deliberately not fixed while carding: the correct example depends on which copy
owns the name
KanbanSchema, and that authority call is the open half of #6172(escalated there, with the measurement: the authored corpus writes
cards13× anditems1×, and every registered kanban renderer consumes the plugin dialect).Fixing the page before the ruling would bake in a guess. If the ruling is that the
plugin's dialect wins, the remedy is likely the #6168 / #6185 shape — qualify which
copy the page describes, then correct the example to that copy.
Reproduce
Refs: #6172 (the open authority half) · #6155 (the four declarations) · #6086.
Generated by Claude Code