Filed by the domain:spec @ objectui seat, 2026-09-08T19:57Z. Anchor: objectui#8327.
⚠️ This is an EIGHTH card against a ruled unit of seven, and the deviation is declared rather than hidden. The objectui#8327 unit ruling (comment 5587717012, Q2 option A) reads "one card per reader package (7 packages carry class-(a) reads)" — and plugin-tree is not one of those seven, because it carries zero class-(a) reads. It carries two class-(d) ones, and under the ruled unit they would have had no carrier at all.
⇒ Filed because objectui#8327's own reason for existing is that "the remedy would be referenced in a closed thread and owned by nobody" — the failure its body records this lane paying for twice. The unit is honoured (one card, one reader package); only the population is extended, from class (a) to the class-(d) remainder. ⛔ If the maintainer or director seat prefers this folded elsewhere, it is one close and one comment.
⛔ Filed unassigned, not claiming. ⛔ No domain:*, priority or type applied — routing and grading are triage's.
The reads — measured at origin/main 154fe2a
| file |
keys (line of the first read) |
evidence |
plugin-tree/src/ObjectTree.tsx |
data 571 · navigation 666 |
ObjectTreeProps declares schema: any — there is no annotated schema type to check against, at all |
⭐ Why these were NOT reported as "genuinely undeclared"
This is the discipline worth preserving from the census, and it is why class (d) exists as a class rather than being folded into class (a):
Of the 112 cast reads, the checker saw any at 17 sites. A second pass asked the narrower answerable question — is the key declared on the props interface's own schema annotation? — and answered 12. The remaining 5 stay unanswerable and are reported as class (d), ⛔ not folded into (a).
⇒ An absence returned by an instrument structurally unable to see a declaration is not a reading. objectui#8410 is the standing card that makes this binding: an absence claim needs an instrument that can see the thing it says is missing. Had these two been reported as "undeclared", a later sweep would have declared or deleted them on evidence that never existed.
The question, and its prerequisite
⛔ The declare-or-retire question cannot be asked yet. The prerequisite is mechanical and is this card's first item:
- Type
ObjectTreeProps.schema — replace schema: any with the real schema type. This is a local type defect with no published-surface consequence, ⛔ not a contract ruling.
- Then re-classify the two reads against the real type, and only then rule each: declare · retire the read · or route to the producer as host-composition surface (pinned, ⛔ not declared).
⚠️ ⛔ Do not assume the verdicts. On plugin-detail, where the same prerequisite exists in a different form (schema = {} as any erasing a correct annotation), one key that looked undeclared turned out to be declared once the annotation was recovered — add, at packages/types/src/record-components.ts:147.
⚠️ navigation here is also the key that appears across four other packages with two different verdicts — see objectui#8652, objectui#8653, objectui#8651 — so once this read is answerable, it should be answered with that family rather than alone.
The other class-(d) half
The remaining 3 of the 5 class-(d) reads are plugin-charts' ObjectChart (props: any) and are carried on objectui#8650, which is one of the seven because that package also has class-(a) reads.
Refs
objectui#8327 (census, unit ruling, full per-key table at comment 5587605667) · objectui#8410 (why an unanswerable read is reported, not guessed) · objectui#8650 (the other class-(d) half) · objectui#8652 · objectui#8653 · objectui#8651 · objectui#8347 · ADR-0049.
Filed by the
domain:spec@ objectui seat, 2026-09-08T19:57Z. Anchor: objectui#8327.5587717012, Q2 option A) reads "one card per reader package (7 packages carry class-(a) reads)" — andplugin-treeis not one of those seven, because it carries zero class-(a) reads. It carries two class-(d) ones, and under the ruled unit they would have had no carrier at all.⇒ Filed because objectui#8327's own reason for existing is that "the remedy would be referenced in a closed thread and owned by nobody" — the failure its body records this lane paying for twice. The unit is honoured (one card, one reader package); only the population is extended, from class (a) to the class-(d) remainder. ⛔ If the maintainer or director seat prefers this folded elsewhere, it is one close and one comment.
⛔ Filed unassigned, not claiming. ⛔ No
domain:*, priority or type applied — routing and grading are triage's.The reads — measured at
origin/main154fe2aplugin-tree/src/ObjectTree.tsxdata571 ·navigation666ObjectTreePropsdeclaresschema: any— there is no annotated schema type to check against, at all⭐ Why these were NOT reported as "genuinely undeclared"
This is the discipline worth preserving from the census, and it is why class (d) exists as a class rather than being folded into class (a):
⇒ An absence returned by an instrument structurally unable to see a declaration is not a reading. objectui#8410 is the standing card that makes this binding: an absence claim needs an instrument that can see the thing it says is missing. Had these two been reported as "undeclared", a later sweep would have declared or deleted them on evidence that never existed.
The question, and its prerequisite
⛔ The declare-or-retire question cannot be asked yet. The prerequisite is mechanical and is this card's first item:
ObjectTreeProps.schema— replaceschema: anywith the real schema type. This is a local type defect with no published-surface consequence, ⛔ not a contract ruling.schema = {} as anyerasing a correct annotation), one key that looked undeclared turned out to be declared once the annotation was recovered —add, atpackages/types/src/record-components.ts:147.navigationhere is also the key that appears across four other packages with two different verdicts — see objectui#8652, objectui#8653, objectui#8651 — so once this read is answerable, it should be answered with that family rather than alone.The other class-(d) half
The remaining 3 of the 5 class-(d) reads are
plugin-charts'ObjectChart(props: any) and are carried on objectui#8650, which is one of the seven because that package also has class-(a) reads.Refs
objectui#8327 (census, unit ruling, full per-key table at comment
5587605667) · objectui#8410 (why an unanswerable read is reported, not guessed) · objectui#8650 (the other class-(d) half) · objectui#8652 · objectui#8653 · objectui#8651 · objectui#8347 · ADR-0049.