The "is a release staged?" check that guards every changeset-window card queries a PR title that exists in neither repository. Both release PRs are open right now and the check reads them as absent.
The measurement
| repo |
the standing Changesets release PR |
title |
head branch |
opened |
last refreshed |
objectui |
objectui#5400 |
chore: release packages |
changeset-release/main |
2026-08-20 |
2026-09-07 |
objectstack |
objectstack#17076 |
chore: version packages |
changeset-release/main |
2026-09-09 |
2026-09-11T06:17Z |
Both opened by github-actions[bot] via the Changesets action. Both open. Neither is titled Version Packages, and the two repos do not even title theirs the same as each other (release vs version).
⇒ a query on the string Version Packages returns 0 in both repos, in every state, forever. It is not a stale reading — it is a query that can never fire.
Where it fired as a false all-clear
objectui#9065's watch re-check (comment 5628564370, 2026-09-11T02:31Z) recorded:
「Second control, for the thing that actually closes the window: open Version Packages PRs in this repo = 0 (11 open PRs total). ⇒ no release is staged, so the six cannot ship this minute.」
At that moment objectui#5400 had been open for 22 days, and its head already carried three of the six changesets folded into CHANGELOGs. Measured across all 42 CHANGELOG.md files on e4ce4f4, each read flattened, one run:
| changeset |
phrase |
on objectui#5400's head |
on main fac5acfa4 |
5293-view-sort-order-spelling.md |
…tracked as objectui#6011 |
1 |
0 |
7165-grid-dependent-values.md |
…tracked as #7188 |
1 |
0 |
7655-chatbot-registration-authoring-faces.md |
…tracked as objectui#7708 |
2 |
0 |
Control: olive-pears-invent.md's UNATTRIBUTED_STRIP_OBJECT reads 0 on that same head in that same sweep — a real zero (empty frontmatter ⇒ no CHANGELOG entry), which is what shows the instrument discriminates rather than matching everything.
⇒ the conclusion drawn — 「no release is staged」 — was false, and its consequence — 「the six cannot ship this minute」 — was the opposite of the truth. They can ship the minute someone merges a PR that has been sitting open for three weeks.
Why this is worth a card rather than a correction on objectui#9065
⚠️ The same control guards every card whose grade rests on a release window, in both repos. objectstack#17026 is recorded as having lost exactly this window — its release ran 47 minutes after filing, and two false claims are now permanent in packages/spec/CHANGELOG.md and packages/metadata-protocol/CHANGELOG.md. ⇒ a check that reports 「no release staged」 when a release PR is open is the precise failure mode that loss is attributed to.
The identifier that does work
⛔ Not the title — it differs per repo and is the action's default, changeable by config.
✅ The head branch changeset-release/main, which is the Changesets action's own convention and is byte-identical in both repos:
is:pr is:open head:changeset-release
returns exactly 1 in each. ⭐ Better still, the question 「is a release staged?」 has a sharper form: a Changesets release PR is always open once any changeset is pending, so its mere existence carries almost no information. What carries information is whether the pending changeset in question is already folded into that PR's head — which is a direct read of the head's CHANGELOG.md, as measured above, and answers 「how close is this to permanent」 rather than 「has a release begun」.
⛔ Deliberately not asserted
- ⛔ No claim that either release PR should be merged or held. That is a maintainer act and nothing here touches it.
- ⛔ No claim about objectstack#17026's own grading. It is cited only as the recorded precedent for what this window costs when it closes; whether this check contributed to that loss is not measured here.
- ⛔ Not graded —
domain:* and priority are triage's.
Refs: objectui#9065 (where it fired) · objectui#5400 · objectstack#17076 · objectstack#17026 (the precedent).
Generated by Claude Code
The "is a release staged?" check that guards every changeset-window card queries a PR title that exists in neither repository. Both release PRs are open right now and the check reads them as absent.
The measurement
objectuichore: release packageschangeset-release/mainobjectstackchore: version packageschangeset-release/mainBoth opened by
github-actions[bot]via the Changesets action. Both open. Neither is titledVersion Packages, and the two repos do not even title theirs the same as each other (releasevsversion).⇒ a query on the string
Version Packagesreturns 0 in both repos, in every state, forever. It is not a stale reading — it is a query that can never fire.Where it fired as a false all-clear
objectui#9065's watch re-check (comment
5628564370, 2026-09-11T02:31Z) recorded:At that moment objectui#5400 had been open for 22 days, and its head already carried three of the six changesets folded into CHANGELOGs. Measured across all 42
CHANGELOG.mdfiles one4ce4f4, each read flattened, one run:mainfac5acfa45293-view-sort-order-spelling.md…tracked as objectui#60117165-grid-dependent-values.md…tracked as #71887655-chatbot-registration-authoring-faces.md…tracked as objectui#7708Control:
olive-pears-invent.md'sUNATTRIBUTED_STRIP_OBJECTreads 0 on that same head in that same sweep — a real zero (empty frontmatter ⇒ no CHANGELOG entry), which is what shows the instrument discriminates rather than matching everything.⇒ the conclusion drawn — 「no release is staged」 — was false, and its consequence — 「the six cannot ship this minute」 — was the opposite of the truth. They can ship the minute someone merges a PR that has been sitting open for three weeks.
Why this is worth a card rather than a correction on objectui#9065
packages/spec/CHANGELOG.mdandpackages/metadata-protocol/CHANGELOG.md. ⇒ a check that reports 「no release staged」 when a release PR is open is the precise failure mode that loss is attributed to.The identifier that does work
⛔ Not the title — it differs per repo and is the action's default, changeable by config.
✅ The head branch
changeset-release/main, which is the Changesets action's own convention and is byte-identical in both repos:returns exactly 1 in each. ⭐ Better still, the question 「is a release staged?」 has a sharper form: a Changesets release PR is always open once any changeset is pending, so its mere existence carries almost no information. What carries information is whether the pending changeset in question is already folded into that PR's head — which is a direct read of the head's
CHANGELOG.md, as measured above, and answers 「how close is this to permanent」 rather than 「has a release begun」.⛔ Deliberately not asserted
domain:*and priority are triage's.Refs: objectui#9065 (where it fired) · objectui#5400 · objectstack#17076 · objectstack#17026 (the precedent).
Generated by Claude Code