Uh oh!
There was an error while loading. Please reload this page.
docs(pm): protocol-text family — five graded instruction-face additions, ratchet-paid (wave 4-B) - #11312
Merged
Merged
Conversation
…echanism, not a bare comment (#11109) The locally-visible instruction for an execution seat that disputes a grading said 'report by comment' — exactly the invisible half-report a sibling rule forbids. Both occurrences (多仓协调 4 and Guardrails) now state the composed rule: attach pm:retriage + the dissent comment in the same stroke. Line-count neutral; the patrol-predicate half of the card lands in wave 4-A as Part-of. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
…or-identity review-request failures (#11083) Requesting review from os-zhuang fails hard (422) on any governed PR authored under the os-zhuang seat — GitHub forbids requesting review from a PR's author — so the awaiting-human-merge push channel is structurally dark for that class. The ACCEPT-path clause now says: request review where possible; on the author-identity 422, assign the PR to the maintainer's account instead and say so in the round report. In-place extension, line-count neutral. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
…he per-repo true-green index (#11135) (a) One sentence in the landing funnel: queue-entry eligibility = every check on the PR green, not the required subset — the required set is the floor the queue enforces, not the bar the PM applies; a red non-required check is either a real defect or a broken gate, both the PM's business before entry (incident distilled without IDs per the id-lint standard). (b) New references/true-green.md: per-repo canonical test invocations, gates invisible to CI-log greps, and local preflights — one line per fact; pointed to from review-checklist's CI-convergence item (in-place, line-count neutral). SKILL.md and review-checklist.md stay at their ceilings. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
…in the PR body (#11119) Six of six measured contradictory squash messages shared one generator: authors giving every branch commit its own honest relation to the card (lead closes, follow-ups declare partial) — the squash concatenates all of them into one self-contradictory message. The Draft-PR clause now says: card relation once, in the PR body; keep card-relation trailers out of individual branch commits. Paid in place (+2/-2): the ablation disk-confirmation incident narration is condensed to its lesson, and the gate-exit-code clause drops one rhetorical elaboration; os-dev.md stays at its ceiling. AGENTS.md untouched — it carries no closing-keyword clause to anchor the sentence and sits at headroom 0, so the sentence is not ratchet-neutral there (per the graded scope, os-dev.md alone). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
#11298) The deferred protocol-text half of the awaiting-maintainer landing: one state-model row — meaning (decision made; the remaining action is a manual maintainer operation outside GitHub's reach), the mutual exclusions (never coexists with pm:queue / pm:dispatched / pm:blocked / pm:on-hold / needs-user-decision), and the exit (maintainer performs the action; the seat clears the label with an evidence comment in the same stroke — no machine exit by construction, carried as parked inventory). Patrol mechanics deliberately not restated: check-half-states.mjs is the enforcement authority. The +1 row line is paid by compressing the standby-five list's duplicated parentheticals (each restated authoritatively in its home section, now pointed at instead of copied); SKILL.md stays at its ceiling. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
This was referenced Aug 23, 2026
os-zhuang
self-requested a review
August 23, 2026 10:02
This was referenced Aug 23, 2026
hotlong
marked this pull request as ready for review
August 23, 2026 11:36
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes#11109
Fixes#11083
Fixes#11135
Fixes#11119
Fixes#11298
Governed-surface PR (
.claude/**): opened draft and stays draft — human merge only. No seat flips it ready, queues it, or arms auto-merge (Prime Directive 14; ACCEPT-path fork applies).One graded family, one commit per member, every added line paid by in-place content compression — no ceiling raised, no re-wrap used as payment, no dated ruling or verbatim quote touched.
Per member
pm:blockedwith noBlocked-by:line is mechanically detectable, so the fix belongs in the patrol not the prose #11109 (wording half) —SKILL.md: both mislabel-report occurrences now state the composed rule 挂pm:retriage+ 异议评论同笔 (多仓协调 4 had 「留言上报」; Guardrails had the variant 「不改标签只上报误标」 — the second occurrence on current main is that variant spelling, verified before editing). Line-count neutral. The patrol-predicate half is wave 4-A's diff (Part of the same card there; not in this PR).SKILL.mdACCEPT-path clause ③ extended in place: request review where possible; on the author-identity 422 ("Review cannot be requested from pull request author"), assign the PR to os-zhuang instead and say so in the round report. Line-count neutral.SKILL.mdlanding funnel: queue-entry eligibility = every check on the PR green, not the required subset; incident distilled without IDs per the id-lint standard (required-green PR queued with a non-required gate red; that repo's main red for about an hour until fix-forward). In-place, line-count neutral. (b) Newreferences/true-green.md: per-repo canonical test invocations, gates invisible to CI-log greps, local preflights — one line per fact. Pointer added in place insidereferences/review-checklist.md's CI-convergence item (its two-required-jobs floor now explicitly distinguished from the all-checks bar). review-checklist stays at 82/82..claude/agents/os-dev.mdDraft-PR clause: on a branch that will squash, declare the card relation once, in the PR body; keep card-relation trailers out of individual branch commits (the squash concatenates every commit message into one). Paid +2/−2 in the same file: the ablation disk-confirmation double incident narration condensed to its lesson, and one rhetorical elaboration dropped from the gate-exit-code clause. AGENTS.md deliberately untouched: it carries no closing-keyword clause to anchor the sentence and sits at 961/961 headroom 0, so the addition is not ratchet-neutral there — per the graded scope, os-dev.md alone.pm:awaiting-maintainerrow to the pm-dispatch state model table (deferred fable half of the #11196 landing) #11298 (carries the finding(pm): open+pm:queue+assignee 双向撒谎态,三仓 17 张——四条机器门修法(新 H 规则/配对写入补 assignee/巡查跨仓/H22 窗口),外加一个需裁决的「等人工动作」状态 #11196 ruling) —SKILL.mdstate-model table:pm:awaiting-maintainerrow — meaning (decision made; remaining action is a manual maintainer operation outside GitHub's reach), mutual exclusions (never coexists withpm:queue/pm:dispatched/pm:blocked/pm:on-hold/needs-user-decision), exit (maintainer performs the action; seat clears the label with an evidence comment in the same stroke; no machine exit by construction, carried as parked inventory). Patrol mechanics deliberately not restated —check-half-states.mjsis the enforcement authority (untouched here; wave 4-A owns it). Paid +1/−1: the standby-five list's duplicated parentheticals (each restated authoritatively in its home section) replaced with a pointer 「各项纪律以其主节为准,⛔ 此处不另抄」.Compression choices (why these were least load-bearing)
Every compressed passage restates a discipline whose authoritative copy lives elsewhere in the same file (standby-list parentheticals ← 发现分诊轮 / 状态模型 / 选择优先级) or narrates an incident twice where once carries the lesson (os-dev ablation narration, gate-exit-code rhetoric). No ruling text, no quote, no mechanism was removed.
Ratchet verdicts (from the post-final-commit union at head 9710e92)
check-skill-line-ratchet: .claude/skills/pm-dispatch/SKILL.md is 682 lines (ceiling 682; headroom 0).check-skill-line-ratchet: .claude/agents/os-dev.md is 405 lines (ceiling 405; headroom 0).check-skill-line-ratchet: .claude/skills/pm-dispatch/references/review-checklist.md is 82 lines (ceiling 82; headroom 0).check-skill-line-ratchet: AGENTS.md is 961 lines (ceiling 961; headroom 0).(untouched)Gates
Derived with
node scripts/pm/dispatch-gates.mjs(no paths passed; change set from merge-base, provenance line verified: objectstack tree at 9710e92). 11 matched families, all run locally and green at head9710e92e(verdict lines from the gates' own output, exit captured before any pipe): check:agent-model-declared · check:doc-authoring · lint check:doc-formula-expressions (22 record-scoped examples clean) · check:nul-bytes · check:pm-governed-merges (self-test) · check:pm-governed-prose (2 surfaces name all 5 governed surfaces) · check:pm-skill-id-lint (18 files clean) · check:pm-skill-ratchet (all ceilings hold) · check:required-contexts (6 contexts pinned) · check:skill-frame-sync (4 copies isomorphic — frame copies untouched). First union run predatedpnpm installand two gates died on module resolution with a misleading aggregate exit 0 — re-run one-command-per-line under set -e after install +@objectstack/formulabuild; the final union is the one quoted.Docs-only
.claude/**diff:skip-changesetapplied per convention. New page ceiling-row follow-up filed separately: #11310 remains open for triage.Generated by Claude Code