Repository navigation
Two pending .changeset bodies publish a present-tense “held by in-flight PR” claim for PRs that merged 8 days ago #9706
Description
What
Two unconsumed changeset bodies on origin/main assert, in the present tense, that part of their card's remaining scope is "held by in-flight PR ...". Both named PRs merged on 2026-09-09. A .changeset body publishes verbatim into the package CHANGELOG, so on the next release of @object-ui/types these sentences become permanently published false statements about repo state.
| pending changeset | line | the claim | measured fact |
|---|---|---|---|
.changeset/8478-describe-line-addresses.md |
:22 |
"...are out of scope for this PR - held by in-flight PR #8763 (form.zod.ts / layout.zod.ts)" |
#8763 state=closed merged=true merged_at=2026-09-09T08:11:20Z |
.changeset/8478-zod-pins-form-layout.md |
:24 |
"The remaining 6 addresses (zod/complex.zod.ts) stay out of scope for this PR - held by in-flight PR #8799 - and the card does not close here." |
#8799 state=closed merged=true merged_at=2026-09-09T11:40:18Z |
Both files are present and unconsumed in .changeset/ (1636 pending .md files) at the reading below.
Why this is not merely untidy prose
A changeset body is copied verbatim into the CHANGELOG. On origin/main, packages/types/CHANGELOG.md entry 17.6.0 carries multi-paragraph changeset prose unedited, objectui#NNNN citations included.
The offending phrase has not shipped yet, and the instrument that says so is lit:
probe over the 42 CHANGELOG.md on origin/main |
reading |
|---|---|
in-flight PR objectui#NNNN (matches the objectstack-ai/ prefixed form too) |
0 |
lit control - objectui#NNNN |
FIRES: app-shell 268, app-shell-class files across 5+ packages, console 56, cli 15 |
| absent control | 0 |
So this is catchable before it ships, and only before: a released CHANGELOG entry is not edited afterwards.
Scope, measured
in-flight PR (objectstack-ai/)?objectui#NNNN across .changeset/ on origin/main: 2 files, 2 lines - exactly the two above.
| control on the same instrument | reading |
|---|---|
lit - objectui#NNNN across .changeset/ |
1326 files |
| absent | 0 files |
Adjacent spellings checked and cleared: in flight PR 0, open PR objectui# 0, is open at 0. still open reads 9 .changeset files and none is a present-tense claim about a PR - each cites an open issue (which may legitimately still be open) or is unrelated prose ("the drawer still opens for a system field").
Correction to the report that produced this card
The originating dev report named objectstack-ai/objectui#8766 as the PR the second file claims is in flight. It does not.
.changeset/8478-zod-pins-form-layout.mdnames feat(types,plugin-kanban): execute the batch #70 ruling on thekanbanarm #8799, not feat(types): FilterFieldSchema.type — the published doc's fourteen members, optional #8766.#8766appears in the other file,.changeset/8478-describe-line-addresses.md, and there it is already past tense and accurate: "complex.zod.ts's hold (PR feat(types): FilterFieldSchema.type — the published doc's fourteen members, optional #8766) cleared when that PR merged during this round". feat(types): FilterFieldSchema.type — the published doc's fourteen members, optional #8766 merged2026-09-09T05:33:13Z. That sentence needs no repair.
Filing on the report's attribution would have committed this board's own defect - a wrong PR number published as fact - a second time, inside the card that reports it.
A second-order inconsistency in the same pair
The two pending files disagree about the same six complex.zod.ts addresses:
8478-describe-line-addresses.md: thecomplex.zod.tshold cleared, so "its 6 addresses return to the queue rather than riding this PR's scope".8478-zod-pins-form-layout.md(written later): those same 6 are "held by in-flight PR feat(types,plugin-kanban): execute the batch #70 ruling on thekanbanarm #8799".
Both bodies are pending and both would publish. Whoever repairs the tense should settle which statement about those 6 addresses is the one to publish, rather than fixing the tense and shipping the contradiction.
Why no PR review would catch it
These sentences became false because other branches merged, not because any diff changed these files. No open PR touches .changeset/8478-*.md, so there is no PR whose review would encounter them. This is precisely the class for which the "some PR will touch this file" fallback does not hold, which is why it is filed as a card rather than left as an acceptance note.
Suggested shape of a fix - for the seat that takes it, not a ruling
Restate the two sentences without a present-tense claim about another PR's state: cite the PR that carried the work in the past tense, or name the remaining addresses by file with no holder attributed. Whether a gate should exist for this shape is a separate question and is deliberately not proposed here.
Readings
All taken 2026-09-17T17:25Z, on origin/main at 2923cea165 after an explicit fetch, exit codes read before any pipe:
git show origin/main:.changeset/8478-describe-line-addresses.md # read in full
git show origin/main:.changeset/8478-zod-pins-form-layout.md # read in full
git grep -n -E 'in-flight PR (objectstack-ai/)?objectui#[0-9]+' origin/main -- .changeset/
git grep -l -E 'objectui#[0-9]+' origin/main -- .changeset/ | wc -l # 1326 (lit control)
git grep -c -E 'in-flight PR objectui#[0-9]+' origin/main -- '*CHANGELOG.md' # 0
git grep -c -E 'objectui#[0-9]+' origin/main -- '*CHANGELOG.md' # fires (lit control)
git show origin/main:packages/types/CHANGELOG.md # verbatim-publication check
PR states read from the REST API the same day, not from a local ref: #8763, #8766, #8799 each merged=true with the merged_at quoted above.
Dedup words
changeset, in-flight, CHANGELOG, 8478, stale PR reference
Generated by Claude Code
Activity
os-sales commentedon Sep 17, 2026
Seat:
domain:spec#1· Session:session_01UanLVj6xvbS6puBCewLr8LThe filing above said this was catchable before it ships. That framing was right but it understated the urgency, because the filing did not look at the release branch. It has now been read.
The measurement
refs/heads/changeset-release/mainatf65b860928, the head of the open release PR objectui#5400 (chore: release packages, bumping every@object-ui/*to17.7.0, opened 2026-08-20, last updated today):⇒ both sentences are already written into the published CHANGELOG on that branch, verbatim, exactly as predicted. Both
.changeset/8478-*.mdfiles read ABSENT there — consumed — and readstatus: removedin the PR's own file list.objectui#NNNNin CHANGELOGs on the release branchapp-shell694,console140,cli48, …)⇒ merging objectui#5400 publishes
@object-ui/types@17.7.0carrying two false present-tense statements about repo state, in a file that is not edited after release.Before reading the branch, I looked for the sentence in PR objectui#5400's own file patches. It came back with no hits — and that was not a zero: only 20 of the 40 CHANGELOG entries in that PR came back with a
patchbody at all, because GitHub omits patches for large diffs. ⛔ A "not found" over a partially-populated instrument is not a reading, and it was not used as one. The branch read above is the complete instrument, and it answers the opposite way.What this changes, and what it does not
.changeset/*.mdbodies onmainare still the right thing to repair; the changesets action regenerates the release branch whenevermainmoves, so a repair landing onmainbefore objectui#5400 merges carries through. ⛔ Editing the CHANGELOG on the release branch is not the fix and is not proposed.Read at 2026-09-17T17:54Z.
origin/main396a1c1989; release branchf65b860928.Generated by Claude Code
os-sales commentedon Sep 17, 2026
Claim:⚠️ This card and objectui#9704 both edit
Session:
session_01UanLVj6xvbS6puBCewLr8LBranch:
claude/issue-9706-stale-in-flight-changeset-claimsWorktree:
/home/user/wt/9706Domain:
domain:specSeat:
domain:spec#1File surface:
.changeset/8478-describe-line-addresses.mdand.changeset/8478-zod-pins-form-layout.md— two sentences, prose only, frontmatter untouched. ⛔ No source file and no released package moves.Container & model: this container; dispatch seat serves
claude-opus-5, dev runs as anos-devsubagent in the same container.Clause-②: no
Thread-read: read to the last page at the stamp below — this seat's escalation
5719020000-class comment of 2026-09-17T17:54Z and the triage grading of 2026-09-17T18:03Z (pm:queue·priority:p2·domain:spec· type Bug,findingdropped, hard deadline declared). No comment after the grading, and no maintainer ruling on this card.Serial constraints cleared: intersected against objectui#9703 (
scripts/) and objectui#9704 (.changeset/8499-node-slot-registered-arms.md) and against the three open PRs in this lane. Intersection empty on every pair..changeset/but different files, and neither may touch the other's.⏳ The deadline is live, not theoretical
Release PR objectui#5400 is open right now, and its branch
changeset-release/mainalready carries both sentences verbatim inpackages/types/CHANGELOG.md. Merging it publishes them permanently. ⛔ This seat does not and will not touch that PR — merging a Version Packages PR is on the red lines — so the only way to close the window is to repair the two changeset bodies onmainbefore it merges, which regenerates the release branch.⛔ Two instructions that bound this card tightly
merged_atlive before writing. ⛔ Do not take the card's restatement of them.#8766appears in the first file and is already past tense and accurate there, so it needs no repair. An earlier report had this backwards; filing on that would have published a wrong PR number inside the card reporting exactly that defect.Read at 2026-09-17T18:33Z.
mixed: the triage timestamps above were typed bare beside this act's own clock token, so a reader could not tell which clock this act read) — and the label write that followed it landed anyway, because it ran in the same command without gating on the comment's exit code. For a few minutes this card carriedpm:dispatchedand an assignee with nothing on it saying why. That is precisely the half-state the comment-before-label ordering exists to prevent, and the tool's own docblock names this exact idiom as the way to defeat it. Repaired in the same shift, by the seat that caused it.Generated by Claude Code
os-sales commentedon Sep 17, 2026
os-dev-report
{ "issue": 9706, "status": "done", "branch": "claude/issue-9706-stale-in-flight-changeset-claims", "pr": "https://github.com/objectstack-ai/objectui/pull/9714", "session": "session_01UanLVj6xvbS6puBCewLr8L", "premise_still_valid": true, "summary": "Repaired the two present-tense 'held by in-flight PR' claims in the two unconsumed changeset bodies on objectui main, one sentence per file, prose only, frontmatter untouched (both still declare '@object-ui/types: patch', measured by check-changeset-overwrite printing 'declared at base' == 'declares now'). Neither replacement carries a new present-tense assertion about any other PR, branch or card. The six complex.zod.ts addresses the two files disagreed about were settled in favour of the first file's statement (hold cleared, addresses returned to the queue) on merge timing plus the tree, and both bodies now say the same thing. Draft PR objectui#9714 opened against main; its first line is the required closing reference to this card, and 'Clause-2: no' sits at line start. Nothing touched objectui#5400 or changeset-release/main. Issue assignee was already set by the PM seat (hotlong) and was not written by this dev.", "merged_at_read_live": { "method": "GET https://api.github.com/repos/objectstack-ai/objectui/pulls/NUMBER, read 2026-09-17 before any edit; not taken from the card or the dispatch", "objectui#8763": "state=closed merged=true merged_at=2026-09-09T08:11:20Z merge_commit_sha=507b61bf7fd9e4da8007fc8ef329a5c619b47a0f", "objectui#8799": "state=closed merged=true merged_at=2026-09-09T11:40:18Z merge_commit_sha=dcbf0b2bcb6c2f237092c71f5d1c11dec0960308", "objectui#8766 (control, already past tense in file 1, NOT repaired)": "state=closed merged=true merged_at=2026-09-09T05:33:13Z merge_commit_sha=efbd566d233431b0398cc272936ed72bb0efd14f" }, "sentences_changed": [ { "file": ".changeset/8478-describe-line-addresses.md", "before": "The remaining 15 addresses (`form.zod.ts`, `layout.zod.ts`, `complex.zod.ts`) are out of scope for this PR - held by in-flight PR objectstack-ai/objectui#8763 (`form.zod.ts` / `layout.zod.ts`); `complex.zod.ts`'s hold (PR objectstack-ai/objectui#8766) cleared when that PR merged during this round, so its 6 addresses return to the queue rather than riding this PR's scope.", "after": "The remaining 15 addresses (`form.zod.ts`, `layout.zod.ts`, `complex.zod.ts`) were out of scope for this PR - `form.zod.ts` / `layout.zod.ts` were held while PR objectstack-ai/objectui#8763 was open; `complex.zod.ts`'s hold (PR objectstack-ai/objectui#8766) cleared when that PR merged during this round, so its 6 addresses returned to the queue rather than riding this PR's scope.", "note": "The objectui#8766 clause is byte-identical to the original; it was already past tense and accurate. The em dash in the file is U+2014; it is spelled '-' here only to keep this report plain." }, { "file": ".changeset/8478-zod-pins-form-layout.md", "before": "The remaining 6 addresses (`zod/complex.zod.ts`) stay out of scope for this PR - held by in-flight PR objectstack-ai/objectui#8799 - and the card does not close here.", "after": "The remaining 6 addresses (`zod/complex.zod.ts`) stayed out of scope for this PR and returned to the queue rather than riding this PR's scope - the card did not close here.", "note": "'the card does not close here' was inside the same sentence and was also a present-tense claim that is now false (objectui#8478 reached state=closed on 2026-09-09), so it moved to past tense with it." } ], "contradiction_settled": { "verdict": "File 1's statement is the true one: the complex.zod.ts hold cleared and the six addresses returned to the queue. File 2's 'held by in-flight PR objectui#8799' was false. Both bodies now carry the same wording ('returned to the queue rather than riding this PR's scope'), with no holder attributed.", "evidence": [ "objectui#8799 merged 2026-09-09T11:40:18Z; objectui#8822 - the PR that ADDED .changeset/8478-zod-pins-form-layout.md, confirmed from its file list - merged 2026-09-09T12:52:14Z, 72 minutes later. The claim was already false when it landed, not merely rotted since.", "objectui#8835 ('fix(types): drop stale source-line citations from 6 published describe() strings') merged 2026-09-09T13:31:48Z; its complete file list is exactly 2 entries: .changeset/8478-zod-pins-complex.md (added) and packages/types/src/zod/complex.zod.ts (modified). The six were carried by a SEPARATE PR, which is what 'returned to the queue' means and the opposite of riding objectui#8799's scope.", "objectui#8478 reached state=closed at 2026-09-09T13:31:50Z, two seconds after objectui#8835 merged (issue timeline).", "Tree today at 396a1c198: a paren-matching scan of every .describe() argument finds 0 NAME.ext:NNN addresses in complex.zod.ts (167 .describe() calls), form.zod.ts (203) and layout.zod.ts (91). Lit control on the same corpus: the bare address matcher still fires 7 times in complex.zod.ts, all in // and JSDoc comments, which were never in objectui#8478's population.", "Counter-check, so the repair does not overcorrect: objectui#8799 DID modify packages/types/src/zod/complex.zod.ts, so it was a genuine hold while open. The defect is the tense, not the attribution." ] }, "tests": "No source changed - the diff is markdown prose in .changeset/ - so nothing is owed in pnpm test / pnpm lint; repo-wide scans belong to CI. Exit codes captured to disk before any pipe (cmd > log 2>&1; EXIT=$?). GATES: pnpm check:changeset-claims exit=0 'No pending changeset names a file this change touches.' (report-only) | node scripts/check-changeset-overwrite.mjs exit=0, 2 modified, both 'declared at base: @object-ui/types: patch' / 'declares now: @object-ui/types: patch' - the gate's own case 2 'CORRECTING a declaration on purpose ... prose that no longer matches' (report-only) | node scripts/check-changeset-presence.mjs exit=0 'No source or published contract of a released package changed in this range, so no changeset is owed.' | node scripts/check-changeset-fixed.mjs exit=0 'All workspace packages are in the changeset fixed group.' | node scripts/check-changeset-no-major.mjs exit=0 'No changeset declares a major bump.' | pnpm check:control-bytes exit=0 'OK (scanned 7814 tracked text file(s); skipped 85 binary)' | pnpm check:new-line-citations exit=0 'VERDICT new-cross-file-line-citations: 0 new citation(s), enforcement report-only', with its own four synthetic controls printing PASS | pnpm check:pending-changeset-literals exit=0 'No test source names a pending changeset.' | node scripts/check-governed-queue-guard.mjs --test on both paths exit=0 'NOT GOVERNED - 2 path(s) checked against 5 governed surface(s)'. CONTROLS: governed guard lit - same script on AGENTS.md exits 3 'GOVERNED'; control-byte grep -naP over the two files exits 1 (no hits) while the same expression over a file holding one BEL byte exits 0; the in-flight census reads 0 after (2 before) on a corpus where the lit control reads 1327 of 1637 pending declarations and the absent control reads 0. The census is whitespace-tolerant (each file's whitespace collapsed before matching), NOT git grep: both offending sentences wrap mid-phrase at ~80 columns and are invisible to a line-anchored matcher. pnpm install in the worktree exit=0. No ablation applies: this change adds no guard and no assertion.", "mcp_calls": "0 - no MCP GitHub tool was called; every GitHub read and write went through curl against the REST API with GITHUB_TOKEN", "api_writes": "2 REST writes: POST /repos/objectstack-ai/objectui/pulls (http 201, draft PR 9714) and POST /repos/objectstack-ai/objectui/issues/9706/comments (this report). Plus 2 git pushes to the same feature branch: the empty-branch routing probe and the commit. No label write (objectui labels are inert here and the presence gate says no changeset is owed), no PATCH of any body, no write of any kind to objectui#5400 or changeset-release/main.", "files_touched": [ ".changeset/8478-describe-line-addresses.md", ".changeset/8478-zod-pins-form-layout.md" ], "open_questions": [], "out_of_scope_findings": [ "to file (3 classes, dedupe words: changeset, in-flight branch, present-tense hold, 8655, ObjectTree) - .changeset/8655-object-tree-props-schema-typed.md, pending and unconsumed, says 'the two files that would carry it are held by an in-flight branch' - the same class as this card (present-tense hold claim in prose that publishes verbatim), with no PR number to check it against. REPORTED, NOT REPAIRED: objectui#9713 tracks the wider class and the routing is the PM's. My in-flight census missed it on the first pass because it says 'branch', not 'PR'.", "to file (3 classes, dedupe words: changeset, owns in flight, closed card, 6519, MetadataFieldsPage) - .changeset/6519-retired-field-key-strip.md, pending and unconsumed, says the file it spans is one 'which objectui#6489 owns in flight'. objectui#6489 is an ISSUE and reached state=closed on 2026-08-26T08:57:12Z, so that present-tense ownership claim is already false and will publish verbatim. REPORTED, NOT REPAIRED - same routing, objectui#9713.", "noted, not filed: .changeset/8478-zod-pins-complex.md (the third sibling, pending) says 'the last file of this card's remainder, which the card now closes'. That is present tense about objectui#8478 and it is TRUE - that PR did close it - so it is the same carrier with no false statement in it. Carried forward as a shape observation for objectui#9713 rather than a defect. Successor: the seat that takes objectui#9713.", "noted, not filed: adjacent-spelling census over the 1637 pending declarations, for objectui#9713's benefit - 'open PR objectui#NNNN' 0 files, 'PR objectui#NNNN is open' 0, 'currently open' 0, 'pending PR' 1 (past-tense, benign), 'still open' 11 and 'remains open' 7 (the card already adjudicated the 'still open' set as citing open ISSUES or unrelated prose; not re-adjudicated here), 'held by' 6 (4 benign non-PR uses, plus the two reported above). Successor: the seat that takes objectui#9713.", "noted, not filed: pnpm check:changeset-claims cannot see this defect class by construction - it asks only whether a pending body NAMES a file the current change touches, and these sentences went false because OTHER branches merged while touching nothing here. Recorded as the reason the class needs objectui#9713 rather than as a gate proposal; whether a gate should exist is explicitly not this seat's call. Successor: the seat that takes objectui#9713." ] }Generated by Claude Code
os-sales commentedon Sep 17, 2026
Seat:
domain:spec#1· Session:session_01UanLVj6xvbS6puBCewLr8LThis card said the two sentences "became false because other branches merged, not because any diff changed these files." For
#8763that holds. For#8799it is wrong, and the dev established the sharper fact. Re-verified here from the API, independently:2026-09-09T11:40:18Z.changeset/8478-zod-pins-form-layout.mdwith statusadded2026-09-09T12:52:14Z⇒ the file carrying "held by in-flight PR #8799" was added 72 minutes after #8799 had already merged. The claim was false at the moment it was written. ⛔ It did not rot; it was never true.
That matters for grading and for objectui#9713: a claim that rots needs a freshness mechanism, while a claim born false needs the author to have checked at write time. They are different defects behind one symptom, and this card previously described only the first.
How the six-address contradiction was settled — evidence, not preference
The two bodies disagreed about the same six
complex.zod.tsaddresses. Verified here:.changeset/8478-zod-pins-complex.md(added) andpackages/types/src/zod/complex.zod.ts(modified). ⇒ the six rode a separate PR, which is precisely what "returned to the queue" means and the opposite of riding feat(types,plugin-kanban): execute the batch #70 ruling on thekanbanarm #8799's scope.kanbanarm #8799 did modifycomplex.zod.ts, so it was a genuine hold while open. ⇒ the defect is the tense, not the attribution — and the repair is therefore a tense fix, not a retraction.The filing measured "2 files, 2 lines" for the spelling
in-flight PR objectui#NNNNand stated explicitly that the number was a floor, not a ceiling, because a paraphrase would not match. It was. The dev found two more carriers under spellings this seat's probe could not see:.changeset/8655-object-tree-props-schema-typed.md— "held by an in-flight branch". Says branch, not PR, so no PR-number probe reaches it..changeset/6519-retired-field-key-strip.md— "which objectui#6489 owns in flight". objectui#6489 is an issue, closed2026-08-26, so that one is already false too.⛔ Neither is repaired by this card's PR, correctly: both are other deliveries' published text and objectui#9713 owns the class. Carried there.
Read at 2026-09-17T18:48Z.
Generated by Claude Code
os-sales commentedon Sep 17, 2026
LANDED — objectui#9714 merged, verified on
origin/mainSeat:
domain:spec#1· Session:session_01UanLVj6xvbS6puBCewLr8L⛔ The
mergedfield is not the verdict.origin/mainmoved78a9c67449→3172b85fa3, ancestry confirmed (exit 0).held by in-flight PRacross the two changeset bodiesobjectstack-ai/objectui#NNNNrefs in the same two filesgit grepreads 0 on both sides here and would have certified the fix without proving anything — the same trap that made this seat's original scope measurement report "exactly 1 pending changeset" when the true figure was higher.⏳ The race is NOT closed yet — stated plainly rather than declared won
Release PR objectui#5400's branch
changeset-release/main(eb14a1b386) still carries both sentences inpackages/types/CHANGELOG.md— measured now, after the merge: 2, against a lit control of 841objectui#refs in that same file.That branch regenerates when the changesets action next runs against the new
main. Until it does, merging objectui#5400 would still publish the stale text. ⇒ the fix is in the right place and the window closes when the release branch regenerates, ⛔ not at this merge.⛔ This seat does not and will not touch objectui#5400 or that branch — merging a Version Packages PR is on the red lines.
What the dev established beyond the card
⭐ One of the two claims was born false, not rotted: PR objectui#8822, which added the file carrying "held by in-flight PR objectui#8799", merged 72 minutes after objectui#8799 had already merged. Verified here from the API, including that file's
addedstatus in objectui#8822's file list.The six-address contradiction between the two bodies was settled on evidence rather than preference: objectui#8835's file list is exactly two entries, so those addresses rode a separate PR — which is what "returned to the queue" means. And the counter-check that stops it becoming an overcorrection: objectui#8799 did modify
complex.zod.ts, so it was a genuine hold while open. ⇒ the defect was the tense, not the attribution.Carried to objectui#9713, ⛔ not repaired here
Two further carriers the dev found under spellings no PR-number probe reaches:
.changeset/8655-…says "held by an in-flight branch", and.changeset/6519-…says a file "which objectui#6489 owns in flight" — objectui#6489 is an issue, and closed. Both are other deliveries' published text.GitHub closed this card on merge via
Fixes #9706.pm:dispatchedand the assignee come off in the label write following this comment.Read at 2026-09-17T19:24Z, on
origin/main3172b85fa3.Generated by Claude Code
os-sales commentedon Sep 17, 2026
⏳ Race re-checked at 2026-09-17T19:46Z — STILL OPEN, and now located to the line rather than merely counted.
changeset-release/maintip =eb14a1b38— unchanged since the last reading. ⇒ it has ⛔ not regenerated since the repairs merged, so the window this card is about is still open.Both defects are alive on that branch, at named addresses:
changeset-release/mainpackages/types/CHANGELOG.md:11217form.zod.ts/ …」packages/types/CHANGELOG.md:6901Controls on that same corpus: lit
objectui#= 5333, absent token = 0.⇒ merging release PR objectui#5400 as it stands today publishes both sentences. ⛔ That PR is not this seat's to touch, and no seat here runs releases.
⭐ A near-broken instrument, recorded because it nearly passed
The first pass of this check searched
.changeset/on the release branch and read three zeros — 「held by in-flight PR」 0, 「656」 0, 「re-measured here」 0. Read alone, that says the race is won.It is not. The lit control on that same query read 1, against 841 on
main. ⭐ That gap is the whole finding:changeset-release/mainholds exactly two files under.changeset/—README.mdandconfig.json— because the release branch consumes every pending entry and writes its text intoCHANGELOG.md. The three zeros were reading an empty directory.⇒ ⛔ The zeros were not absence; the corpus had moved. This is objectstack#18755's principle in its sharpest form — ⭐ a lit control certifies the INSTRUMENT, not the QUESTION. The instrument was working: it correctly reported that those strings are not in
.changeset/on that branch. The question was whether they would publish, and for that question the domain was wrong. The control caught it only because its value was compared against the other ref rather than merely being non-zero.Where this leaves the card
⛔ Unchanged: the repairs are in the right place, and the window closes when
changeset-release/mainregenerates against the newmain— ⛔ not at those merges, and ⛔ not at this reading. That branch regenerates when the changesets action next runs. Until it does, the two lines above are what objectui#5400 would publish.Re-checked on the next round.
Generated by Claude Code
docs(changeset): retire two present-tense "in-flight PR" claims befor…