Skip to content

docs(pm-dispatch): whole-text restructuring PR-1 — state-machine and contract-review detail sink to references - #11361

Merged
hotlong merged 1 commit into
mainfrom
claude/issue-11086-protocol-restructure-pr1
Aug 23, 2026
Merged

docs(pm-dispatch): whole-text restructuring PR-1 — state-machine and contract-review detail sink to references#11361
hotlong merged 1 commit into
mainfrom
claude/issue-11086-protocol-restructure-pr1

Conversation

@os-zhuang

@os-zhuangos-zhuang commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Part of #11086 — PR-1 of 2 of the adopted restructuring digest (maintainer 2026-08-23, verbatim: 「接受你的重构提案」, Q1–Q4 = A). The card stays open for PR-2 (lanes hoist-deletion ×7, seat-post connector fix, platform-readings consolidation); #11086 remains open.

Scope delivered

  • NEW references/state-machine.md (43 lines, Q1=A) — mechanism detail moved verbatim out of the four long state-table rows: pm:on-hold restart-line contract, dual channel, Restart-touch: trigger-file index and the two-step release check; pm:blocked done-work parking (Unlock-action:); pm:awaiting-maintainer exclusivity and exit; pm:retriage two-party hang/clear mechanics. The table rows shrink to one-line semantics plus a pointer.
  • NEW references/contract-review.md (44 lines, Q1=A) — clause-② review-chain operational detail moved verbatim: dual-carrier hang/clear (2026-08-22 quotes), carrier non-migration (2026-08-18 quote), eligibility incl. the 2026-08-21 relaxation, downgrade fuse, subagent measurement facts and the anti-pattern sentence, quota-exhaustion non-exemption. Q3=A applied: the ownership sentence now reads current reality — standing owner = the skills seat's self-bound hourly cron (maintainer 2026-08-23, verbatim: 「要不还是你挂个定时处理审核吧」), the triage seat may still clear when tier-verified. SKILL.md keeps the gate principle, both limbs, and the CONTRACT_REVIEW_TIER single-source rule.
  • Q4=A — the report-contract JSON block is dropped from SKILL.md; .claude/agents/os-dev.md 「终报消息」 is the single source (the two copies had measurably drifted). PM-side consumption rules kept. os-dev.md untouched.
  • Connector fact (ruling 5) — 座位 Routine 三原则 ① now states the measured fact: credentials ride the Routine's attached repo sources; the Routines UI has no GitHub connector entry (measured 2026-08-23). seat-post-protocol.md's stale copy is PR-2's.
  • Q2=A — two superseded-ruling narratives deleted (inventory below); guarded tombstones kept.
  • Dedups (one home each): patrol-interval numbers (kept in 收集, 停止条件 points at it) · hourly-fire rationale (stale under Q3 — replaced by a pointer to contract-review.md in the runbook, dropped from SKILL.md) · 借调 tombstone (kept in 多仓协调 4; runbook now points at it) · retired decision-digest (kept at the ⛔-不复活 tombstone with its quote) · hotcrm intake criteria (one-line pointer to lanes/hotcrm.md, which carries the charter verbatim).
  • Hoist (B1) — the per-lane patrol-anchor first-duty sentence added verbatim once at the head of 执行座位职责; the 7 lane-file copies are PR-2's deletion.
  • Ratchet — SKILL.md 682 → 666, dispatch-runbook 243 → 242 (lowering only), two new entries at 43/44; all headroom 0. Four-axis frame block untouched (check:skill-frame-sync green).

Provenance proof (corpus = SKILL.md + dispatch-runbook.md + the two new files)

Line counts: SKILL.md 682 → 666 · dispatch-runbook.md 243 → 242 · state-machine.md 0 → 43 · contract-review.md 0 → 44.

Dates (grep 20xx-xx-xx): 91 before → 91 after; no date leaves the corpus set. Multiset deltas, each accounted: 2026-08-11 10→9 and 2026-08-13 13→12 (Q2 removal 1); 2026-08-14 3→2 (Q2 removal 2; the day-shorthand "/15" in the same removed narrative leaves with it — 2026-08-15 never appeared as a full date anywhere else); 2026-08-19 11→12 (the retired-digest quote moved to the guarded tombstone, and the now-dangling 同日裁定 anchor was spelled out explicitly); 2026-08-23 1→3 (connector fact + Q3 ownership — both ruling-mandated additions).

「」quotes (wrap-normalized byte comparison): 193 tokens / 180 distinct before → 197 / 183 after. Set-identical except:

  • Sanctioned removal 1 (Q2=A): the 「⛔ 不落存储标签」 superseded-ruling parenthetical in the label-discipline bullet; the current rule and the pointer to the runbook 全序节 (where the 2026-08-13 quote lives) are kept.
  • Sanctioned removal 2 (Q2=A): the 「为什么要等我执行压缩」 supersession narrative in 波次收工点; the current rule keeps its 2026-08-09 date.
  • Sanctioned removal 3 (ruling 5): the Routines connector-fact clause (not a 「」token), replaced by the measured fact above.
  • Additions: 「要不还是你挂个定时处理审核吧」 (the Q3 ruling itself); four section-name references in newly written connective prose (「回批入口」「收集」「状态模型」「终报消息」) and one extra 「入队与落地」 in the new file's provenance header — none is a maintainer quote.
  • All moved maintainer quotes are byte-identical at their new homes (2026-08-21 relaxation incl. its fullwidth comma, both 2026-08-22 dual-carrier quotes, 2026-08-18 载体不迁移, 2026-08-19 retired-digest).

Q3 authorized rewrite (the one non-verbatim move): the old ownership text — "常设 = 分诊席(Routine 模型由维护者在 Routines UI 钉在契约复审档位),分诊轮子轮清该标签仍是默认清标路径(达档席自清仅是后备)… 过渡期(分诊 Routine 未建成前)由 skills 席代行" — is replaced by the current-reality sentence in contract-review.md. Its operational clauses (contract-increment-only review, one-line verdict on the card, dual-carrier PASS clear, hourly batching) are carried verbatim.

Deviations and honest readings

  • SKILL.md lands at 666, above the digest's 575–600 estimate. The four state rows and the review-chain bullets are single physical lines in the file, so the mechanism move cuts content volume far more than line count (the review-chain deletion alone was ~1.3k chars on 4 physical lines). No re-wrap was used to force the number, per the dispatch's own ban.
  • B3 (seat-post section compression) is a no-op — the PM mechanism assumption is falsified. Measured: seat-post-protocol.md systematically defers these details to the main file (「三招在主文件」, 「零建议与三类上报纪律在主文件」, 「批准出处在主文件」), so the SKILL.md copies are the only home and must stay. Nothing was deleted from that section.
  • B8 (author-identity-422 fallback) stays in SKILL.md. landing-operations.md sits at its 82-line ceiling and I found no genuine in-place compression to pay the move with; per the dispatch, no ceiling raise, so the fallback text stays put.

Gates (local, all at commit b02c25a3 — the head this PR ships)

Full union derived by node scripts/pm/dispatch-gates.mjs (no hand-fed paths; changeset read from merge base 231d766): 13 families matched, all run, all green. Verdict lines: check-skill-line-ratchet: .claude/skills/pm-dispatch/SKILL.md is 666 lines (ceiling 666; headroom 0) (every other covered file green, self-test 20 cases); check-skill-id-lint: 21 file(s) clean; check-skill-frame-sync: 4 copies of the decision frame are structurally isomorphic across 3 files; check-nul-bytes: OK (scanned 6378 text file(s) … no raw ASCII control bytes); check-governed-prose: 2 instruction surface(s) name all 5 registered governed surfaces; doc authoring guard: 389 files clean; check:doc-formula-expressions: 22 record-scoped formula example(s) … judged clean (after building the lint dependency closure); entry-guard, parse-guard, pnpm-filter-targets, cross-package-test-inputs (both spellings), ci-filter-parity all green. check-governed-merges --test answers GOVERNED for this diff (.claude/** ×4), which is the posture this PR keeps: draft, human merge only — no seat flips it ready, enqueues it, or arms auto-merge. Requesting review from os-zhuang failed with the documented author-identity 422 (the PR author is os-zhuang's own seat), so per the protocol's own fallback the PR is assigned to os-zhuang as the notification substitute.

No changeset: no published package is touched (.claude/** + scripts/pm/ ratchet ride-along) — skip-changeset label applied and read back.


Generated by Claude Code


Generated by Claude Code

…contract-review detail sink to references, report JSON single-sourced
Adopted digest (maintainer 2026-08-23 「接受你的重构提案」, Q1-Q4 = A):
- NEW references/state-machine.md: mechanism detail of the four long
state-table rows (pm:on-hold restart/release, pm:blocked Unlock-action,
pm:awaiting-maintainer exclusivity, pm:retriage two-party mechanics);
the table rows shrink to one-line semantics + pointer.
- NEW references/contract-review.md: clause-② review-chain operational
detail (carrier discipline, eligibility, downgrade fuse); ownership
text converged to current reality (standing owner = the skills seat's
self-bound hourly cron, maintainer 2026-08-23 「要不还是你挂个定时处理审核吧」).
- Report-contract JSON single-sourced from .claude/agents/os-dev.md (Q4=A).
- Routines connector fact corrected (credentials ride attached repo
sources; no GitHub connector entry in the Routines UI — measured 2026-08-23).
- Q2=A: two superseded-ruling narratives removed; guarded tombstones kept.
- Dedups: patrol-interval numbers, hourly-fire rationale, 借调 tombstone,
decision-digest retirement, hotcrm intake criteria (one home each).
- Hoisted the per-lane patrol-anchor first-duty sentence into 执行座位职责
(lane-file copies are PR-2's deletion).
- Ratchet: SKILL.md 682 → 666, dispatch-runbook 243 → 242, new files at
43/44 — all headroom 0.
Part of #11086 (PR-1 of 2; PR-2 handles lanes/seat-post/platform-readings).
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
@os-zhuangos-zhuang self-assigned this Aug 23, 2026
@github-actionsgithub-actionsBot added the documentation Improvements or additions to documentation label Aug 23, 2026
@hotlong
hotlong marked this pull request as ready for review August 23, 2026 15:03
@hotlong
hotlong added this pull request to the merge queueAug 23, 2026
Merged via the queue into main with commit 9337cd8Aug 23, 2026
35 checks passed
@hotlong
hotlong deleted the claude/issue-11086-protocol-restructure-pr1 branch August 23, 2026 15:15
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationsize/mskip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@os-zhuang@hotlong@claude