Uh oh!
There was an error while loading. Please reload this page.
docs(scripts): record the withdrawal of the vacuous byte-identity sentence - #6005
Merged
Merged
Conversation
…tence The #4580 changeset closed with "Core's entry surface is unchanged: `dist/index.d.ts` is byte-identical across the change". #5673 withdrew that sentence from the source docstring it was also written into, but the release tooling had already copied the changeset verbatim into five package CHANGELOGs, where it survives with no trace of the withdrawal. Per the 2026-08-24 ruling, the five released entries are not edited — compiled release artifacts stay on the changeset pipeline and the npm copies are immutable — so the correction is recorded once in this header, which is where this repository already keeps findings of this shape. The record states why the measurement is vacuous (core's entry `.d.ts` is emitted from a barrel that only forwards the symbol, so it cannot move for a re-exported declaration's shape change), and lists the five copies with the search that re-derives their line numbers as they drift. Comment-only: the gate's behaviour is unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CSoz9uGhaaSgiq3hshtN7L
yinlianghui
marked this pull request as ready for review
August 24, 2026 12:23
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes#5913
Implements the 2026-08-24 ruling (option C, maintainer verbatim: 「接受你的建议。」). One comment block added to the header of
scripts/check-changeset-presence.mjs. Nothing else in the repo is touched.What the ruling required, and what is here
The #4580 changeset closed with "Core's entry surface is unchanged:
dist/index.d.tsis byte-identical across the change."#5673 withdrew that sentence from the source docstring it was also written into, but the release tooling had already copied the changeset verbatim into five package CHANGELOGs, where it survives with no trace of the withdrawal.The new section states all three things the ruling named:
core/dist/index.d.tsis emitted from a barrel that only forwards the symbol, and forwarding never restates a shape, so that file is byte-identical under any change to a re-exported declaration's shape. [finding] #4580's "dist/index.d.ts is byte-identical" justification is a vacuous measurement, and it is written into the repo as evidence #5673's PR measured it: a probe key on the declaring module moved@object-ui/types'dist/base.d.tsand brought it back, whilecore/dist/index.d.tsandcore/dist/types/index.d.tsheld one hash across all three legs. The withdrawn sentence was watching the two files that cannot move.It also records why the five are not edited — compiled release artifacts stay on the changeset pipeline, and the npm copies are immutable — so the next reader does not re-open the question as an oversight.
The five line references were re-verified, not copied
A correction record whose own pointers are wrong is the same defect class as the sentence it corrects, so the card's search was re-run at
8d3a5294a(the branch point) rather than trusted:is byte-identical across the changepackages/fieldsAll five line numbers from the card still hold:
Because CHANGELOGs are append-heavy and these numbers will drift, the record does not rely on them alone: it carries the
git grep -nIrecipe that re-derives them, and states the six-file expectation so a future reader can tell a working search from a broken one.Scope: no check, no test, no
UNGATEDentryThe gate's behaviour is unchanged. The diff is 51 insertions, 0 deletions, one file, and every added line is a comment line — verified mechanically:
The header's own documented trap was respected: the added text contains no comment-terminator sequence that would close the block early (checked with
grep -Fbefore insertion), and no control bytes.Changeset
The gate that decides this is the file being edited. Run, verdict quoted either way:
None owed — so none is added, not even the empty-frontmatter form.
Gates run locally, union re-run at
ea197938b(the final commit)node scripts/check-changeset-presence.mjs✅ No source of a released package changed in this range, so no changeset is owed.node scripts/check-control-bytes.mjs✅ check-control-bytes: OK (scanned 4970 tracked text file(s); skipped 85 binary).vitest run scripts/__tests__/check-changeset-presence.test.tsTest Files 1 passed (1) · Tests 31 passed (31)tsc -p tsconfig.scripts.jsoneslintover the fulllint:rootscope✖ 26 problems (0 errors, 26 warnings)— all warnings pre-existing, none in the edited fileExit codes were captured by redirect-then-capture, never through a pipe. The
lint:rootlane was run at full scope, not narrowed. This repo has noscripts/pm/dispatch-gates.mjs, so the family was derived by hand from the rootpackage.jsonscripts and.github/workflows/changeset-presence.yml; CI runs the full farm.Generated by Claude Code