Skip to content

skills(pm-dispatch): notification handover — review-request and assign os-zhuang, retire the decision digest - #9982

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-9976-notification-handover
Aug 19, 2026
Merged

skills(pm-dispatch): notification handover — review-request and assign os-zhuang, retire the decision digest#9982
os-zhuang merged 1 commit into
mainfrom
claude/issue-9976-notification-handover

Conversation

@os-warren

Copy link
Copy Markdown
Collaborator

Fixes #9976

Implements the 2026-08-19 maintainer rulings: every waiting-on-maintainer state must be a GitHub-native, push-notifying state, not a line of prose in a seat post or a generated view. Governed surface (.claude/skills/pm-dispatch/SKILL.md) — this PR stays draft and is human-merge-only; this PR is also the mechanism's own bootstrap (review requested from os-zhuang on this draft).

The three edits

  1. ACCEPT path-fork clause (governed-surface PRs) — the draft-forever rule and the three prohibitions (never flip ready / never queue / never arm auto-merge) are unchanged verbatim; the set grows from three steps to four: new step requests review from os-zhuang on the draft PR. Grounded in the measured fact (2026-08-19): a draft PR accepts a review request and it pushes to the maintainer's phone — maintainer confirmed 「推送到了」. The awaiting-a-human-merge list thereby lives in GitHub's Review-requested queue and self-clears on merge.
  2. needs-user-decision flow — the stroke that flips the label also assigns os-zhuang; the ruling-transcription / auto-adjudication stroke that exits the state unassigns in the same stroke (recorded in the state-model row, the escalation flow step 2, and the atomic four-piece ruling-record step 3). The decision inbox = the maintainer's Assigned queue. The row states the assignment is inbox routing, not a claim — it does not enter stale-claim reclaim.
  3. Decision digest retired — the per-round refreshed digest duty in the triage-seat section and the digest/batch-adjudication standing paragraph (2026-08-18 「同意」, superseded by 2026-08-19 「之前定期生成的决策汇总 issue没什么用」) are deleted. Kept unchanged: the per-card decision-facets block (marker text spelled os-decision-facets), its validation duty, and the transcription duty (survives as escalation-flow step 3, the atomic four-piece record). The superseding ruling is recorded with date and verbatim quote at the facets-block provenance line. Closing the digest issue itself is left to the PM at landing accounting, deliberately not referenced from operational text (id-lint).

Line budget (682-ceiling shrink-only ratchet, headroom was 0)

  • Before: 682 · After: 678 · Ceiling: 682 · headroom now 4.
  • Payment: the retired digest text (−7 lines) plus the digest-duty compaction in the triage section (−1) covers the additions (+3 in the ACCEPT fork, +1 at the facets provenance; the state-model row and the two flow-step edits are single-line appends, zero line cost). No re-wrapping of pre-existing lines was used as payment; no other content was cut.

Gates (all run at HEAD 6649fc405, exit codes captured before any pipe)

  • check:pm-skill-ratchet — "✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/SKILL.md is 678 lines (ceiling 682; headroom 4)."
  • check:pm-governed-prose — "✓ check-governed-prose: 2 instruction surface(s) name all 5 registered governed surfaces (docs/adr/** · .claude/** · skills/** · AGENTS.md · CLAUDE.md) and claim no others." (self-test 24 cases pass; the edit sits inside the pinned region and preserves every register code span)
  • check:pm-skill-id-lint — "✓ check-skill-id-lint: 15 file(s) clean (pattern matches 3+ digit issue ids)."
  • check:skill-frame-sync — "✓ check-skill-frame-sync: 4 copies of the decision frame are structurally isomorphic across 3 files"
  • check:skill-compatibility — "✓ check-skill-compatibility-version: 11 SKILL.md file(s) reconciled against 77 workspace packages"
  • check:doc-authoring — "✓ doc authoring guard: 377 files clean — no bare metadata literals."
  • check:pm-governed-merges --self-test — "✓ check-governed-merges --self-test: 77 assertions"
  • check:doc-formula-expressions — "✓ check:doc-formula-expressions: 22 record-scoped formula example(s) across 402 files / 1413 TS blocks judged clean"
  • Family list derived by node scripts/pm/dispatch-gates.mjs (no args, real diff vs merge base 8fa4e2a76): all 7 named families run, all green. Tier line: "Model tier — MANDATORY: claude-fable-5" (clause ①, this card ran on it).

Reverse verification (direction predicted in writing before running)

Predicted: appending 5 filler lines (683 lines) turns the ratchet RED naming the file and ceiling. Observed: "✗ check-skill-line-ratchet: .claude/skills/pm-dispatch/SKILL.md is 683 lines; the ratchet ceiling is 682." (exit 1). Restored from the committed state via git checkout of the branch path; re-run green at 678 (exit 0), worktree clean.

No changeset: instruction-file-only PR, nothing published ships (skip-changeset).


Generated by Claude Code

…os-zhuang, retire decision digest

Per maintainer rulings 2026-08-19: waiting-on-maintainer states must be
GitHub-native pushable state. Governed-PR ACCEPT fork gains a step (request
review from os-zhuang on the draft PR); needs-user-decision flip assigns
os-zhuang and transcription unassigns (inbox = Assigned queue); the
per-round decision digest / batch-adjudication standing text is retired.
678/682 lines, paid by the retired digest text.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AeA3nU1B5Q2pgxqxgUrexd
@os-warren
os-warren requested a review from os-zhuang August 19, 2026 11:52
@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation labels Aug 19, 2026
@os-warren os-warren added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Aug 19, 2026 — with Claude
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 size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

notification handover: decision cards assign os-zhuang, governed PRs review-request os-zhuang; retire the decision digest (#9822)

3 participants