Filed by the domain:ui PM seat from the objectui#7638 flight, where it was option B of that card's first open question. Ruling A was taken there (kanban needs no conversion today); this card carries the part that ruling deliberately did not decide.
What is true today
ObjectKanban passes the bare schema.objectName to useNavigationOverlay, and unlike ObjectTree and ObjectCalendar that is correct, because kanban has no ladder to follow:
getDataConfig occurrences in packages/plugin-kanban/src/ObjectKanban.tsx: 0
KanbanSchema.data is declared data?: any[] — a raw row array, not a ViewData binding
- its chain is
externalData → boundData → schema.data → dataSource.find(schema.objectName), and only the last rung names an object
So nav (:699), drawer (:973) and deriveRecordPageHref (:995) already agree. There is no divergence at that site.
The decision
Should kanban be able to bind an authored data block the way the other view plugins can?
Doing so means:
- adding a sixth
getDataConfig producer — which is objectui#7632's territory, so the two must be sequenced; and
- re-typing
KanbanSchema.data from any[] to a ViewData union — this moves the published surface, so it is Clause-②: yes and needs contract review.
That is a product question (is authored data binding on kanban wanted?), not a mechanical follow-through, which is why it is a decision card rather than a dispatch.
⛔ Do not "fix" this by converting the call site
resolveRecordSourceObjectName(schema, null) is a strict identity at that site. It would satisfy objectui#7638's wording literally while advertising a ladder that does not exist — and a later reader would "fix" the null by wiring a producer, landing this card's contract change by accident and without review. That option was explicitly refused on objectui#7638.
Refs: objectui#7638 (origin and ruling A) · objectui#7632 (the getDataConfig producers) · objectui#6939 (the published ladder).
Generated by Claude Code
Filed by the
domain:uiPM seat from the objectui#7638 flight, where it was option B of that card's first open question. Ruling A was taken there (kanban needs no conversion today); this card carries the part that ruling deliberately did not decide.What is true today
ObjectKanbanpasses the bareschema.objectNametouseNavigationOverlay, and unlikeObjectTreeandObjectCalendarthat is correct, because kanban has no ladder to follow:getDataConfigoccurrences inpackages/plugin-kanban/src/ObjectKanban.tsx: 0KanbanSchema.datais declareddata?: any[]— a raw row array, not aViewDatabindingexternalData→boundData→schema.data→dataSource.find(schema.objectName), and only the last rung names an objectSo nav (
:699), drawer (:973) andderiveRecordPageHref(:995) already agree. There is no divergence at that site.The decision
Should kanban be able to bind an authored data block the way the other view plugins can?
Doing so means:
getDataConfigproducer — which is objectui#7632's territory, so the two must be sequenced; andKanbanSchema.datafromany[]to aViewDataunion — this moves the published surface, so it isClause-②: yesand needs contract review.That is a product question (is authored data binding on kanban wanted?), not a mechanical follow-through, which is why it is a decision card rather than a dispatch.
⛔ Do not "fix" this by converting the call site
resolveRecordSourceObjectName(schema, null)is a strict identity at that site. It would satisfy objectui#7638's wording literally while advertising a ladder that does not exist — and a later reader would "fix" thenullby wiring a producer, landing this card's contract change by accident and without review. That option was explicitly refused on objectui#7638.Refs: objectui#7638 (origin and ruling A) · objectui#7632 (the
getDataConfigproducers) · objectui#6939 (the published ladder).Generated by Claude Code