Skip to content

docs(pm-dispatch): cut-moment console-bump precondition in the release protocol (#7275 Option A) + claim-time label-pair atomicity (#7239) - #7416

Merged
os-help merged 1 commit into
mainfrom
claude/issue-7275-cut-moment-bump-precondition
Aug 10, 2026
Merged

docs(pm-dispatch): cut-moment console-bump precondition in the release protocol (#7275 Option A) + claim-time label-pair atomicity (#7239)#7416
os-help merged 1 commit into
mainfrom
claude/issue-7275-cut-moment-bump-precondition

Conversation

@os-help

@os-help os-help commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Fixes #7275
Part of #7239 (devx half only — the engine-core half stays open on that card)

What this PR does

Two ruled edits to .claude/skills/pm-dispatch/SKILL.md, nothing else:

  1. No producer files the final console bump card at the release-cut moment — the #6162 chore is keyed to a settled window, and the card it does file never reaches the release board #7275 Option A — cut-moment precondition. In the 「发版时刻 = 清板,不是重扫」 paragraph, the pre-ruling deferral tail (「…处置形态待裁。⛔ 在 No producer files the final console bump card at the release-cut moment — the #6162 chore is keyed to a settled window, and the card it does file never reaches the release board #7275 有裁决之前,不要把「两张板已清空」读成「console bump 也已就位」——这两件事今天没有任何机械关联。」) is replaced by the ruled precondition: before board-clearing begins, take the pin readout once (.objectui-sha vs objectui main; once, not a rescan); if the pin lags, the console bump card must exist and be boarded (target:<major>, boarded by the seat that already owns that label's production — the bump card lives in objectstack, so the triage seat; single-producer is preserved) or be explicitly waived with the standard accepted-for-GA comment. Neither ⇒ no cut. The surrounding case-law (window-close trigger ≠ cut moment, pm:queue-only specimen chore: bump the console pin to pick up objectui#4071 (approvals:inbox component ref) #7268, the Release process: prevent frontend (objectui) changesets being missed when the console pin lags #3340/release workflow: publish pushes tags + npm but its version commit never reaches main — twice now (rc.3 c6a52d3, rc.4 a10cbc77); landing the commit must be part of the publish lane #6170 hard gates protecting the release record) is kept and now reads as the rationale for the precondition instead of an open gap.

  2. [decision] engine-core lane drops pm:queue at dispatch without applying pm:dispatched — 7 instances of the ghost-card shape; pick the repair #7239 devx half — label-pair atomicity in step 4. Judged against the current text first, per the dispatch: step 4 item 1 read "Assign to yourself (@me) and add pm:dispatched" and never mentioned removing pm:queue at all — the pair was genuinely unstated, so the clarification is warranted (not a reflexive edit). It now reads: apply pm:dispatched in the same label write that removes pm:queue; the pair is atomic, never half, with the [decision] engine-core lane drops pm:queue at dispatch without applying pm:dispatched — 7 instances of the ghost-card shape; pick the repair #7239 ghost-card shape as the recorded reason.

Authorization (quoted verbatim)

Maintainer ruling on #7275 (2026-08-10 07:34Z):

Option A — a cut-moment precondition in the release protocol. Before a cut, the release protocol takes the pin readout once; if the pin lags, the console bump card must exist and be boarded (target:v17) or explicitly waived with the standard accepted-for-GA comment. Boarding is done by the seat that already owns target:v17, preserving single-producer.

Maintainer ruling on #7239 (2026-08-10 05:09Z), devx-half clause:

Option A. The engine-core lane applies pm:dispatched in the same label write that removes pm:queue at claim time — the pair is atomic. … devx seat lands a one-line SKILL clarification if the dispatch-flow text is ambiguous about atomicity.

⚠️ Maintainer-merged only

Per the standing constraint recorded on #6906's claim chain and #7275's claim comment: this PR edits the SKILL governing the dispatching seat's own behavior, so it is maintainer-merged only — opened as draft for the PM to review and flip ready; it must not be enqueued and auto-merge must not be enabled.

#6906 transfer note

The deliverable-1 remainder of #6906 (closed) was transferred onto this card by the 2026-08-10 10:28Z closure audit. Verified on origin/main before editing: the transfer premise was stale — PR #7292 (merged 2026-08-10 07:18Z, commit 2cad546) had already landed the two-query 「消费者三处」 bullet, and no 「归 #6906」 deferral note exists in the file. The only live remainder was the 「处置形态待裁 / ⛔ 在 #7275 有裁决之前」 tail, which edit 1 resolves. No further #6906 work remained; nothing else was touched.

Checks

  • check:pm-skill-ratchet ✅ 3,027 lines (ceiling 3,050; headroom 23)
  • check:skill-frame-sync ✅ · check:doc-authoring ✅ · check:nul-bytes
  • check:doc-formula-expressionsno such script exists in this repo (searched package.json and scripts/); listed in the dispatch but not runnable, noted in the report.
  • .claude/**-only diff ⇒ no changeset (PM applies skip-changeset at review).

🤖 Generated with Claude Code

https://claude.ai/code/session_01QAjoh3k1z5Q4EAqHzvZuJr


Generated by Claude Code

…e protocol (#7275 Option A), claim-time label pair is atomic (#7239)

Release protocol (发版时刻 = 清板): replace the pre-ruling deferral tail
(处置形态待裁 / ⛔ 在 #7275 有裁决之前) with the ruled precondition — before
a cut, take the pin readout once; if the pin lags, the console bump card
must exist and be boarded (target:<major>, by the seat that owns that
label's production) or explicitly waived with the standard accepted-for-GA
comment. Maintainer ruling 2026-08-10 on #7275 (Option A).

Step 4 claim: state the label pair explicitly — pm:dispatched is applied
in the same label write that removes pm:queue; the pair is atomic
(maintainer ruling 2026-08-10 on #7239, devx half).

The #6906 deliverable-1 remainder (two-query consumer bullet) was already
landed by #7292; no further edit needed there.

Fixes #7275
Part of #7239

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QAjoh3k1z5Q4EAqHzvZuJr
@vercel

vercel Bot commented Aug 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 10, 2026 10:39am

Request Review

@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation labels Aug 10, 2026
@os-help os-help added skip-changeset PR has no user-facing published change; bypasses the changeset gate and removed size/s labels Aug 10, 2026 — with Claude
@os-help
os-help marked this pull request as ready for review August 10, 2026 11:57
@os-help
os-help added this pull request to the merge queue Aug 10, 2026
Merged via the queue into main with commit d13ce33 Aug 10, 2026
26 of 27 checks passed
@os-help
os-help deleted the claude/issue-7275-cut-moment-bump-precondition branch August 10, 2026 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants