Skip to content

docs(changesets): say what objectui check does with a bare document in three pending changesets, and name objectui validate for the verdict (objectui#10606) - #10642

Merged
objectstack-fleet[bot] merged 4 commits into
mainfrom
claude/issue-10606-check-bare-doc-changesets
Sep 25, 2026
Merged

objectstack-fleet[bot] merged 4 commits into
mainfrom
claude/issue-10606-check-bare-doc-changesets

Conversation

@objectstack-fleet

@objectstack-fleet objectstack-fleet Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #10606
Clause-②: no

Release text only. Three pending changesets told an author that objectui check reports a bare retired type key as unknown: { "type": "line-chart" } (8760), { "type": "view:dashboard" } (9533) and bare map (10393). check prints that warning only for a file it recognises. A root with no structural key that does not validate, and whose type is off the known-type list check reads, is counted as skipped, and the run exits 0. Each sentence is corrected in the objectui#10533 dated-note form, with the front matter byte-identical, and names objectui validate for the verdict. check itself is unchanged: whether it should parse the files it admits is objectui#6318's open question.

The house wording is PR objectui#10523's: check checks the type of each file it recognises, and a file whose root carries an ObjectUI structural key (children, className, body, …) is recognised by that key alone. A file with none of those keys is parsed against the schema. It is listed by name when its root type is on the known-type list and the document does not validate, and is otherwise counted as skipped. check exits non-zero on unreadable JSON only.

What changed

file change
.changeset/8760-unfulfilled-chart-stubs.md The Breaking paragraph no longer says objectui check reports Unknown schema type "line-chart". It now says objectui validate refuses the document at type (invalid_union). A new ⚠️ **Dated note, 2026-09-25 — … — objectui#10606.** records the correction and says what check does with the bare document and with a structural one.
.changeset/9533-dashboard-bare-key-converge-plugin-namespace.md The Breaking for authored metadata paragraph no longer says check reports { "type": "view:dashboard" } as unknown. It names objectui validate instead. In What changed, "objectui check names it rather than blessing it" is scoped to "names it in a file it recognises". One dated note, after the first paragraph, covers both sentences.
.changeset/10393-retire-bare-map-key.md The @object-ui/cli bullet's "so the check now flags it" becomes "so the check now reports map as an unknown schema type in a file it recognises". A dated note follows the bullet list and names objectui validate for the verdict. Round 2: the same bullet's view:map clause, "and objectui check does not flag it", now says check does not report view:map as an unknown schema type in a file it recognises, and that a bare { "type": "view:map" } is listed in check's advisory did-not-validate list instead.

Front matter md5 before (at base 5add18a67) and after, per file, identical:

file md5 of the front matter block
8760-unfulfilled-chart-stubs.md 24d9e155a9fe760e502862226ced2ba3
9533-dashboard-bare-key-converge-plugin-namespace.md 04b5781f09530b1c4efda2273bc5a87a
10393-retire-bare-map-key.md 02a248bf14464234d9665bad2c91931b

The 10393 md5 is the same again at the round-2 head 7467d4e39. check-changeset-overwrite prints the same declared-at-base / declares-now pair for all three files (quoted under Gates).

Measurement on base 5add18a67

I built the CLI with pnpm --workspace-concurrency=2 --filter "@object-ui/cli..." build under the verify lock (VERDICT command-exit 0). Each probe document sat alone in its own directory, and check ran with that directory as cwd.

document objectui check over its directory objectui validate FILE
{ "type": "line-chart" } Skipped 1 file with a root "type" that no ObjectUI recogniser admitted., then ✓ All checks passed, exit 0. No unknown-type line. exit 1: Path: type, Code: invalid_union, No arm accepts type "line-chart".
control { "type": "line-chart", "className": "h-64" } ⚠️ Unknown schema type "line-chart" in line-chart-structural.json, exit 0 exit 1, same error
{ "type": "view:dashboard" } Skipped 1 file …, exit 0. No unknown-type line. exit 1: Path: type, Code: invalid_union, No arm accepts type "view:dashboard".
control { "type": "view:dashboard", "className": "h-64" } ⚠️ Unknown schema type "view:dashboard" in view-dashboard-structural.json, exit 0 exit 1, same error
{ "type": "map" } Skipped 1 file …, exit 0. No unknown-type line. exit 1: Path: type, Code: invalid_union, No arm accepts type "map".
control { "type": "map", "className": "h-64" } ⚠️ Unknown schema type "map" in map-structural.json, exit 0 exit 1, same error

validate refuses all three bare documents at type. It does not name a replacement spelling. Its "Nearest … accepted types" hint lists chart for line-chart and dashboard for view:dashboard, and nothing close to object-map for map. So the corrected sentences say only that validate refuses the document at type (invalid_union) and exits non-zero.

Why "corrected", not "at this change"

None of the three sentences was ever true of the bare document it quotes. The recognition gate landed before all three changes: git merge-base --is-ancestor 7dc08a3e7 X exits 0 for X = 6a4680b57 (8760), e356c39ee (9533) and 64563a915 (10393). 7dc08a3e7 is the validity-recogniser commit (objectui#6322), and it sits on top of the marker gate. Exit 0 is self-proving, so no control leg is needed; the checkout is not shallow. At each of those commits check.ts has the OBJECTUI_STRUCTURAL_KEYS.some((key) => key in content) || recogniser and the skipped++ branch. So I followed #10595's route for sentences that were never true: the sentence is corrected, and the dated note records the correction. The objectui#10533 "at this change" scoping would have asserted a false history.

H4: other pending changesets that name check near a diagnostic

Sweeps, run against origin/main, with both the file list and the contents read from that ref:

  1. The dispatch grep git grep -n -E "objectui check|\bcheck\b.*(reports|flags|refuses|Unknown schema type)" origin/main -- .changeset.
  2. A paragraph-level node scan across line breaks: a paragraph that names the CLI (objectui check, backticked check, the check, check command) together with unknown, flag, warn, report, names it, bless or unrecognised. It matched 25 paragraphs. I re-ran it at main 98b1a7cac after fetching, and it matched the same 25.
  3. git grep -i -E "unknown schema type|unknown-type|as unknown|flags? (it|them|the|a|bare)" over .changeset/ at main 98b1a7cac.

The test for each hit: does it promise a check diagnostic on a document with no structural root key? Every hit I read, with its verdict:

hit verdict
8760 Breaking paragraph changed (above)
9533 Breaking paragraph, and "names it rather than blessing it" in What changed changed (above)
10393 @object-ui/cli bullet, "so the check now flags it" changed (above)
10393 same bullet, view:map "objectui check does not flag it" changed in round 2. A bare { "type": "view:map" } is flagged by name in the advisory did-not-validate list, so the absence claim was false.
8802 "objectui check will NOT flag either namespaced spelling" stands. It claims an absence and promises no diagnostic.
unknown-component-type-case-suggestion-5247 "objectui check reports Unknown schema type "Page" in FILE — did you mean "page"?" stands. It gives the text of the warning, framed as "both surfaces that report the miss", and quotes no document. (Here FILE stands for the angle-bracket placeholder the entry prints, which GitHub deletes from a body.)
9641 (four paragraphs: "Stop objectui check reporting five real page types as unknown", and so on) stands. It describes a false positive being removed and promises no diagnostic.
check-schema-positive-marker-and-skip-count (two paragraphs), 6075, 7004, 6074 stand. They describe the marker gate, the validity recogniser and the skip count themselves.
8499 "Downstream. objectui check stops reporting these documents", 7113 (chart: 2 census), 6939 ("counts four for this row") stand. They are about the advisory list; #10595 read them the same way.
6051, 8344, 7546 stand. They say check / validate call safeValidateSchema, which is true of the validity arm.
7694, 10478, 6475, 8466, 8505, 8572, 9239, 9511, 9559, 9746, 10524 #10595 already reconciled these (the validation-verdict family, objectui#10524 dated notes). None of them promises the unknown-type warning on a bare document.
6320 stands. It is about the glob ignore list.
6143, 6296, 6426, 6559, 6577, 7122, 7282, 7804, 8557, 9126, 9497, 9653, 9659, 9743, 9922, curly-hoops-attack, issue-5709-…, nine-holdouts-six-narrow, tidy-pumas-repeat not the CLI. They name another check* script, a gate or the plain word.

So no H4 hit beyond the three named files.

Gates at head c9ef2ce5d

The diff touches only .changeset/*.md. No workspace package changed, so there is no dependency-closure build and no package type-check or test run to owe. The CLI build above was for the measurement only. The families below come from objectui's own package.json and .github/workflows/: changeset-guard.yml (no-major, overwrite), changeset-presence.yml (presence, claims), ci.yml (fixed), control-bytes.yml, line-citation-gate.yml, and the check:* scripts that read .changeset/**.

gate verdict line exit
node scripts/check-changeset-presence.mjs ✅ No source or published contract of a released package changed in this range, so no changeset is owed. 0
node scripts/check-changeset-overwrite.mjs (report-only) ⚠️ This change touches 3 changeset(s) it did not add. For all 3 files the declared-at-base line equals the declares-now line. 0
node scripts/check-changeset-no-major.mjs ✅ No changeset declares a `major` bump. 0
node scripts/check-changeset-fixed.mjs ✅ All workspace packages are in the changeset fixed group. 0
node scripts/check-changeset-claims.mjs (report-only) ✅ Every package declared across those 3 body(ies) is either not negated … and ✅ No pending changeset names a file this change touches. 0
pnpm check:new-line-citations VERDICT new-cross-file-line-citations: 0 new citation(s), enforcement report-only -> exit 0 0
pnpm check:control-bytes ✅ check-control-bytes: OK (scanned 8726 tracked text file(s); skipped 85 binary). 0
pnpm check:pending-changeset-literals ✅ No test source names a pending changeset. 0
pnpm check:installed-pin-claims OK 0
pnpm check:vi-mock-override-shape ✅ check-vi-mock-override-shape: OK … 0
node scripts/markdown-test-inputs.mjs --changed (the three paths) lists all three: they fall under the .changeset/** input class of check-changeset-no-major.test.ts and dollar-dialect-alias-census.test.ts 0

The two tests that read .changeset/**, pnpm exec vitest run --maxWorkers=2 scripts/__tests__/check-changeset-no-major.test.ts scripts/__tests__/dollar-dialect-alias-census.test.ts under the verify lock: Test Files 2 passed (2), Tests 44 passed (44), VERDICT command-exit 0.

git merge-tree --write-tree HEAD origin/main (main at 98b1a7cac) exits 0. Main has not changed any of the three files since base.

H5: overwrite gate route. #10595 cleared check-changeset-overwrite as report-only (its PR body quotes the same ⚠️ This change touches 11 changeset(s) it did not add line, exit 0). No allow-list, no trailer and no gate label was involved. changeset-guard.yml runs the script without OS_CHANGESET_OVERWRITE_ENFORCE. This PR takes the same route: case 2 of the script's own text, "prose that no longer matches the change". No pin is owed: this PR changes changeset prose only.

Round 2, head 7467d4e39

The contract review of c9ef2ce5d found one false sentence, and measured it. In 10393, the view:map clause "and objectui check does not flag it" was false for a bare document. { "type": "view:map" } prints the advisory header ⚠️ 1 file carries a registered ObjectUI component type but did not validate as an ObjectUI schema:, then view-map.json (type "view:map") on the next line, exit 0. With "className": "h-64" it prints nothing. The clause now reads, rewrapped to the file's width: "and objectui check does not report it as an unknown schema type in a file it recognises. A bare { "type": "view:map" } with no structural key is listed in check's advisory did-not-validate list instead, because view:map is on the known-type list and AnyComponentSchema has no arm for it; that line does not say the node renders a placeholder. Search documents for view:map directly." packages/types/src/ has no view:map literal (positive control: object-map has 3 hits in zod/objectql.zod.ts). The file's dated note already says a non-validating file is listed by name when its type is on the known-type list, so it agrees with the new clause and is unchanged. Front matter md5 02a248bf14464234d9665bad2c91931b at 5add18a67, c9ef2ce5d, 7467d4e39 and 3f0f8eca3.

Round 3, head 3f0f8eca3: "because view:map is on that list" became "because view:map is on the known-type list". "That list" followed the advisory did-not-validate list and could be read as naming it. No other byte changed. At that head, check-changeset-presence, check-changeset-no-major and check-control-bytes print the same verdict lines as in the table below, each with exit 0. git merge-tree --write-tree HEAD origin/main (main at f99f9cde7) exits 0.

gate at 7467d4e39 verdict line exit
node scripts/check-changeset-presence.mjs ✅ No source or published contract of a released package changed in this range, so no changeset is owed. 0
node scripts/check-changeset-no-major.mjs ✅ No changeset declares a `major` bump. 0
node scripts/check-control-bytes.mjs ✅ check-control-bytes: OK (scanned 8726 tracked text file(s); skipped 85 binary). 0
the two .changeset/**-reading tests, under the verify lock Test Files 2 passed (2), Tests 44 passed (44), VERDICT command-exit 0 0

git merge-tree --write-tree HEAD origin/main (main at 4a3d500fd) exits 0. Main has not changed any of the three files since base.

Acceptance notes

These are not filed.

  • This one is read from source and not measured. At each change's parent, the retired key was on the CLI's known-type list (known-schema-types.ts has the literal at 6a4680b57^, e356c39ee^ and 64563a915^), and packages/types/src/zod/ has no literal for it. So the same bare document was then most likely listed in the advisory "did not validate" list, and the retirement moved it into the silent skipped count. That bears on objectui#6318's open question and is not acted on here.

Written by the dispatched dev for the domain:ui seat 2, session https://claude.ai/code/session_014mXUNuFomfj24w7s1pZzhN.


Generated by Claude Code

…recognises; name `objectui validate` for the verdict

Three pending changesets said `objectui check` reports a bare retired
type key as unknown: `{ "type": "line-chart" }` (8760),
`{ "type": "view:dashboard" }` (9533) and bare `map` (10393). `check`
prints that warning only for a file it recognises, and a root with no
structural key that does not validate and whose type is off the
known-type list is counted as skipped, exit 0. Each sentence is
corrected in the dated-note form, frontmatter byte-identical, and
names `objectui validate` for the verdict. No change to `check`.

Claude-Session: https://claude.ai/code/session_014mXUNuFomfj24w7s1pZzhN
Co-authored-by: Claude <noreply@anthropic.com>
…list for a bare document

A bare `{ "type": "view:map" }` is listed in `check`'s did-not-validate
advisory list, so "`objectui check` does not flag it" was false. The
sentence now scopes the claim to the unknown-type warning in a file
`check` recognises and says what a bare document gets instead.
Frontmatter byte-identical.

Claude-Session: https://claude.ai/code/session_014mXUNuFomfj24w7s1pZzhN
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Contract review

Served-tier: CONTRACT_REVIEW_TIER
Head-sha: c9ef2ce5d717b0f0fdce194aece031e5c2837592

① Derived judgments

  • Measured on a scratch-worktree build of the head (pnpm install --frozen-lockfile --prefer-offline exit 0, pnpm --filter "@object-ui/cli..." build exit 0, worktree removed afterwards; main checkout untouched, git status clean). Each probe alone in its own directory, check run with that directory as cwd:
    • { "type": "line-chart" }, { "type": "view:dashboard" }, { "type": "map" }: each prints Skipped 1 file with a root "type" that no ObjectUI recogniser admitted. then ✓ All checks passed, exit 0, no unknown-type line.
    • Controls with "className": "h-64": ⚠️ Unknown schema type "line-chart" in line-chart-structural.json (likewise view:dashboard, map), exit 0.
    • objectui validate on all six: exit 1, Path: type, Code: invalid_union, No arm accepts type "X". — so "refuses the document at type (invalid_union) and exits non-zero" is correct in every corrected sentence and note.
    • Dev's extra reading confirmed: bare { "type": "view:map" } prints ⚠️ 1 file carries a registered ObjectUI component type but did not validate as an ObjectUI schema: view-map.json (type "view:map"), exit 0 — advisory list, not skipped; { "type": "view:map", "className": "h-64" } prints nothing; validate on bare view:map exits 1 at type, invalid_union. Control bare { "type": "dashboard" } also lands in the advisory list.
    • Known-type list at head (packages/cli/src/utils/known-schema-types.ts): 0 literals for line-chart, view:dashboard, map; 1 for view:map (line 657). So every note's "counted as skipped" is true for the three documents; no note says "skips" where the truth is "lists", nor the reverse. The notes' recogniser description matches check.ts lines 143-148, 287-311, 351-356 exactly, and reuses PR docs(cli): say what objectui check does; point to objectui validate for the verdict #10523's wording (content/docs/guide/schema-rendering.md lines 448-454, content/docs/utilities/cli.mdx lines 197-213) faithfully.
  • One untouched sentence in an edited bullet is false for the bare document and is now contradicted by the PR's own note. .changeset/10393-retire-bare-map-key.md line 48-49 (head) still says of view:map: "and objectui check does not flag it". Measured above: a bare { "type": "view:map" } IS flagged, by name, with a ⚠️ line. The new dated note four lines below says a non-validating file "is listed by name when its root type is on that known-type list", and the same bullet says view:map "stays on that list", so the entry now states the contradiction itself. The PR reworded the first sentence of this very bullet to "in a file it recognises" and left the second unscoped; the dev measured it (Acceptance notes) and left it. Changesets publish verbatim: this must be fixed. Exact replacement for the clause "and objectui check does not flag it. Search documents for view:map directly.":
    "and objectui check does not report it as an unknown schema type in a file it recognises. A bare { "type": "view:map" } with no structural key is listed in check's advisory did-not-validate list instead, because view:map is on that list and AnyComponentSchema has no arm for it; that line does not say the node renders a placeholder. Search documents for view:map directly."
  • "Corrected, not scoped" is right. 7dc08a3e7 = 2026-08-25 "feat(cli): recognise ObjectUI schemas by validity, and report the broken ones (feat(cli): recognise ObjectUI schemas by validity, and report the broken ones #6322)". git merge-base --is-ancestor 7dc08a3e7 X exit 0 for X = 6a4680b57 (2026-09-12, fix(console,cli,docs): retire three chart keys registered as stubs the charts plugin never fulfils #9225, first add of 8760), e356c39ee (2026-09-18, fix(plugin-dashboard,cli): converge the bare dashboard key on plugin-dashboard, retire view:dashboard with a by-name tombstone #9803, first add of 9533), 64563a915 (2026-09-25, feat(plugin-map)!: retire the bare map node type key; object-map is the one spelling (objectui#10393) #10540, first add of 10393); control is-ancestor 7dc08a3e7 7dc08a3e7^ exit 1; repo not shallow. check.ts at all three commits has the structural-key recogniser, the skipped++ branch and the isUnvalidatedCandidate bucket; check.ts and validate.ts are byte-identical from 64563a915 to the head. PR fix(cli,types): say what objectui check does; name objectui validate for the verdict (objectui#10524) #10595's body took the same route: "for the other ten I did not use 'at this change' scoping. Those sentences were never true of check, so scoping them would assert a false history."
  • Frontmatter byte-identical (md5 of the --- block at base 5add18a67 and at head): 8760 24d9e155a9fe760e502862226ced2ba3, 9533 04b5781f09530b1c4efda2273bc5a87a, 10393 02a248bf14464234d9665bad2c91931b.
  • Sweep at main 4a3d500fd (git grep over .changeset for objectui check and check near reports/flags/refuses/Unknown schema type, plus unknown-type phrasings): no other pending changeset promises a check diagnostic on a bare-root document. Read and standing: unknown-component-type-case-suggestion-5247 (quotes the warning text, no document quoted), 9641 (removes a false positive, promises no diagnostic), 8499:97, 6939:38, 7113:79 (advisory-list census claims), the eleven objectui#10524 dated notes, 8802:132-139 ("will NOT flag either namespaced spelling … still validate green" — an absence claim of the same shape as 10393's view:map sentence; a bare { "type": "view:kanban" } would most likely land in the advisory list too; not measured, outside this card's class, noted for the seat).
  • No stacked contradictions: at base none of the three files carried a dated note (0 "Dated note", 0 "10524" hits each); PR fix(cli,types): say what objectui check does; name objectui validate for the verdict (objectui#10524) #10595 touched none of them; each file gains exactly one note.

② Semver level

No released source changed; Changeset Declaration, Changeset Bump Policy, Changeset Fixed Group Check, Changeset Overwrite Report and Changeset Claim Re-read all green on the head. Clause-②: no is correct. Package levels in the three frontmatters unchanged (md5 above).

Title misdescribes the change. It says "scope three objectui check sentences to files it recognises". The diff changes four sentences in three files; only two are scoped by adding "in a file it recognises" (9533 What changed, 10393 cli bullet); the other two (8760 Breaking, 9533 Breaking) have the check claim deleted and a validate sentence put in its place, which the body itself calls "corrected, not scoped". A squash merge publishes this title. Exact replacement:
docs(changesets): correct four objectui checksentences in three pending changesets;checkskips the bare document,objectui validate gives the verdict (objectui#10606)

③ Boundary flags

  • CI on the head: 41 check runs, all completed — 37 success, 4 skipped (Test (coverage), coverage shard, dependabot, not applicable); commit status Vercel success. No red check.
  • merge-tree refs/review/pr-10642 against main 4a3d500fd: clean, tree 7f6ab865b, exit 0. Main has 12 commits since base 5add18a67, none touching the three files.
  • Release PR chore: release packages #5400 (changeset-release/main at bc117427f, generated 2026-09-18 from main 06611e448 of 2026-09-17): its snapshot predates 9533 and 10393 but has already CONSUMED 8760 — it deletes .changeset/8760-unfulfilled-chart-stubs.md (62 lines) and apps/console/CHANGELOG.md, packages/cli/CHANGELOG.md and packages/types/CHANGELOG.md on that branch each carry the false sentence "objectui check reports Unknown schema type "line-chart"". Merging chore: release packages #5400 as it stands ships the defect and conflicts with this PR's 8760 edit (modify vs delete). This PR must land before chore: release packages #5400 is regenerated and merged; the seat should hold chore: release packages #5400 until then.
  • PR state: draft, assignee unset (the dev's label-write --assign was refused by the classifier). Needs assignment to os-elon-musk and un-drafting before it can land.
  • No source, no test, no new changeset; the overwrite gate is report-only and green.

Implemented-by: claude/issue-10606-check-bare-doc-changesets
Reviewed-by: session_014mXUNuFomfj24w7s1pZzhN

VERDICT: FAIL

Two wording items stop landing, both with exact replacement text above: (1) .changeset/10393-retire-bare-map-key.md line 48-49, "objectui check does not flag it" — measured false for a bare { "type": "view:map" } (advisory list, by name) and contradicted by the PR's own dated note in the same file; (2) the PR title, which a squash merge publishes, says "scope three" sentences where four were changed and two were corrected outright. Everything else in ①–③ holds; the release-PR ordering in ③ is a seat action, not a defect in this PR.


Generated by Claude Code

…, not "that list"

"because `view:map` is on that list" followed the advisory
did-not-validate list and could be read as naming it. It means the
known-type list `check` reads, and now says so. Frontmatter
byte-identical.

Claude-Session: https://claude.ai/code/session_014mXUNuFomfj24w7s1pZzhN
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Contract review

Served-tier: CONTRACT_REVIEW_TIER
Head-sha: 3f0f8eca3e1caab5ef2a650c6250bf628afbd4af

① Derived judgments

Diff c9ef2ce5d..3f0f8eca3: one file, .changeset/10393-retire-bare-map-key.md, the one @object-ui/cli bullet (+6/−2). 7467d4e39..3f0f8eca3 is one word swap on one line, "that" to "the known-type", nothing else. Front-matter block md5 02a248bf14464234d9665bad2c91931b at 5add18a67, c9ef2ce5d, 7467d4e39 and 3f0f8eca3.

Rewritten bullet, sentence by sentence, checked at source and measured with the CLI built from the head in a scratch worktree (removed afterwards):

  • "no longer contains bare map": known-schema-types.ts has no map entry (list runs main, mark). True.
  • "reports map as an unknown schema type in a file it recognises": check.ts 287–311, structural arm admits, isKnownSchemaType('map') false, warning printed. True.
  • "view:map stays on that list, because … registerPlaceholders() … registers it": known-schema-types.ts 657 'view:map' (and 411 'protocol-placeholder:view:map'); placeholders.tsx 48 lists 'view:map', 139 registers under namespace protocol-placeholder without skipFallback, so the bare spelling is a real key. True.
  • "does not report it as an unknown schema type in a file it recognises": measured { "type": "view:map", "className": "h-64" } alone in a directory: Analyzing 1 files... then All checks passed, exit 0, no line about the file. True.
  • "A bare { "type": "view:map" } with no structural key is listed in check's advisory did-not-validate list instead": measured: 1 file carries a registered ObjectUI component type but did not validate as an ObjectUI schema: then view-map.json (type "view:map"), exit 0. True.
  • "because view:map is on the known-type list and AnyComponentSchema has no arm for it": check.ts lists iff !isObjectUiSchemaFile (143–148: no OBJECTUI_STRUCTURAL_KEYS member, and safeValidateSchema(content).success false) and isUnvalidatedCandidate (186–188, = isKnownSchemaType). safeValidateSchema is AnyComponentSchema.safeParse (index.zod.ts 541–543); AnyComponentSchema is defineNodeComponentUnion(z.discriminatedUnion('type', [...13 sub-unions])) (465–479) and the wrapper returns the union unchanged (base.zod.ts 140, return union). packages/types/src has zero view:map literals and no computed view: literal; validate on the bare file says No arm accepts type "view:map". With the sentence's own premise "with no structural key", the two stated reasons are exactly the listing condition. True.
  • "that line does not say the node renders a placeholder": the two printed lines (check.ts 330, 334) name only the file and its type. True.
  • Coherence with the dated note: the note says a non-validating keyless file "is listed by name when its root type is on that known-type list, and is otherwise counted as skipped"; { "type": "map" } measured as Skipped 1 file …, exit 0. The bullet is the listed case, the note the skipped case; they agree, and the note is unchanged since c9ef2ce5d.

Landing title (title-10642.txt, 161 chars): three pending changesets (8760, 9533, 10393) each now say what check does with the bare document (skipped, skipped, and for 10393 both skipped map and listed view:map), and each names objectui validate for the verdict. True for every edited sentence including the view:map one.

Landing body (pr-body-10642-r3.md): "What changed" row for 10393, the H4 row, the round-2 paragraph and the round-3 paragraph are true. Verified: the clause text quoted equals the head text; 'object-map' quoted literal has 3 hits in zod/objectql.zod.ts; md5 at all four commits; the three gate scripts rerun at the head in the worktree print byte-identical verdict lines, exit 0; git merge-tree --write-tree against main f99f9cde7 exits 0.

② Semver level

None owed by this PR: changeset prose only, no package source touched, check-changeset-presence says no changeset is owed. The edited entries keep their declared bumps byte-for-byte (plugin-map: minor, core/cli/console: patch in 10393).

③ Boundary flags

  • CI on the head: 40 check runs; every completed run is success (or skipped for the coverage shards and dependabot); Test (shard 1/8 … 8/8) and Spec Main Shape Gate were in_progress at read time. No red check.
  • git merge-tree --write-tree refs/review/main refs/review/pr-10642 (main f99f9cde7) exits 0, tree d1d4edcd5; main has not touched any of the three files since base 5add18a67. PR is behind main, not conflicting.
  • Nit, body round-2 paragraph: it quotes the advisory output as one line ending … schema: view-map.json (type "view:map"). check prints the file on its own indented line after the colon. Suggested wording: prints the advisory header "1 file carries a registered ObjectUI component type but did not validate as an ObjectUI schema:" followed by "view-map.json (type "view:map")" on the next line, exit 0. Not blocking.
  • Nit, same paragraph: under the "Round 2, head 7467d4e39" heading the quoted clause carries the round-3 wording ("on the known-type list"); "now reads" makes it accurate at the landing head, and the round-3 paragraph records the swap. Not blocking.
  • The GitHub PR currently shows the round-1 title and body; the seat's files supersede both.

Implemented-by: claude/issue-10606-check-bare-doc-changesets
Reviewed-by: session_014mXUNuFomfj24w7s1pZzhN

VERDICT: PASS


Generated by Claude Code

@objectstack-fleet objectstack-fleet Bot changed the title docs(changesets): scope three objectui check sentences to files it recognises; name objectui validate for the verdict (objectui#10606) docs(changesets): say what objectui check does with a bare document in three pending changesets, and name objectui validate for the verdict (objectui#10606) Sep 25, 2026
@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review September 25, 2026 14:22
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

CI note from the domain:ui seat #2 (session_014mXUNuFomfj24w7s1pZzhN): Test (shard 2/8) is red on 3f0f8ec, and the failure is not this PR's.

  • Failing test: apps/console/src/pages/developer/ApiConsolePage.requestPreset-10591.test.tsx:299, with TestingLibraryElementError: Unable to find an element with the placeholder text of: /api/v1/... while the console is still on its boot screen (the check-run annotation).
  • Why it is not this PR's: this PR changes three pending .changeset/*.md files only, with no source and no test. The same test fails intermittently on unrelated heads: PR objectui#10644, and merge-queue run 36142794712. It passes on most runs. It is filed as objectui#10645.
  • Fix: none exists yet (objectui#10645). This PR does not widen into that file.
  • Re-run: the seat has no means to re-run the job; the fleet relay carries no re-run op. The PR is ready with auto-merge on and stays watched. A re-run of Test (shard 2/8) (run 36145896347) by someone who can re-run lets it land.

Generated by Claude Code

Bring in main at bc97f92, which carries the objectui#10645 fix (PR objectui#10677), so CI runs against the fixed base. No other change.

Claude-Session: https://claude.ai/code/session_014mXUNuFomfj24w7s1pZzhN
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Sep 25, 2026
Merged via the queue into main with commit 56b7fb4 Sep 25, 2026
42 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/issue-10606-check-bare-doc-changesets branch September 25, 2026 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant