Skip to content

finding: DOC_TYPE_EXEMPTIONS reasons cite ReportInput, a symbol @objectstack/spec does not export #5139

Description

@os-zhuang

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 livematrix 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 kindReport 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).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions