Uh oh!
There was an error while loading. Please reload this page.
Re-verify a cleared stop condition: the reviewer line and the brief-construction note - #11334
Merged
Merged
Conversation
…onstruction note A stop condition whose only enforcement is the stopped party's self-report is not enforced. A dev that reasons past one produces an artifact indistinguishable from one that honoured it: on-scope diff, green gates, and prose asserting the check passed. Two lines close the reviewer-side half. review-checklist.md — a new item paired with the falsification item directly above it, so the two read together: falsification is good work, AND a cleared stop condition is re-verified by the PM on origin/main, never accepted from the dev's prose alone. The verdict is the reported evidence surface (what was searched, what was found) plus the PM's own re-check. dispatch-runbook.md — a brief-construction note in the dispatch-wording section: a premise/stop-condition check must ask the dev to report EVIDENCE, not a verdict; the PM adjudicates the fork. Both files sit at their line-ratchet ceilings with zero headroom, so both additions are paid in place by content compression, with no ceiling raise: review-checklist.md (82/82) — the local-gate-union item drops its restated rationale (-2), the must-cross-the-boundary item drops its closing aphorism (-1), and the scope-check item folds its changeset-route tail (-1). dispatch-runbook.md (243/243) — the three-state recovery item folds its two parenthetical incident retellings into the house one-line form (-1), and the subagent fast-forward paragraph drops the redundant alternative spelling of the command it already gives (-1). No dated ruling and no verbatim maintainer quote was touched: both files carry the same date inventory before and after, and the runbook's bracketed-quote inventory is byte-identical. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RMTpSRF5CjMmQBFfPtPCwJ
os-zhuang
self-requested a review
August 23, 2026 12:09
hotlong
marked this pull request as ready for review
August 23, 2026 12:26
Uh oh!
There was an error while loading. Please reload this page.
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#11251
A stop condition whose only enforcement is the stopped party's self-report is not
enforced. A dev that reasons past one produces an artifact indistinguishable from one
that honoured it: an on-scope diff, green gates, and prose asserting the check passed.
This PR lands the graded scope — the PM-side rule — as exactly two lines on the
references face.
SKILL.mdis not touched.What landed
references/review-checklist.md— one new checklist item, placed directly after thefalsification item (
dev 验证过 issue 的前提吗?) so the two read as a pair: falsificationis good work, and a cleared stop condition is re-verified by the PM on
origin/main,never accepted from the dev's prose alone. Its verdict criterion is the reported evidence
surface (what was searched, what was found) plus the PM's own re-check; the incident is
compressed to the house one-line form.
references/dispatch-runbook.md— one brief-construction note in## 派发词构造细则,directly after the three-partition clause it is a sibling of: a premise/stop-condition
check in a brief must ask the dev to report evidence, not a verdict — the PM
adjudicates the fork.
Out of scope by the grading, and deliberately not attempted here: the separately-reported
artifact as a hard gate, and forbidding a same-turn commit past a stop condition. Both
change the dispatch state machine and are recorded as inputs to the whole-text
restructuring round rather than decided piecemeal.
How the two lines were paid for
Both files sit at their line-ratchet ceilings with zero headroom. Payment is in-place
content compression — no ceiling raise, no re-wrap as payment, and no dated ruling or
verbatim maintainer quote deleted.
references/review-checklist.mdreferences/dispatch-runbook.mdWhat was compressed, and what was removed from each:
review-checklist.md— the local-gate-union item drops its restated rationale, whichthe preceding pin-to-head item and the dev-side contract already carry (−2); the
cross-the-boundary item drops its closing aphorism (−1); the scope-check item folds its
changeset-route tail (−1). Every operative branch survives: the contract requirement,
the
head.shacomparison, both-directions rejection, the no-HEAD-quoted handling, andboth repos' tests/docs-only routes.
dispatch-runbook.md— the three-state recovery item folds its two parentheticalincident retellings into the house one-line form, per that file's own 行文纪律 (−1);
the subagent fast-forward paragraph drops the redundant alternative spelling of the
command it already gives (−1).
Provenance preservation was checked mechanically rather than asserted: both files carry an
identical date inventory before and after, and the runbook's bracketed-quote inventory is
byte-identical (same set, same count). The one bracketed span that leaves
review-checklist.mdis the scare-quoted phrase「本地全绿」inside the compressedsentence — not a ruling, not a maintainer quote.
Verification
Gate families derived on the actual change set with
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack(2 paths, committed2 / working tree 0 / untracked 0), re-derived after the final commit — same 8 families, no
new one. The union below was run after the final commit, at HEAD
562cb567, exit codescaptured before any pipe:
pnpm check:pm-skill-ratchet— the two verdict lines this PR is accountable for:✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/review-checklist.md is 82 lines (ceiling 82; headroom 0).✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/dispatch-runbook.md is 243 lines (ceiling 243; headroom 0).pnpm check:pm-skill-id-lint—✓ check-skill-id-lint: 19 file(s) clean (pattern /#[0-9]{3,}/g).pnpm check:doc-authoring—✓ doc authoring guard: 389 files clean — no bare metadata literals.pnpm --filter @objectstack/lint run check:doc-formula-expressions—✓ check:doc-formula-expressions: 22 record-scoped formula example(s) across 418 files / 1447 TS blocks judged clean by @objectstack/formula.(needed its dependency closure built first)pnpm check:pm-governed-merges—✓ check-governed-merges --self-test: 129 assertionspnpm check:required-contextsandnode scripts/check-required-contexts.mjs—✓ check-required-contexts: 6 required context name(s) pinned across 2 workflow(s)pnpm check:skill-frame-sync—✓ check-skill-frame-sync: 4 copies of the decision frame are structurally isomorphic across 3 filesControl-byte self-scan over both edited files: no match (escaped spellings only).
No changeset — this is instruction-surface text under
.claude/, publishing nothing;skip-changesetper this repo's convention.Governance
This PR edits
.claude/**, a governed surface. It opens draft, it is for human mergeonly, and no auto-merge is or should be enabled on it.
Generated by Claude Code
Generated by Claude Code