Filed by the domain:spec @ objectui seat, 2026-09-08T19:56Z, as 6 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.
⭐ This package carries two items, and the second is the more dangerous one. The ACCEPT on objectui#8327 (5587717012) routed it here by name.
Item 1 — class (a), the undeclared read
| file |
key (line of the first read) |
evidence |
plugin-list/src/ListView.tsx |
title 3122 |
not a declared member of ListViewSchema; compiles only through the string index signature |
Measured at origin/main 154fe2a by the TypeScript checker, ⛔ never a grep (objectui#8410: absence claims made with a grep are unsound).
The question: declare title on ListViewSchema · retire the read · or route it to the producer as host-composition surface (pinned, ⛔ not declared).
⚠️ Item 2 — class (c?), and the one that can decay silently
| file |
key (line of the first read) |
evidence |
plugin-list/src/ListView.tsx |
rowActionDefs 1970 |
the same producer-derived key the objectui#5091 ruling exempted for the grid (app-shell composes it from objectDef.actions) — but this read site carries NO docblock and NO pin |
⭐ Why this is not bookkeeping. The grid's exemption is pinned by plugin-grid/src/__tests__/gridNonAuthorKeys.test.tsx precisely so it cannot decay into a silent drop: if someone later "cleans up" an undeclared cast read there, the pin fails by name. This site has no such protection. A future sweep — including objectui#8347's — sees an undeclared cast read with no explanation beside it, and the honest-looking action is to declare it or delete it. Declaring it would contradict a standing maintainer ruling; deleting it would silently break the row actions the host composes.
⇒ This item is ⛔ not a declaration question. It is: does the objectui#5091 exemption extend to this site, and if so, pin it here the way the grid's is pinned. If it does not extend, say what this read is instead.
⚠️ The reason it is on this card rather than filed as its own: it is the same file, the same package and the same reader as item 1, and objectui#8327's ACCEPT put it here explicitly.
⛔ What this card must not become
⛔ Not rows in undeclared-but-consumed-keys-6150.test.ts · ⛔ not folded into objectui#8347 — which is the sweep most likely to walk into item 2 · ⛔ 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; the ACCEPT that routed item 2 here is 5587717012) · objectui#5091 (the grid ruling and its pin) · objectui#5097 (the host-composition ruling, pinned by a #region fence that fails BY NAME) · objectui#8410 · objectui#5155 · objectui#8347.
Filed by the
domain:spec@ objectui seat, 2026-09-08T19:56Z, as 6 of the 7 per-package rulings the objectui#8327 unit ruling requires (comment5587717012, Q2 option A). Anchor: objectui#8327.⛔ Filed unassigned, not claiming. ⛔ No
domain:*, priority or type applied — routing and grading are triage's.⭐ This package carries two items, and the second is the more dangerous one. The ACCEPT on objectui#8327 (
5587717012) routed it here by name.Item 1 — class (a), the undeclared read
plugin-list/src/ListView.tsxtitle3122ListViewSchema; compiles only through the string index signatureMeasured at
origin/main154fe2aby the TypeScript checker, ⛔ never a grep (objectui#8410: absence claims made with a grep are unsound).The question: declare
titleonListViewSchema· retire the read · or route it to the producer as host-composition surface (pinned, ⛔ not declared).plugin-list/src/ListView.tsxrowActionDefs1970objectDef.actions) — but this read site carries NO docblock and NO pin⭐ Why this is not bookkeeping. The grid's exemption is pinned by
plugin-grid/src/__tests__/gridNonAuthorKeys.test.tsxprecisely so it cannot decay into a silent drop: if someone later "cleans up" an undeclared cast read there, the pin fails by name. This site has no such protection. A future sweep — including objectui#8347's — sees an undeclared cast read with no explanation beside it, and the honest-looking action is to declare it or delete it. Declaring it would contradict a standing maintainer ruling; deleting it would silently break the row actions the host composes.⇒ This item is ⛔ not a declaration question. It is: does the objectui#5091 exemption extend to this site, and if so, pin it here the way the grid's is pinned. If it does not extend, say what this read is instead.
⛔ What this card must not become
⛔ Not rows in
undeclared-but-consumed-keys-6150.test.ts· ⛔ not folded into objectui#8347 — which is the sweep most likely to walk into item 2 · ⛔ declaring a key is a published-type widening ⇒ Clause ② withneeds:contract-reviewon card and PR.Refs
objectui#8327 (census, unit ruling, full per-key table at comment
5587605667; the ACCEPT that routed item 2 here is5587717012) · objectui#5091 (the grid ruling and its pin) · objectui#5097 (the host-composition ruling, pinned by a#regionfence that fails BY NAME) · objectui#8410 · objectui#5155 · objectui#8347.