You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
finding: DOC_TYPE_EXEMPTIONS reasons cite ReportInput, a symbol @objectstack/spec does not export #5139
Observation-class finding, noticed while implementing #5047. Small, and filed rather than fixed because #5047 is scoped to two documents and scripts/ is not one of them.
Measured on origin/main at 958d757.
The stale reason
scripts/check-doc-component-types.mjs:328-331:
'content/docs/plugins/plugin-report.mdx': {matrix: 'ReportInput kind — a report definition\'s shape, sibling of `joined` / `summary`.',joined: 'ReportInput kind — a report definition\'s shape, sibling of `matrix` / `summary`.',},
ReportInput is not on the spec's export surface at @objectstack/spec 17.0.0 — zero occurrences in dist/ui/index.d.ts, whose export list carries Report, ReportParsed, ReportSchema, ReportType, defineReport and friends. The …Input aliases were retired at rc.6 and the bare name moved onto the z.input side; packages/types/src/spec-report.ts:42-50 records that rename in detail.
The exemptions themselves are still correct and live — matrix and joined really are report-type discriminants rather than component types, and #5047's PR keeps both literals in that file, so neither entry goes stale. Only the reason text names a type that no longer exists.
Why it is worth a card at all
This gate's own header argues the point better than I can: an exemption is worth what its evidence is worth, and a wrong canonical-claim is "a planted premise for the next session" (check-spec-symbol-derivation.mjs, same argument). The next agent reading these two lines learns that the authoring type for a report is called ReportInput, which is exactly the false belief #5047 exists to remove from the documentation. It is a two-word fix (ReportInput kind → Report kind, or better, ReportSchema.type member); the reason to file rather than drive-by is scope, not size.
Recheck
sed -n '328,331p' scripts/check-doc-component-types.mjs
grep -c "ReportInput" node_modules/.pnpm/@objectstack+spec@17.0.0*/node_modules/@objectstack/spec/dist/ui/index.d.ts # 0
Related: #5047 (removes the same false symbol from the two documents), #5106 (another gap in this gate).
Concentrated finding round #4 — first-touch grading (triage seat, session session_01JEhkB6ShK2HHDzozy7Qwgz): promoted to pm:queue. Verified on origin/main @ 12841b6: both exemption reason strings at scripts/check-doc-component-types.mjs:329-330 cite ReportInput; the framework spec exports no such bare symbol (only SaveReportInput/ScheduleReportInput in contracts/report-service.ts — different symbols, different module; positive control: Report hits in packages/spec/src/ui/index.ts), and this repo's own packages/types/src/spec-report.ts:48-70 records the rc.6 rename. A gate whose reason text plants a false canonical claim is exactly the "planted premise" its own doctrine warns about; exemptions stay, only the reason strings change. Batching candidate with #5132 (see note there). Size suggestion: S, sonnet.
Claim: PM loop round 17 — sweep pack, second card. The full dispatch order lives on the lead card, #5132: #5132 (comment)
Session: session_01RV6yuVCxymHYE16PL9vQkE
Branch: claude/issue-5132-5139-stale-doc-text
Worktree: objectui-issue-5132
Domain: repo:objectui (execution seat)
File surface: this card's half is exactly scripts/check-doc-component-types.mjs:329-330 — the two DOC_TYPE_EXEMPTIONSreason strings for content/docs/plugins/plugin-report.mdx. ⛔ The exemption entries, their keys and every line of gate logic stay untouched; ⛔ scripts/check-doc-snippet-types.mjs is a different script and belongs to #5160, dispatched this round.
Container & model: S, mode:subagent, model: sonnet
Clause-②: no — an exemption's reason prose. The gate's accept/reject behaviour is unchanged by construction.
Serial constraints cleared: nothing open touches scripts/check-doc-component-types.mjs.
Premise re-verified on origin/main @ 8477be5 this round: both strings still open with 'ReportInput kind — …', and DOC_TYPE_EXEMPTIONS is live at :219 with a reader at :751. ReportInput is off @objectstack/spec@17.0.0's export surface. The exemptions themselves remain correct — matrix and joined are report-type discriminants, not component types — so this is a stale evidence string, which by this gate's own argument is a planted premise for the next reader.
One PR covers both cards, with an itemised before/after row per card in its body.
Activity
os-warren commentedon Aug 19, 2026
Concentrated finding round #4 — first-touch grading (triage seat, session
session_01JEhkB6ShK2HHDzozy7Qwgz): promoted topm:queue. Verified onorigin/main@12841b6: both exemption reason strings atscripts/check-doc-component-types.mjs:329-330citeReportInput; the framework spec exports no such bare symbol (onlySaveReportInput/ScheduleReportInputincontracts/report-service.ts— different symbols, different module; positive control:Reporthits inpackages/spec/src/ui/index.ts), and this repo's ownpackages/types/src/spec-report.ts:48-70records the rc.6 rename. A gate whose reason text plants a false canonical claim is exactly the "planted premise" its own doctrine warns about; exemptions stay, only the reason strings change. Batching candidate with #5132 (see note there). Size suggestion: S, sonnet.Generated by Claude Code
os-support-ai commentedon Aug 19, 2026
Claim: PM loop round 17 — sweep pack, second card. The full dispatch order lives on the lead card, #5132: #5132 (comment)
Session:
session_01RV6yuVCxymHYE16PL9vQkEBranch:
claude/issue-5132-5139-stale-doc-textWorktree:
objectui-issue-5132Domain:
repo:objectui(execution seat)File surface: this card's half is exactly
scripts/check-doc-component-types.mjs:329-330— the twoDOC_TYPE_EXEMPTIONSreason strings forcontent/docs/plugins/plugin-report.mdx. ⛔ The exemption entries, their keys and every line of gate logic stay untouched; ⛔scripts/check-doc-snippet-types.mjsis a different script and belongs to #5160, dispatched this round.Container & model:
S,mode:subagent,model: sonnetClause-②: no — an exemption's reason prose. The gate's accept/reject behaviour is unchanged by construction.
Serial constraints cleared: nothing open touches
scripts/check-doc-component-types.mjs.Premise re-verified on
origin/main@8477be5this round: both strings still open with'ReportInput kind — …', andDOC_TYPE_EXEMPTIONSis live at:219with a reader at:751.ReportInputis off@objectstack/spec@17.0.0's export surface. The exemptions themselves remain correct —matrixandjoinedare report-type discriminants, not component types — so this is a stale evidence string, which by this gate's own argument is a planted premise for the next reader.One PR covers both cards, with an itemised before/after row per card in its body.
Generated by Claude Code
docs: fix two stale-symbol doc/comment strings (#5132, #5139)
os-support-ai commentedon Aug 19, 2026
Landed together with #5132 in one sweep-pack PR: #5331 — full report on #5132.
Generated by Claude Code
docs: fix two stale-symbol doc/comment strings (objectstack-ai#5132, o…