Dedup keywords: whose own docblock admits · inherited-and-optional from BaseSchema · stale tombstone premise · body?: never · published .d.ts docblock
Filed by the domain:ui execution seat (seat 3) as the carrier for a deliberate deferral in PR objectui#9895 (card objectui#6771), which PR objectui#9895's isolated at-tier contract reviews accepted only on condition that a carrier exist — raised on record comment 5733750066 and re-confirmed as a carrier-backed deferral on record comment 5734518119, both on PR objectui#9895. ⭐ The delivering dev correctly declined to file it — its contract forbids POST /issues — and named the conflict instead of picking a side; filing it is the seat's step. ⛔ Unassigned, ungraded, ⛔ no domain:* — routing is the triage seat's.
The defect
packages/types/src carries 137 per-component docblocks across 12 files that justify their key's status with a premise about BaseSchema that BaseSchema now contradicts. The sentence, verbatim from one of them:
body and children are inherited-and-optional from {@link BaseSchema}, whose own docblock admits "some components use children instead of body" without saying which — so authoring either here type-checked, parsed green through .passthrough(), and rendered NOTHING…
⚠️ On the same tree, BaseSchema.body reads body?: never with @deprecated Retired spelling of children— authorchildren. ⇒ the opening clause is present-tense and false: body is no longer inherited-and-optional, and BaseSchema's docblock no longer admits the two-spelling ambiguity — the retirement removed exactly that. (The clause that follows it — "authoring either here type-checked … rendered NOTHING" — is past tense and remains true as history, which is why this is a stale premise and ⛔ not an outright falsehood.)
⭐ They ship. These are JSDoc on exported members, so they reach the emitted .d.ts. A declarations consumer upgrading past this retirement is taught, 137 times, the premise the retirement exists to retire.
Measurement — re-derived in this seat, ⛔ not adopted from the report
Objectui 2e729bc6fcd4e2ca3e9dcc3f541b898fee300fab (PR objectui#9895's head), read 2026-09-18T18:09:19Z:
| probe |
pathspec |
reading |
git grep -c "whose own docblock admits" |
packages/types/src |
12 files, 137 sentences |
⭐ firing control — git grep -c "REFUSED BY NAME" |
same pathspec |
18 files, 158 hits |
absent-token control — qqzz_absent_token_9999 |
same pathspec |
0 files |
⇒ the 137 is a reading: the instrument fires on this tree and is silent on a token that is not there. The delivering dev's figure reproduces exactly.
Why it was deferred rather than fixed in objectui#9895
That PR is already 102 files. Rewriting 137 published docblocks is a second change with its own review surface, and folding it in would have widened a retirement PR into a docs sweep mid-review. ⛔ That reasoning is sound and is ⛔ not re-litigated here — the review's objection was never to the deferral, only to a deferral with nothing carrying it. This card is that carrier.
Not measured
⛔ Whether the same stale premise appears outside packages/types/src — only that pathspec was probed. ⛔ Whether any consumer has actually been misled; no instance is claimed. ⛔ What the replacement sentence should say: the honest rewrite has to distinguish the historical claim (true) from the present-tense one (false), and whether each of the 137 needs its own per-key argument or can cite one statement is the same question objectui#9930 puts to the maintainer for a different rule in the same package — so these two should probably be read together.
Refs: objectui#6771 · PR objectui#9895 · review records 5732059417 and 5734125317 · the dev's full measurement and control in PR comment 5734176024 · objectui#9930 (the open cite-vs-restate decision in this same package).
⚠️ Correction, 2026-09-18T18:36Z, by the seat that filed this card. The sentence above originally cited review record 5734125317. Verified at source: that comment's issue_url ends /issues/9926 — it is PR objectui#9926's record, a different pull request — while this card's deferral lives on PR objectui#9895, whose records are 5732059417, 5733750066 and 5734518119 (issue_url ending /issues/9895, read 2026-09-18T18:35:42Z). Caught by the third contract review of objectui#9895, ⛔ not by this seat.
⚠⚠ And it is the second cross-card false citation this seat has published this shift, after 5612089300 was cited as 「already on this card」 for objectui#6771 when it lives on objectui#7206. Both were caught by an at-tier review rather than by the seat. The practice change, stated so it can be checked against later cards: ⭐ every comment id this seat writes into a card or a verdict is fetched by id and its issue_url read in the same act — a comment id carries no repository or issue in its digits, so an id that looks right is not a reading. ⛔ Nothing else in this card was changed; its measurement, its controls and its conclusion stand.
Filed-by: session_01Xm4WFhEe5mwcgyqHjxR2hn (domain:ui seat 3, seat post objectui#9800)
⚠️ Attribution added 2026-09-18T19:03Z on H64 of the round-12 half-state patrol: this card carried a 「Filed by the … seat」 header and no session id, and GitHub's author field records the shared token class (os-sales) rather than the agent that wrote it. ⛔ The account is not the repair. ⛔ Nothing else in this card was changed.
Generated by Claude Code
Dedup keywords:
whose own docblock admits·inherited-and-optional from BaseSchema· stale tombstone premise ·body?: never· published.d.tsdocblockFiled by the
domain:uiexecution seat (seat 3) as the carrier for a deliberate deferral in PR objectui#9895 (card objectui#6771), which PR objectui#9895's isolated at-tier contract reviews accepted only on condition that a carrier exist — raised on record comment5733750066and re-confirmed as a carrier-backed deferral on record comment5734518119, both on PR objectui#9895. ⭐ The delivering dev correctly declined to file it — its contract forbidsPOST /issues— and named the conflict instead of picking a side; filing it is the seat's step. ⛔ Unassigned, ungraded, ⛔ nodomain:*— routing is the triage seat's.The defect
packages/types/srccarries 137 per-component docblocks across 12 files that justify their key's status with a premise aboutBaseSchemathatBaseSchemanow contradicts. The sentence, verbatim from one of them:BaseSchema.bodyreadsbody?: neverwith@deprecated Retired spelling ofchildren— authorchildren.⇒ the opening clause is present-tense and false:bodyis no longer inherited-and-optional, andBaseSchema's docblock no longer admits the two-spelling ambiguity — the retirement removed exactly that. (The clause that follows it — "authoring either here type-checked … rendered NOTHING" — is past tense and remains true as history, which is why this is a stale premise and ⛔ not an outright falsehood.)⭐ They ship. These are JSDoc on exported members, so they reach the emitted
.d.ts. A declarations consumer upgrading past this retirement is taught, 137 times, the premise the retirement exists to retire.Measurement — re-derived in this seat, ⛔ not adopted from the report
Objectui
2e729bc6fcd4e2ca3e9dcc3f541b898fee300fab(PR objectui#9895's head), read 2026-09-18T18:09:19Z:git grep -c "whose own docblock admits"packages/types/srcgit grep -c "REFUSED BY NAME"qqzz_absent_token_9999⇒ the 137 is a reading: the instrument fires on this tree and is silent on a token that is not there. The delivering dev's figure reproduces exactly.
Why it was deferred rather than fixed in objectui#9895
That PR is already 102 files. Rewriting 137 published docblocks is a second change with its own review surface, and folding it in would have widened a retirement PR into a docs sweep mid-review. ⛔ That reasoning is sound and is ⛔ not re-litigated here — the review's objection was never to the deferral, only to a deferral with nothing carrying it. This card is that carrier.
Not measured
⛔ Whether the same stale premise appears outside
packages/types/src— only that pathspec was probed. ⛔ Whether any consumer has actually been misled; no instance is claimed. ⛔ What the replacement sentence should say: the honest rewrite has to distinguish the historical claim (true) from the present-tense one (false), and whether each of the 137 needs its own per-key argument or can cite one statement is the same question objectui#9930 puts to the maintainer for a different rule in the same package — so these two should probably be read together.Refs: objectui#6771 · PR objectui#9895 · review records
5732059417and5734125317· the dev's full measurement and control in PR comment5734176024· objectui#9930 (the open cite-vs-restate decision in this same package).5734125317. Verified at source: that comment'sissue_urlends/issues/9926— it is PR objectui#9926's record, a different pull request — while this card's deferral lives on PR objectui#9895, whose records are5732059417,5733750066and5734518119(issue_urlending/issues/9895, read 2026-09-18T18:35:42Z). Caught by the third contract review of objectui#9895, ⛔ not by this seat.⚠⚠ And it is the second cross-card false citation this seat has published this shift, after
5612089300was cited as 「already on this card」 for objectui#6771 when it lives on objectui#7206. Both were caught by an at-tier review rather than by the seat. The practice change, stated so it can be checked against later cards: ⭐ every comment id this seat writes into a card or a verdict is fetched by id and itsissue_urlread in the same act — a comment id carries no repository or issue in its digits, so an id that looks right is not a reading. ⛔ Nothing else in this card was changed; its measurement, its controls and its conclusion stand.Filed-by:
session_01Xm4WFhEe5mwcgyqHjxR2hn(domain:uiseat 3, seat post objectui#9800)os-sales) rather than the agent that wrote it. ⛔ The account is not the repair. ⛔ Nothing else in this card was changed.Generated by Claude Code