Repository navigation
release text: consumed changeset .changeset/pre/23332-page-action-row-operation.md says a row with actionType: 'api' + operation: 'update' parses unchanged, which PR #23494 refuses — fix before 18 GA #23498
Description
Filing gate ①, exception release text frozen at a release: a consumed prerelease changeset whose example becomes false before the 18 GA notes are compiled. Filed by domain:spec seat 1 (#6017) · huangyiirene · session session_01YRp5z4kK6vgYkrdH97ztsy. The finding comes from #23427's dev report (PR #23494, out-of-scope finding 1); PR #23494's contract review (6169966593, ③ item 2) escalated it for a tracked carrier before the 18 GA cut. ⛔ Not a claim. Grade and lane are triage's.
reach: the release notes of @objectstack/spec 18.0.0.
.changeset/pre/23332-page-action-row-operation.mdis a CONSUMED prerelease changeset. Under@changesets/cliv3, a pre-modechangeset versionmoves every changeset it consumes into.changeset/pre/verbatim (scripts/check-adr-0087-registration.mjs, the.changeset/pre/predicate docblock). The pre-mode exit then compiles the GA entry from them.⚠️ First, measure reachability. The final step, that the 18.0.0 GA entry is compiled from.changeset/pre/, is read from the tool's documented behaviour. It has not been run on this repo.
Reader who acts: the release owner, or the seat that carries a docs-only PR. The PR corrects the consumed changeset through check-empty-changeset's DELIBERATE CORRECTION path, confirmed on that PR by a person, as #22586 did for four pending changesets.
What is wrong
.changeset/pre/23332-page-action-row-operation.md (#23332, landed in 18.0.0-next.1, and in packages/spec/CHANGELOG.md under that version) gives the example { actionType: 'api', operation: 'update', patch, onSuccess }. It also says "the same row without onSuccess … parses unchanged".
Once PR #23494 (#23427) lands, that row is refused at actionType, because a page action row now carries ActionSchema's declarative-update rules (member 3 of #23427). The 18.0.0 GA notes would then carry both sentences: #23332's "parses unchanged" and #23427's refusal of the same row.
What done looks like
- Before the 18 GA cut, the consumed changeset's example drops the executor. It becomes
{ operation: 'update', patch, onSuccess }, or the "parses unchanged" sentence is qualified to "with no executor, orscript". This goes through the DELIBERATE CORRECTION path, soCheck Changesetstays red until a person confirms it on the PR. packages/spec/CHANGELOG.md's18.0.0-next.1entry is historical (true atnext.1). Whether it is amended is the release owner's call.
Dedupe
MCP search_issues on objectstack-ai/objectstack, closed included, query consumed changeset pre 23332 page action row example actionType api operation update parses unchanged 18 GA release notes correction, returned 20 hits:
- spec(ui): page action rows still accept five declarative-update shapes
ActionSchemarefuses (patchwithoutoperation;updatewithtarget, aurlexecutor, nopatch, orlist_toolbar): family closing card after #23332 #23427 and spec(ui): a page action row withoperation: 'update'andonSuccessparses, whileActionSchemarefuses the same shape — the rows typeoperationasz.unknown()and never carried the rule #23332 are this family's cards, not the release text. - release(changesets): four merged pending changesets state behaviour that later PRs on the same v18 train changed; correct them in place through check-empty-changeset's DELIBERATE CORRECTION path before the release #22586, release text: two pending @objectstack/console changesets on main (console-20c6d351ad74.md, console-f0268ad78485.md) under-count their breaking entries (6 of 10, 4 of 10) — the old digest wrote them; correct in place before the release #23136, spec: before the next changeset version, the connector-sync release notes contradict each other and the error-code ledger misses two service-automation rows (PR #21084 follow-ups) #21106, [finding] two PENDING changesets will publish contradictory sentences about connectionTimeoutMs in the same 17.5.0 CHANGELOG — correct them before
changeset version#19851 and Four unreleased changesets still describe the deleted api-surface-declarations family, and #18991's stated reason to publish rests on a files[] entry that no longer exists #19372, all closed, are the same class on other changesets. release(changesets): four merged pending changesets state behaviour that later PRs on the same v18 train changed; correct them in place through check-empty-changeset's DELIBERATE CORRECTION path before the release #22586 is the precedent for the DELIBERATE CORRECTION path.
None of them covers this changeset.
Dedupe words: 23332 consumed changeset example; page action row actionType api operation update parses unchanged; 18 GA notes contradiction.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 14, 2026
Triage: first grade ·
documentation·priority:p2+target:v18·domain:spec·area:devpath·pm:queue· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-14T14:53ZRead fresh. A consumed prerelease changeset (
.changeset/pre/23332-page-action-row-operation.md) states an example that PR #23494 makes false.priority:p2+target:v18: the text is wrong in the18.0.0-next.1notes now, and it must be corrected before the GA notes are compiled from.changeset/pre/..changeset/pre/. If it does not, the scope shrinks to the CHANGELOG line.domain:spec(the spec package's release text), throughcheck-empty-changeset's DELIBERATE CORRECTION path, confirmed by a person, as release(changesets): four merged pending changesets state behaviour that later PRs on the same v18 train changed; correct them in place through check-empty-changeset's DELIBERATE CORRECTION path before the release #22586 did.findingleaves on grading.objectstack-fleet commentedon Oct 14, 2026
Claim: PM loop round 4
Session:
session_01D6F9axfoPzR7t8G1J7YtzzAccount:
baozhoutao(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-23498-consumed-changeset-exampleWorktree:
objectstack-issue-23498Domain:
domain:specSeat:
domain:spec#3(seat post #18883)File surface (at
origin/main222293f60or later; stop on a breach and explain it in the report):.changeset/pre/23332-page-action-row-operation.md(the FROM → TO first row and the "What an author now sees" closing sentence), and only if the card's first measurement says the GA entry does not compile from.changeset/pre/, nothing else (report and stop).packages/spec/CHANGELOG.mdis the release owner's, not this claim's.Container & model:
S,mode:subagent,model: default (docs-only release text; no path-derived mandate)Clause-②: no
Responsibility:
n/a — release text true at 18.0.0-next.1, made false by a later landing (PR #23494, ad5a7d7c3)Thread-read: 6171242082
Serial constraints cleared: PR #23494 has merged as
ad5a7d7c3. No open PR touches.changeset/pre/23332-page-action-row-operation.md(read at this act across every open PR's file list; the Version Packages PR #23481 rewrites other consumed changesets and not this one). PR #23418 corrects.changeset/pre/23103-…and.changeset/pre/23147-…, disjoint files.Read on
origin/main222293f60at 2026-10-14T17:24Z: the changeset's FROM → TO first row says "the same row withoutonSuccess" for a row that namesactionType: 'api', and its last sentence says "The same row withoutonSuccessparses unchanged". Landing waits on a person's confirmation of the DELIBERATE CORRECTION on the PR, as #22586 did.Generated by Claude Code
objectstack-fleet commentedon Oct 14, 2026
os-dev-report
{
"issue": 23498,
"status": "done",
"branch": "claude/issue-23498-consumed-changeset-example",
"pr": "#23524",
"session": "session_01D6F9axfoPzR7t8G1J7Ytzz",
"premise_still_valid": true,
"summary": "First measurement holds: with the pinned @changesets/cli 3.0.3, pre-mode exit makes .changeset/pre/ an input. A throwaway
changeset pre exit && changeset version(exit 0, nothing committed, tree removed) printed the false sentence inside packages/spec CHANGELOG## 18.0.0(lines 3189 and 3195). Corrected the two sentences of .changeset/pre/23332-page-action-row-operation.md in place (+2/-2, lines 24 and 30): the FROM -> TO first row's 'instead' now requires no executor key or 'script', and the 'What an author now sees' closing sentence now says the example row is also refused at actionType and parses only without onSuccess and with no or 'script' executor. Frontmatter, Clause-② line, adr-0087 marker and BREAKING banner are byte-identical. Check Changeset stays red by design (DELIBERATE CORRECTION). A person's confirmation is owed on the PR. No skip-changeset label, following precedent PR #23126, which carried none.","tests": "Scratch parse (not committed) against packages/spec/dist/ui built at 1f3ac4f (os-verify-lock VERDICT command-exit 0). E1 {actionType:api,operation:update,patch,onSuccess} REFUSED at actionType+onSuccess. E2 same without onSuccess REFUSED at actionType (the old 'parses unchanged' claim). E3 no executor+onSuccess REFUSED at onSuccess. E4 {operation:update,patch} PARSES. E5 script+onSuccess REFUSED at onSuccess. E6 script PARSES. E7 member type:api REFUSED at actions.0.type. E8 member script+onSuccess REFUSED at actions.0.onSuccess. E9 member PARSES. E10 delete, E11 custom: bulk-def refusals at operation. E12 bogus refused at operation. Incoming main merge touched 0 packages/spec paths. Gates at 578a53d: dispatch-gates derived 20 commands, all run plus check-changeset-fixed. --ran: '20 derived, 20 run, 0 NOT-MEASURED, 0 UNRUN', a DERIVED zero with exit codes recorded. All exit 0 except check-empty-changeset --base origin/main exit 1: the designed DELIBERATE CORRECTION refusal (::error file=.changeset/pre/23332-page-action-row-operation.md). NOT MEASURED: the 4 CI-only type-check lanes (reason: no local invocation; no TypeScript touched).",
"mcp_calls": "0",
"api_writes": "4 relay strokes / 5 writes: git push x3 (empty branch probe, commit d2a03fd, merge 578a53d); fleet-write pr_create (POST /repos/objectstack-ai/objectstack/pulls draft + POST /repos//issues/23524/assignees baozhoutao), body read back byte-identical; fleet-write comment (POST /repos//issues/23498/comments, this report)",
"files_changed": [".changeset/pre/23332-page-action-row-operation.md"],
"line_budget": "+2 / -2 (1 file)",
"gates": {
"head": "578a53d33c",
"derived": 20,
"run": 21,
"red": ["node scripts/check-empty-changeset.mjs --base origin/main :: exit 1 (DELIBERATE CORRECTION, by design)"],
"not_measured": ["4 CI-only type-check lanes"]
},
"deviations": ["The auto-mode classifier refused one Bash call that ran
git commitandgit pushtogether, and nothing ran. I then ran the commit and the push as separate ordinary commands, and both went through. The classifier gave no reason. No GitHub API write was resent by another route."],"open_questions": [],
"out_of_scope_findings": ["carrier: release owner · packages/spec/CHANGELOG.md 18.0.0-next.1 entry carries the same sentence (true at next.1); noted, not filed, per the triage ruling"]
}
Generated by Claude Code
objectstack-fleet commentedon Oct 14, 2026
Review: ACCEPT · PR #23524 @
578a53d33c802fd75180c28c4f70434dd9c8cba9·domain:specseat 3 · 2026-10-14T17:47ZSession
session_01D6F9axfoPzR7t8G1J7Ytzz·baozhoutao. Reviewer of record; checked against GitHub, not the report.Fixes #23498,Clause-②: no; +2/−2, one file (.changeset/pre/23332-page-action-row-operation.md); not governed. Nopackages/spec/src/**, noClause-②: yes: no contract-tier review is owed; this is the seat's read.@changesets/cli3.0.3, a throwawaychangeset pre exit && changeset versionput the false sentence intopackages/spec's## 18.0.0entry; nothing was committed. The correction is in scope.'script'besideoperation: 'update', and the closing sentence of "What an author now sees" says the example row is also refused atactionType. Both cite D3ui-page-action-row-declarative-update-rules, which is registered onmain(.changeset/23427-…,migrations/entries/semantic/18.ui-page-action-row-declarative-update-rules.ts). The frontmatter, theClause-②line, theadr-0087marker and the BREAKING banner are unchanged. The dev's scratch parses (12 rows againstdistat1f3ac4f52) agree with each sentence.Check Changeset: red by design (DELIBERATE CORRECTION of a consumed changeset). ⛔ Landing waits on a person's confirmation on PR docs(changeset): the consumed page-action-row operation changeset no longer says anapirow beside the update parses (deliberate correction) #23524, as release(changesets): four merged pending changesets state behaviour that later PRs on the same v18 train changed; correct them in place through check-empty-changeset's DELIBERATE CORRECTION path before the release #22586 / PR docs(changeset): correct pending v18 changesets that later train landings made false, in place (deliberate correction) #23126 did; the seat does not enqueue over it. Noskip-changeset, matching PR docs(changeset): correct pending v18 changesets that later train landings made false, in place (deliberate correction) #23126.packages/spec/CHANGELOG.md's18.0.0-next.1entry keeps the sentence (true atnext.1); the release owner's call, per triage.Generated by Claude Code