Uh oh!
There was an error while loading. Please reload this page.
docs(pm-skill): codify the Class-1 summons self-ruling gate into the delegated-adjudication channel - #13070
Merged
Conversation
…delegated-adjudication channel, net-0 via three re-flows The director seat may self-rule a decision card during a summons only when all three criteria hold: an existing ruling/class rule/discipline mechanically decides the direction (the ruling comment names the applied authority), the failure direction is loud and one-revert reversible, and none of the four manual floors moves. Per-card record + end-of-summons digest table for retroactive confirmation; Class-2/Class-3 stay live-presented. Placement per references/lanes/director.md's own pointer (single source, no copy there). Ratchet: paid net-0 — the 11 new lines are funded by lossless wrapLine re-flow of three blocks in the same section (Backlog sweep -5, manual-floor bullet -4, delegated-lane bullet -2). SKILL.md stays 1005/1005. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016SG9S6V15MqeAgkehDcTwk
os-zhuang
approved these changes
Aug 29, 2026
os-zhuang
marked this pull request as ready for review
August 29, 2026 02:46
os-zhuang
enabled auto-merge
August 29, 2026 02:46
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 29, 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#13066
Ruling
Maintainer, 2026-08-29, live director session, verbatim and untranslated:
What lands, line by line
One new bullet — 一类自裁门 — in
.claude/skills/pm-dispatch/SKILL.md's 分诊座位职责 section, inside the 高置信决策卡的分诊代裁 list, between 置信门 and 回翻条款 (so the existing 回翻条款 covers self-ruled cards unchanged). Placement followsreferences/lanes/director.md's own pointer (「代裁通道(分诊席或本席)硬门、置信门与人工地板见主文件「分诊座位职责」,⛔ 不另抄」): the gate lives in the main file only.director.mdis untouched — its pointer sentence already points at the channel's gates in the main file as a class, so the new gate is covered without a copy and without a new pointer word.The bullet carries, in order:
CONTRACT_REVIEW_TIERthe whole channel is skipped and cards wait) and floors-as-exclusions-not-weights;pm:queue, ⛔ 裁不派 — the seat boundary is untouched);No issue ids enter the skill text (
check:pm-skill-id-lintgreen); the classification evidence stays on the card as the git-history record.Ratchet arithmetic — net 0, no ceiling raise
SKILL.md sat at its ceiling (1005/1005, headroom 0). The new bullet costs 11 lines, wrapped by the ratchet script's own exported
wrapLine. It is paid entirely by lossless re-flow — zero content cut, so the cut ledger is empty and every clause of the three re-flowed blocks survives verbatim:Re-flow verification was scripted, not eyeballed: each block was joined under the renderer's own segment-break semantics (CJK-to-CJK junctions join with nothing; every other junction joins with the space the old line break already rendered as; the Han-plus-ASCII-punct merge form follows the earlier soft-break paydown precedent), re-wrapped with
wrapLine, and the whole file asserted normalized-equivalent to the original apart from the one inserted bullet — the applier hard-fails on any divergence. The file stays 1005/1005. Gate's own verdict line:✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/SKILL.md is 1005 lines (ceiling 1005; headroom 0).The ceiling-raise authorization recorded on the card was therefore not needed: measured re-flow slack inside the same section covered the cost exactly, so no
CEILINGSentry moves in this PR.Gate evidence — union re-run at final commit
55e030afcnode scripts/pm/dispatch-gates.mjs(no paths — the script derives the changeset from the merge base itself) names 9 local families for this diff. All were run at head55e030afc, exits captured before any pipe:check:pm-skill-ratchetexit 0 — verdict line quoted abovecheck:pm-skill-id-lintexit 0 — 「23 file(s) clean」check:skill-frame-syncexit 0 — binding sentence present in all 4 copies, 4 axes agreecheck:skill-frame-freshnessexit 0check:pm-governed-proseexit 0 — 2 instruction surfaces name all 5 registered governed surfaces, no over-claimcheck:agent-test-spellingexit 0check:doc-authoringexit 0check:pm-governed-mergesexit 0pnpm --filter @objectstack/lint run check:doc-formula-expressionsexit 0 (after building@objectstack/lintand its dependency closure; its first local run refused loudly with its own PREREQUISITE NOT MET text, which is a non-measurement, not a red)check:nul-bytesexit 0 (owed on any edit)The 9th derived family,
scripts/pm/check-governed-queue-guard.mjs, reads only the workflow event payload (GITHUB_EVENT_PATH); locally it refuses with its own could-not-look text — NOT MEASURED here by design, CI runs it with a real payload.Landing
Governed surface (
.claude/**): this PR stays draft for the maintainer's pinned approval per PD #14's landing paths.skip-changesetapplies — internal agent instruction text, nothing publishes.Generated by Claude Code
Generated by Claude Code