Skip to content

docs(changeset): date-note nine pending entries whose repository count moved (objectui#10979) - #11046

Merged
objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/issue-10979-pending-count-notes
Sep 29, 2026
Merged

objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/issue-10979-pending-count-notes

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #10979
Clause-②: no — release-note prose only; no accept set or public surface changes.

What this does

Eleven pending changesets were named on the card as stating a present-tense repository count that is false on main. Each count was re-derived here on main at 2eaf5be27 (the commit the PM read at dispatch), with the query printed below and, as its positive control, the same query at the entry's own landing commit or base.

  • Nine entries re-derive false on main. Each gets one dated note (2026-09-29), placed directly after the paragraph that holds the counted sentence. That is the objectui#10877 / PR objectui#10891 form. The note quotes the sentence, gives the reading at the entry's own landing commit (or base), names what moved it and in which PR, and gives the re-measured reading at 2eaf5be27 in the past tense. Two of the nine (5134, 7497) do not re-derive even at their own base, and their notes say so instead of claiming the sentence was ever true.
  • Two entries are left untouched (9187, 3965). Their sentences re-derive true on main; the reasons are in the table.
  • Frontmatter is byte-identical in all eleven files, and no existing line is edited or deleted: git diff --numstat 2eaf5be27 HEAD is 98 insertions, 0 deletions, over 9 files.
  • No new changeset. The diff is .changeset/ only, and check-changeset-presence says none is owed (output below).

The ruling this write relies on

On 2026-09-29, in the domain:spec @ objectui seat's chat, the maintainer chose 「Allow the appended note (Recommended)」. Recorded on this card as comment 5883370240 (the same text is 5883360525 on objectui#4356):

You allow developers to append dated correction notes to pending .changeset files (appended only, no existing line or frontmatter edited). ... The same permission also unblocks objectui#10974 and #10979, which I dispatch straight away.

Per entry

Readings are over tracked files at a named commit. "Base" means the parent of the squash commit, the commit the change landed on.

Entry Counted sentence (quoted) Reading at landing Reading on main 2eaf5be27 Query Outcome
7561-filter-builder-operator-trigger-label "the spec's alias table gt / lt / eq, which three schema-catalog entries author today" 3 catalog files at 9ae871d00 0 files; control: the same 3 fixtures carry equals / less_than / greater_than Q1 Noted. True at landing; objectui#6939 (PR #9558) respelled all seven operators.
component-meta-converge-and-deprecate-alias-5893 "In-repo, PluginComponentMeta has exactly one occurrence — its own export line" 1 line in 1 file at the base 575b71c850; 13 lines in 5 files at the landing commit 6d1c15536 itself 19 lines in 7 files; 1 importing .ts file, this change's own pin Q2 Noted. True at its base. Its own pins and prose moved it, then objectui#5674 (PR #10826) added more.
6296-conditionbuilder-subject-vocabulary "all five files that mount it today — six mount sites" 6 sites in 5 files at 88b15fddc 7 sites in 6 files Q3 Noted. objectui#6226 (PR #6668) mounted it in FlowNodeConfigField, a flattened-scope site.
6487-visibility-advice-per-tier "All three in-repo call sites pass their tier explicitly" 4 calls in 3 files at c71e14d1c, from 3 gates 5 calls in 3 files, from 4 gates; all 5 pass a tier Q4, plus each call's sixth argument read by hand Noted. objectui#6445 (PR #6510) added the disabled / disabledOn enablement gate. True at landing only when counting gates; the note says so.
9187-record-highlights-layout-two-values "every in-tree layout: 'grid' belongs to a different component" (names 3 files) 8 files at 96919a459, 3 of them this change's own 13 files Q10 Not noted. The sentence states no count, and its claim re-derives true: every hit belongs to detail-view, ai-recommendations, the SchemaForm tests' form-layout parameter, or this change's own pin and prose. The parenthetical was already non-exhaustive at landing (ai-zero-read-members-retired-8178.test.ts and SchemaForm.gridCellNaming.test.tsx carried the literal and are not named), so nothing went false after landing.
list-view-nested-aria-label-i18n-5134 "the resolver four other in-repo read sites already use" 10 other files importing it, 17 call lines, at the base e40b8579bd 14 other files, 27 call lines Q5 Noted. False at its own base too; the note does not claim otherwise.
3965-mint-box-neutral-container "the catalog's 25 remaining div-authoring fixtures (80 nodes) migrate to it" 86 div nodes in 28 files at the base 19f363736e, and 6 in 3 at a04d7c65c: 80 nodes in 25 files migrated 6 nodes in 3 files, unchanged Q11 Not noted. The figure describes this change's own migration and re-derives exactly. The residue (the exempt components-basic-div pair, 5 nodes, plus one test string) is unchanged since landing.
queryparams-closed-keys-7497 "packages, apps, examples, e2e and scripts trees (4,362 files)" At the census base 7dcda9cd4 that the commit message names: 5,203 tracked files, 4,344 TS/JS sources. No tracked-file reading gives 4,362. 6,700 tracked files, 5,819 TS/JS sources Q6 Noted. False on main by any tracked-file reading. The note does not claim the figure held at its base. The census's zero was not re-run.
6837-reference-to-arm-deletion "normalizeSchemaReferenceKeys, which has exactly two production call sites" 2 at 045d20ba8 3 (2 in MetadataProvider, 1 in ObjectStackAdapter.getObjectSchema) Q7 Noted. objectui#7650 (PR #8868) added the by-name serve path call.
8450-inspector-select-placeholder "13 of the 45 call sites" and "all 45 call sites, none of which passes a placeholder of its own" 45 mounts in 13 files at 0c4694437, 0 passing placeholder 47 mounts in 13 files, 1 passing placeholder Q8, plus an element scan for a placeholder= attribute Noted. objectui#6830 (PR #9110) gave the flow-node select its own placeholder. objectui#7551 (PR #9972) and objectui#7597 (PR #10527) each added a mount that offers a '' row. The 13 / 32 split is not re-classified, and the note says so.
7415-action-type-input-rename "517 JSON files (433 of them the schema catalog)" At the base 6411def250: 433 catalog schema JSON files, and the control is 127 plain button nodes, matching the sentence. 517, 4,797 and 2,410 do not re-derive from tracked files. 432 catalog schema JSON files; control 119; the zero still 0 Q9 Noted. The re-derivable figure moved (433 to 432). The note names the base commit and scopes out the rest.

Queries, as printed

Each line below was re-run in exactly this form. REV is the commit named in the table. A match on a tag-shaped name is spelled \x3c, because the body sanitizer eats a literal opening angle bracket.

# Q1
git grep -lE '"operator"\s*:\s*"(gt|lt|eq)"' REV -- examples/schema-catalog | wc -l
git grep -lE '"operator"\s*:\s*"(equals|less_than|greater_than)"' 2eaf5be27 -- examples/schema-catalog/src/schemas/components-complex-filter-builder | wc -l
# Q2
git grep -h -c PluginComponentMeta REV | paste -sd+ | bc; git grep -l PluginComponentMeta REV | wc -l
git grep -lE 'import[^;]*PluginComponentMeta' 2eaf5be27 -- '*.ts' '*.tsx' | wc -l
# Q3
git grep -nP '\x3cConditionBuilder\b' REV -- ':!*.test.*' ':!**/__tests__/**' ':!*.md'
# Q4
git grep -nE 'reportUnresolvableVisibilityPredicate\(' REV -- ':!*.test.*' ':!**/__tests__/**' ':!*.md' ':!packages/react/src/utils/visibilityDiagnostic.ts'
# Q5
git grep -lE 'import \{[^}]*\bresolveI18nLabel\b' REV -- ':!*.test.*' ':!**/__tests__/**' ':!*.md' ':!*.mdx' ':!packages/plugin-list/src/ListView.tsx' | wc -l
git grep -nE '\bresolveInlineI18nLabel\(' REV -- ':!*.test.*' ':!**/__tests__/**' ':!*.md' ':!*.mdx' ':!packages/plugin-list/src/ListView.tsx' | grep -vE '^[^:]+:[^:]+:[0-9]+:\s*(\*|//)' | wc -l
# Q6
git ls-tree -r --name-only REV -- packages apps examples e2e scripts | wc -l
git ls-tree -r --name-only REV -- packages apps examples e2e scripts | grep -cE '\.(ts|tsx|js|jsx|mjs|cjs|mts|cts)$'
# Q7
git grep -nE '\bnormalizeSchemaReferenceKeys\(' REV -- ':!*.test.*' ':!**/__tests__/**' ':!*.md'
# Q8
git grep -nP '\x3cInspectorSelectField\b' REV -- ':!*.test.*' ':!**/__tests__/**' ':!*.md'
# Q9
git ls-tree -r --name-only REV -- examples/schema-catalog/src/schemas | grep -cE '\.json$'
git grep -hoE '"type"\s*:\s*"button"' REV -- ':(glob)examples/**/*.json' ':(glob)apps/console/**/*.json' ':(glob)content/docs/**/*.json' ':(glob)packages/**/*.json' | wc -l
git grep -hoE '"type"\s*:\s*"action:(button|icon)"' REV -- ':(glob)examples/**/*.json' ':(glob)apps/console/**/*.json' ':(glob)content/docs/**/*.json' ':(glob)packages/**/*.json' | wc -l
# Q10
git grep -lE "layout['\"]?\s*:\s*['\"]grid['\"]" REV -- ':!**/CHANGELOG.md'
# Q11
git grep -h -cE '"type"\s*:\s*"div"' REV -- examples/schema-catalog | paste -sd+ | bc

At its landing commit or base, each query reproduces the sentence it tests (the "Reading at landing" column). That is the positive control. The exceptions are 5134 and 7497, where no reading reproduces the figure, and the table says so. The checkout is shallow (boundary 2026-07-20). Every commit named above is inside that window: the landing commits date from 2026-08-21 to 2026-09-12, and each supersession ordering was read with git merge-base --is-ancestor, which returned exit 0.

Verification (head b9a21e2e4)

Frontmatter md5 (first 8 hex digits), identical at 2eaf5be27 and at head for all eleven entries:

Entry Frontmatter md5
7561 3d9e2a1e
5893 ecedb10c
6296 4cdeb4c7
6487 02817e1c
9187 (untouched, whole file 64351ea9 at both) ecedb10c
5134 c9a085e4
3965 (untouched, whole file 0dded8e3 at both) 125d3a04
7497 ecedb10c
6837 9f3f1cc6
8450 4e8ce550
7415 3d9e2a1e
  • Added lines: 0 angle brackets, 0 control bytes, 0 model identifiers and 0 line addresses. Every citation is a quoted sentence, a symbol or a file name.
  • node scripts/check-changeset-presence.mjs exited 0: "9 file(s) changed, 0 of them published source … 0 changeset(s) added. No source or published contract of a released package changed in this range, so no changeset is owed."
  • node scripts/check-changeset-no-major.mjs exited 0. node scripts/check-changeset-fixed.mjs exited 0.
  • node scripts/check-changeset-claims.mjs exited 0. The self-contradiction reading covers these 9 bodies, and nothing is negated.
  • node scripts/check-changeset-overwrite.mjs exited 0 (report-only). It lists the 9 modified entries, and each one's "declared at base" equals its "declares now".
  • pnpm check:pending-changeset-literals exited 0. pnpm check:control-bytes exited 0.
  • pnpm check:new-line-citations exited 0: "VERDICT new-cross-file-line-citations: 0 new citation(s)".
  • pnpm check:installed-pin-claims exited 0.
  • node scripts/check-governed-queue-guard.mjs --test over the 9 paths exited 0: "NOT GOVERNED".
  • pnpm exec vitest run over scripts/__tests__/check-changeset-{claims,fixed,no-major,overwrite,presence}.test.ts, check-pending-changeset-literals.test.ts and changeset-polarity-census.test.ts: Test Files 7 passed (7), Tests 292 passed (292).
  • The adjacent suites that walk .changeset/ (body-dialect-census, dollar-dialect-alias-census, check-installed-spec-pin-claims, check-control-bytes, quick-reference-current-release-4143, render-changeset-claims-comment): Test Files 6 passed (6), Tests 164 passed (164). No test names any of the nine files.

Acceptance notes

These are observations only. None is filed.

  • 6837-reference-to-arm-deletion carries other present-tense counts that the card does not name ("Eleven of the sixteen sites", "Three readers"). They are not measured here.
  • 8450: the "13 of the 45" / "The other 32" classification is not re-derived. The note says it stays the reading of that change.
  • 3965: "the catalog ratchet closes to zero tolerance for JSON-authored div" reads as absolute, while the components-basic-div exemption (2 fixture files, 5 nodes) stands. This is unchanged since landing.
  • 5134: at its base, a search for the unaliased resolveI18nLabel( returned four lines, all doc comments. This is recorded as an observation, not as the source of the figure.

Session: https://claude.ai/code/session_012UwY3ahMixEFkfTUxMVkYm (domain:spec @ objectui seat, mode:subagent dev run).


Generated by Claude Code

…t moved (objectui#10979)

Nine pending changesets state a present-tense repository count that does
not re-derive on main at 2eaf5be. Each gets a dated note after the
paragraph that holds the count: the reading at the change's own landing
commit (or its base), what moved it and in which PR, and the re-measured
reading at 2eaf5be. Frontmatter is byte-identical and no existing line
is edited or deleted (append-only, per the maintainer's 2026-09-29 ruling
recorded on the card).

Two of the eleven entries the card names are left untouched:
9187-record-highlights-layout-two-values (no count; its "every in-tree
layout grid belongs to a different component" re-derives true on main)
and 3965-mint-box-neutral-container (its 25 fixtures / 80 nodes describe
this change's own migration and re-derive exactly: 86 div nodes in 28
files before, 6 in 3 after, unchanged on main).

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

Copy link
Copy Markdown
Contributor Author

Contract review

Served-tier: CONTRACT_REVIEW_TIER
Head-sha: b9a21e2e4c43deb3668041a0abb1c52ba1cefcbb
Local-runs: none

Director seat (objectstack#12708, session_01AsCNgFBs8HCjwhyHQsFbx3), on the maintainer's ask 「契约复审」 — this is one of the two release-note PRs held for it (5883673764). Inputs: card objectui#10979 (the claim 5883409789, the dev report 5883643394, the seat's reading 5883673764), the ruling records 5883370240 (this card) and 5883360525 (objectui#4356), the PR body with its eleven queries, the 9-file diff against the base 2eaf5be27 (+98 / −0), the check-runs on the head, and read-only git show / git grep at the base, the head and main. Nothing built or run; the gate readings are the report's, the on-main counts below are this seat's own re-derivation.

① Derived judgments

  1. Inside the ruling's form — right. The maintainer's 2026-09-29 permission (「Allow the appended note」, recorded as 5883370240 / 5883360525) allows a dated correction note appended to a pending changeset, frontmatter byte-identical, no existing line edited or deleted. Re-read here on all nine files: the frontmatter block hashes identically at the base and at the head for every one of the eleven entries the card names (the two untouched ones included), git diff --numstat is 98 insertions and 0 deletions, and each old file is either a prefix of the new one (8450, whose counted paragraph is its last) or the new one with a block inserted after the paragraph that holds the counted sentence — the PR objectui#10891 placement the seat's reading names. Every note carries the date, the card or the superseding card, the quoted sentence, the reading at landing, what moved it and where, the re-measured reading in the past tense, and the closing "the text above is kept as the reading of this change".
  2. The nine counts re-derive false on main as the notes say — right. Re-run here at 2eaf5be27 with the queries as printed: Q1, no catalog file spells an operator gt / lt / eq and the same three filter-builder fixtures carry the canonical spellings (and the query reads 3 at the landing commit 9ae871d00, the positive control); Q2, PluginComponentMeta on 19 lines in 7 files, one importing file; Q3, ConditionBuilder mounted at 7 sites in 6 non-test files; Q4, reportUnresolvableVisibilityPredicate called 5 times in 3 files outside its module (SchemaRenderer ×3, containers.tsx, ExpressionProvider); Q5, 14 non-test files besides ListView import resolveI18nLabel; Q7, normalizeSchemaReferenceKeys at 3 production sites (two in MetadataProvider, one in data-objectstack); Q8, 47 InspectorSelectField mounts in 13 files; Q9, 432 catalog JSON files. Each quoted before-sentence is present verbatim at the base (three of them wrap across lines). The two notes that say the figure never re-derived even at its own base (5134, 7497) say so rather than claiming a past truth, which is the honest form; 7415's note scopes out the figures it did not re-run. The landing-commit readings other than Q1's are the report's control, not re-run here.
  3. The two untouched entries — right. 9187 states no count and its "every in-tree layout grid belongs to a different component" still holds; 3965's 25 fixtures / 80 nodes are that change's own migration, unchanged since. A note there would reword an entry, not correct a stale reading; the seat answered the dev's question the same way (A).
  4. No changeset owed — right. The diff is .changeset/ prose only; Changeset Declaration is success on the head and the report's check-changeset-presence run says none is owed. Clause-②: no is the right reading of a change to release text with no accept set or public surface.
  5. Nothing this diff could break. No source, no test, no generated artifact; Changeset Claim Re-read, Changeset Overwrite Report, Changeset Bump Policy, Changeset Fixed Group Check, Line Citation Gate (0 new cross-file line citations) and Governed Surface Queue Guard (not governed) are all success on the head.

② Semver level

None: no package bumps, no public surface, no accept set. Release-note prose only; Clause-②: no. The nine bodies publish into the next CHANGELOG with their corrections attached, which is what the ruling was for.

③ Boundary flags

  • CI on the head: 41 check runs, 38 success, 3 skipped, 0 failure.
  • Merge: a driver-free git merge-tree --write-tree against main 30f912a0 is clean; no open PR edits these nine files (the seat's files-API sweep, and the W4 file 7759-… is disjoint).
  • Governed: none of the 9 paths; not Tier H.
  • State: draft, needs:contract-review, assignee huangyiirene (domain:spec @ objectui seat 1, session_012UwY3ahMixEFkfTUxMVkYm); the landing is the seat's, on this record, and it must come before release PR objectui#5400 merges (open, ready, no auto-merge at read), since the bodies publish verbatim.
  • Residue, noted by the seat and not this PR's: 6837's other unnamed counts, unmeasured; the FlowNodeConfigField.tsx code comment "the other 42 call sites" reads 47 on main (a code comment, not release text).

Implemented-by: claude/issue-10979-pending-count-notes
Reviewed-by: session_01AsCNgFBs8HCjwhyHQsFbx3

VERDICT: PASS

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review September 29, 2026 07:22
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Sep 29, 2026
Merged via the queue into main with commit 480de81 Sep 29, 2026
43 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/issue-10979-pending-count-notes branch September 29, 2026 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants