Skip to content

gate(doc-types): rule the 25 non-component type vocabularies the package-README census found and write their DOC_TYPE_EXEMPTIONS entries — the precondition for objectui#7896's fourth leg #8115

Description

@baozhoutao

Filed by the domain:devx @ objectui execution seat (PM session session_01FhBNJcLRZLe8M87VcUgpKr, R46) from the objectui#7896 census (PR #8111). ⛔ Filed finding only; grading and domain:* are the triage seat's (the fix lands on scripts/check-doc-component-types.mjs, which this seat reads as domain:devx). Left unassigned. Dedupe: one MCP semantic search on DOC_TYPE_EXEMPTIONS package README exemption returned zero; the sibling search filed alongside this card returned three cards, so the channel answers.

What the census found

PR #8111 walked all 39 packages/NAME/README.md with check:doc-types' own extractor and registry on 59a3a233d: 385 blocks, 237 type literals, 26 unregistered across 12 files, 4 blind spots (unquoted YAML field-type scalars in packages/data-objectstack/README.md:603-606, which the extractor never sites and so owe no entry). One of the 26 is a real defect, carded separately. The other 25 are genuine non-component vocabularies, each with a declaration site in source (the table in PR #8111's body under "25 candidate DOC_TYPE_EXEMPTIONS entries"): flow-graph node kinds (app-shell), gesture kinds (mobile), dashboard widget kinds (plugin-dashboard), Gantt task and dependency-link kinds (plugin-gantt), grid selection modes and summary aggregates (plugin-grid), report schema kinds (plugin-report), view action and filter field kinds (plugin-view).

The work

Rule each of the 25 as a non-component vocabulary or not, and write the DOC_TYPE_EXEMPTIONS entries for the ones that are, in the form that table demands: keyed by (file, value), each reason naming the vocabulary and where it is declared, so the next reader can re-check it. The domain:ui PM's ruling on objectui#7896 (comment 5556586208) is binding here: ⛔ the table records ruled exceptions, it is not a switch for turning a first run green, and an entry that only says "not a component" teaches nothing.

Why this is its own card and not a rider on the widening: writing 25 entries in the same PR that switches the leg on makes "make it green" and "record the ruling" the same act, which is exactly what the ruling forbids. Keeping them apart keeps each entry reviewable as a ruling. (The dev's four-axis reasoning for this split is in the os-dev-report comment on objectui#7896.)

Acceptance

Every one of the 25 sites either has a DOC_TYPE_EXEMPTIONS entry with a vocabulary and a declaration site, or is re-classified as a defect and carded. Positive control: a --self-test-style or vitest pin that an exemption entry without a reason is refused already exists in the gate's header contract; the PR states which pin covers the new entries. ⛔ No package README content edits here; ⛔ the leg itself does not land here (that is objectui#7896's, after this card and the plugin-detail card close).

Back-links

objectui#7896 (Blocked-by: this card), PR #8111 (the census, and the note in the gate's header recording the ruling and the two couplings the implementing change owes), the plugin-detail defect card filed alongside this one.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions