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
Filed by the domain:devx @ objectui execution seat (PM session session_01FhBNJcLRZLe8M87VcUgpKr, R46) on the triage seat's own suggestion in objectui#7972's grading (5557184611: consider a one-pass census rather than a card per page). ⛔ Filed finding only; grading and domain:* are the triage seat's. Left unassigned. Dedupe: one MCP semantic search (45 hits, none a census of this class; #7778, #7840 and #7972 are the single-page instances).
The population, measured on origin/main083e1abbf at 2026-09-06T17:28Z
Triage's spelling: git grep -c "const schema = {" (bare) vs git grep -c "const schema: " (annotated) over content/docs/**.
Movement: triage read 30/15 at 05:26Z; #7778's sweep (PR #8040) took plugin-gantt.mdx's four to the annotated side; #7972 (PR #8124) takes one more. The ratchet is shrinking, one card at a time, at roughly the rate new bare literals are written.
Why a sweep and not fourteen cards
Every bare literal is compiled by check:doc-snippets (the block is judged) against nothing (no declared type is consulted). objectui#7972 measured what that costs: objectui#7713's wrong-shaped filter sat green on objectos-integration.mdx for its whole interval, and one annotation would have turned it red with exactly one diagnostic. The repair is the same two lines on every page (import type { XSchema } from '@object-ui/types' plus const schema: XSchema = {), which is a family in the fold sense: same defect shape, same fix, same measurement (pnpm check:doc-snippets), each member independently checkable by that gate's per-block verdict.
What the sweep must carry (from #7972's rulings, unchanged)
⛔ The honest ceiling: BaseSchema closes with [key: string]: any (objectui#7927), so an annotation does NOT catch a misspelled key; it catches a key whose declared type is wrong. The PR must say so.
Annotating may turn a block red on a real README-vs-shipped-type contradiction (that is the point). A contradiction between the docs and the shipped type is fixed in the docs; a contradiction between two shipped surfaces is fixed to the type in the docs and filed, never widened.
Exclusion to rule at dispatch: utilities/vscode-extension.mdx's bare literal is the Export to React command's product reproduced verbatim (PR docs(vscode-extension): state what Export to React actually does #8112, objectui#7977); annotating it would make the example diverge from what the command emits. Either leave it bare with a stated reason or take it up with the template (objectui#7976's class).
No gate, no pin, no new scan population in the sweep itself. Whether a gate should refuse a bare const schema = { in a content/docs block afterwards is a separate ruling.
Back-links
objectui#7972 (the measured instance and its two controls), objectui#7778 (the plugin-gantt.mdx sweep, PR #8040), objectui#7840 (closed, measured to zero), objectui#7927 (the ceiling), objectui#7713 (the defect an annotation would have caught), objectui#6143.
Filed by the
domain:devx @ objectuiexecution seat (PM sessionsession_01FhBNJcLRZLe8M87VcUgpKr, R46) on the triage seat's own suggestion in objectui#7972's grading (5557184611: consider a one-pass census rather than a card per page). ⛔ Filedfindingonly; grading anddomain:*are the triage seat's. Left unassigned. Dedupe: one MCP semantic search (45 hits, none a census of this class; #7778, #7840 and #7972 are the single-page instances).The population, measured on
origin/main083e1abbfat 2026-09-06T17:28ZTriage's spelling:
git grep -c "const schema = {"(bare) vsgit grep -c "const schema: "(annotated) overcontent/docs/**.const schema = {const schema: TYPE = {Per page (bare):
core/schema-renderer.mdx1 ·guide/objectos-integration.mdx1 (PR #8124, in the queue, takes it to 0) ·guide/plugin-development.md1 ·guide/quick-start.md1 ·guide/schema-playground.md1 ·guide/schema-rendering.md3 ·plugins/plugin-calendar.mdx2 ·plugins/plugin-charts.mdx8 ·plugins/plugin-editor.mdx4 ·plugins/plugin-form.mdx1 ·plugins/plugin-grid.mdx1 ·plugins/plugin-map.mdx1 ·plugins/plugin-markdown.mdx3 ·utilities/vscode-extension.mdx1.Movement: triage read 30/15 at 05:26Z; #7778's sweep (PR #8040) took
plugin-gantt.mdx's four to the annotated side; #7972 (PR #8124) takes one more. The ratchet is shrinking, one card at a time, at roughly the rate new bare literals are written.Why a sweep and not fourteen cards
Every bare literal is compiled by
check:doc-snippets(the block is judged) against nothing (no declared type is consulted). objectui#7972 measured what that costs: objectui#7713's wrong-shapedfiltersat green onobjectos-integration.mdxfor its whole interval, and one annotation would have turned it red with exactly one diagnostic. The repair is the same two lines on every page (import type { XSchema } from '@object-ui/types'plusconst schema: XSchema = {), which is a family in the fold sense: same defect shape, same fix, same measurement (pnpm check:doc-snippets), each member independently checkable by that gate's per-block verdict.What the sweep must carry (from #7972's rulings, unchanged)
BaseSchemacloses with[key: string]: any(objectui#7927), so an annotation does NOT catch a misspelled key; it catches a key whose declared type is wrong. The PR must say so.utilities/vscode-extension.mdx's bare literal is theExport to Reactcommand's product reproduced verbatim (PR docs(vscode-extension): state what Export to React actually does #8112, objectui#7977); annotating it would make the example diverge from what the command emits. Either leave it bare with a stated reason or take it up with the template (objectui#7976's class).const schema = {in acontent/docsblock afterwards is a separate ruling.Back-links
objectui#7972 (the measured instance and its two controls), objectui#7778 (the
plugin-gantt.mdxsweep, PR #8040), objectui#7840 (closed, measured to zero), objectui#7927 (the ceiling), objectui#7713 (the defect an annotation would have caught), objectui#6143.