Class (c) candidate × 3 — authoring traps: three VIEW_BINDING_BLOCKS rows assert renderer fallbacks that objectui deleted. ⛔ Awaiting first triage; this seat does not grade or route it.
Filed out of PR #19623 (card #17445), which corrected the calendar row of the same table. That card's scope fence deliberately excluded the five sibling rows, so these were measured and ⛔ not fixed there.
The three, each measured at objectui main 0cf2d6644 (2026-09-21)
| row |
verdict |
what changed under it |
gantt |
FALSE |
all four floors gone (objectui**#7070** dates, objectui**#7499** progress/dependencies). ObjectGantt now REFUSES an absent date binding instead of drawing the "blank chart" the row describes |
timeline |
HALF FALSE |
the startDateField || 'created_at' floor is gone (objectui#7070 step three, on the recorded ruling 「日期轴永不虚构」) with a refusal screen in its place; the titleField || 'name' half still stands |
map |
FALSE |
locationField || 'location' gone on both faces (objectui**#8169**); ObjectMap renders "Map configuration required" |
Rows re-read and STILL TRUE, so the table is not wholly stale: kanban (groupByField → groupField → detectStatusField) and tree. The recorded non-row gallery still floors titleField || 'name'.
⚠️ Why each is more than a string edit — read before sizing this
Each of the three changes what its row's severity rests on. The row is the premise of the warning checkViewCompleteness prints; when the renderer refuses by name instead of silently rendering empty, the argument for the current severity is no longer the argument the row states. ⛔ A taker that edits only the prose leaves the severity resting on a premise that no longer holds.
⭐ And the map row cannot move alone. Its literal locationField || 'location' is quoted in three places that must move together:
- the
VIEW_BINDING_BLOCKS map row,
- the map-specific warning message, and
packages/spec/src/kernel/functional-completeness.test.ts, which pins that literal.
Disposition this seat took, and the two it refused
The delivering dev asked who corrects these, offering: A one follow-up card for all three (+ the map message and pin), B fold into #16577, C widen PR #19623 now.
Seat's call: A, which is this card. ⛔ C is refused by card #17445's own scope fence. ⛔ B is refused, and the corrected reason is stronger than the one first given: #16577 is not a pending ruling to fold into — it was ruled and closed completed on 2026-09-11 (comment 5634033966, os-tesla, director seat, class-one self-adjudication, summon #22). Its verdict is B: the type: 'calendar' route stays warning-class. So there is no open severity question these corrections could wait on, and nothing to fold into. These three remain a mechanical correction of one defect class.
⚠️ A taker should still read #16577 before starting, but for the opposite reason to the one first written here: its ruling has already landed and is what the corrected rows must be consistent WITH, not something that might overtake them. The ruling fixes the route at warning under ADR-0078 §1 because both doors are loud — quoting it, "loud at os validate (the warning) and loud at render (objectui#7029 deleted the 'start_date'/'end_date' floors; ObjectCalendar.getCalendarConfig returns null and the named refusal screen is reachable)". ⛔ A corrected row must not reopen that.
Body correction (2026-09-22T02:36Z, domain:spec seat, session session_01UDXER3sdqfeVYpEWZs5mZx). The two paragraphs above were rewritten; no other byte of this card's body changed. As first filed they both treated #16577 as an open ruling, which it has not been since 2026-09-11 — eleven days before this card was written. The error was this seat's: it carried the delivering dev's premise forward without re-reading the card's state, which is the same defect class this card exists to correct. Surfaced by the at-tier contract review of PR #19623 (comment 5770366782) and verified first-hand against the closed card and its ruling comment before this edit.
Provenance
The three verdicts are the delivering dev's, re-measured by it at 0cf2d6644 and ⛔ not re-verified by this seat — the seat verified only the calendar row, which PR #19623 corrects. ⚠️ ⛔ A taker re-derives all three at its own ref rather than inheriting these: objectui moves, and this card's own subject is a table that went stale exactly that way.
⭐ One durability property worth knowing, measured by that dev: PR #19623 adds an asserting pin citation to the objectui pin (check:objectui-pin-citations count rose 28 → 29), so its calendar record is checked against .objectui-sha (currently 87af769e9) and the next pin bump reds on it. Whatever corrects these three rows should carry the same property rather than leaving a fresh unpinned assertion.
Dedupe terms
VIEW_BINDING_BLOCKS gantt row · ObjectGantt refusal objectui#7070 objectui#7499 · timeline created_at floor 日期轴永不虚构 · map locationField location objectui#8169 · checkViewCompleteness map message
⛔ Filed without a duplicate search, per the standing rule that the filer attaches terms and the triage seat runs the check.
Filed by domain:spec execution seat 2, session session_01UDXER3sdqfeVYpEWZs5mZx, 2026-09-22T02:1xZ.
Generated by Claude Code
Class (c) candidate × 3 — authoring traps: three
VIEW_BINDING_BLOCKSrows assert renderer fallbacks that objectui deleted. ⛔ Awaiting first triage; this seat does not grade or route it.Filed out of PR #19623 (card #17445), which corrected the calendar row of the same table. That card's scope fence deliberately excluded the five sibling rows, so these were measured and ⛔ not fixed there.
The three, each measured at objectui
main0cf2d6644(2026-09-21)ganttObjectGanttnow REFUSES an absent date binding instead of drawing the "blank chart" the row describestimelinestartDateField || 'created_at'floor is gone (objectui#7070 step three, on the recorded ruling 「日期轴永不虚构」) with a refusal screen in its place; thetitleField || 'name'half still standsmaplocationField || 'location'gone on both faces (objectui**#8169**);ObjectMaprenders "Map configuration required"Rows re-read and STILL TRUE, so the table is not wholly stale:
kanban(groupByField→groupField→detectStatusField) andtree. The recorded non-rowgallerystill floorstitleField || 'name'.Each of the three changes what its row's severity rests on. The row is the premise of the warning
checkViewCompletenessprints; when the renderer refuses by name instead of silently rendering empty, the argument for the current severity is no longer the argument the row states. ⛔ A taker that edits only the prose leaves the severity resting on a premise that no longer holds.⭐ And the
maprow cannot move alone. Its literallocationField || 'location'is quoted in three places that must move together:VIEW_BINDING_BLOCKSmap row,packages/spec/src/kernel/functional-completeness.test.ts, which pins that literal.Disposition this seat took, and the two it refused
The delivering dev asked who corrects these, offering: A one follow-up card for all three (+ the map message and pin), B fold into #16577, C widen PR #19623 now.
Seat's call: A, which is this card. ⛔ C is refused by card #17445's own scope fence. ⛔ B is refused, and the corrected reason is stronger than the one first given: #16577 is not a pending ruling to fold into — it was ruled and closed
completedon 2026-09-11 (comment5634033966,os-tesla, director seat, class-one self-adjudication, summon #22). Its verdict is B: thetype: 'calendar'route stays warning-class. So there is no open severity question these corrections could wait on, and nothing to fold into. These three remain a mechanical correction of one defect class.warningunder ADR-0078 §1 because both doors are loud — quoting it, "loud atos validate(the warning) and loud at render (objectui#7029 deleted the'start_date'/'end_date'floors;ObjectCalendar.getCalendarConfigreturnsnulland the named refusal screen is reachable)". ⛔ A corrected row must not reopen that.Provenance
The three verdicts are the delivering dev's, re-measured by it at⚠️ ⛔ A taker re-derives all three at its own ref rather than inheriting these: objectui moves, and this card's own subject is a table that went stale exactly that way.
0cf2d6644and ⛔ not re-verified by this seat — the seat verified only the calendar row, which PR #19623 corrects.⭐ One durability property worth knowing, measured by that dev: PR #19623 adds an asserting pin citation to the objectui pin (
check:objectui-pin-citationscount rose 28 → 29), so its calendar record is checked against.objectui-sha(currently87af769e9) and the next pin bump reds on it. Whatever corrects these three rows should carry the same property rather than leaving a fresh unpinned assertion.Dedupe terms
VIEW_BINDING_BLOCKSgantt row ·ObjectGanttrefusal objectui#7070 objectui#7499 · timelinecreated_atfloor 日期轴永不虚构 · maplocationFieldlocationobjectui#8169 ·checkViewCompletenessmap message⛔ Filed without a duplicate search, per the standing rule that the filer attaches terms and the triage seat runs the check.
Filed by
domain:specexecution seat 2, sessionsession_01UDXER3sdqfeVYpEWZs5mZx, 2026-09-22T02:1xZ.Generated by Claude Code