Skip to content

docs(pm): protocol-text family — five graded instruction-face additions, ratchet-paid (wave 4-B) - #11312

Merged
hotlong merged 5 commits into
mainfrom
claude/issue-11109-protocol-text-family
Aug 23, 2026
Merged

docs(pm): protocol-text family — five graded instruction-face additions, ratchet-paid (wave 4-B)#11312
hotlong merged 5 commits into
mainfrom
claude/issue-11109-protocol-text-family

Conversation

@claude

@claudeclaudeBot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

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

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 head 9710e92e (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 predated pnpm install and two gates died on module resolution with a misleading aggregate exit 0 — re-run one-command-per-line under set -e after install + @objectstack/formula build; the final union is the one quoted.

Docs-only .claude/** diff: skip-changeset applied per convention. New page ceiling-row follow-up filed separately: #11310 remains open for triage.


Generated by Claude Code

…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
@claudeclaudeBot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Aug 23, 2026
@github-actionsgithub-actionsBot added size/s documentation Improvements or additions to documentation labels Aug 23, 2026
@os-zhuang
os-zhuang self-requested a review August 23, 2026 10:02
@hotlong
hotlong marked this pull request as ready for review August 23, 2026 11:36
@hotlong
hotlong added this pull request to the merge queueAug 23, 2026
Merged via the queue into main with commit 239e623Aug 23, 2026
27 checks passed
@hotlong
hotlong deleted the claude/issue-11109-protocol-text-family branch August 23, 2026 11:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment