Repository navigation
docs(pm-dispatch): hotcrm lane charter grades at first touch per the single-lane rule - #24521
Conversation
…single-lane rule Line 8 drops the dead pointer to a SKILL.md section that no longer exists and points at the single-lane-repo rule in cross-repo-coordination.md, keeping the no-domain-label prohibition. Line 33 replaces "grading belongs to triage or the maintainer" with grading by filing-gate.md, reason on the card, maintainer veto. Line-neutral: 53 lines against the 53-line ceiling. Claude-Session: https://claude.ai/code/session_01HEdP5tPhqQfzwRmKDxwn85 Co-authored-by: Claude <noreply@anthropic.com>
维护者速读(终稿,事后记录)· PR #24521 ·
|
Contract review — PR #24521 (card #24517) · 2026-10-19T23:27ZServed-tier: Isolated contract review, written after the fact: this head merged as ① Derived judgmentsJudged against the ruling hotcrm#2178 「A」 as the card quotes it and the ledger carries it, and the 口径 verbatim from
② Semver level
③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
Fixes #24517
Clause-②: no
What this changes
Two lines of
.claude/skills/pm-dispatch/references/lanes/hotcrm.md, and nothing else in the PR:Ruling and 口径
Ruling of record: [Decision] Who grades repo:hotcrm cards? The lane charter forbids its seat to grade, cross-repo-coordination.md says a single-lane seat does its own first-touch grading, and the triage seat rotates only objectstack and objectui hotcrm#2178, answer A. The maintainer's 「A」 is recorded by the
repo:hotcrmseat in comment6265194393, and it matches the director's delta6264888052. The director's ledger comment6265393657carries it as item 3 of batch 371.口径, verbatim from
6264888052. This session cannot reach the hotcrm API, so the text is taken from the card body's quotation:How each line meets the card
:8points at the single-lane-repo clause ofcross-repo-coordination.md, which is its lines 9 and 10: 「单车道仓repo:*席自理机械三务,⛔ 不产domain:*」 and 「机械三务 = 自扫 sweep、自打type、自做finding首触定级」.domain:*」, and it no longer says the seat produces no grade.typeis not named on the line. It reaches the seat through the pointer, because 「机械三务」 includes 「自打type」.:33keeps the speculative-shape half verbatim. It replaces 「定级归分诊或维护者,本席只供证据」 with three things: grading byfiling-gate.md(its 〈定级判据〉 section starts at its line 34), the reason posted on the card, and the maintainer's veto.:8as 「机械三务(含首触定级)」.:33carries the criterion, the reason on the card and the veto, at exactly 120 bytes.Acceptance notes (out of scope, not changed)
lanes/hotcrm.md:51reads 「domain:*与 type 留给分诊」. It still differs from the single-lane rule ontype, and after this PR it also differs from what:8points at. The 口径 excludes it, and the card body records it. Carrier: the card body.cross-repo-coordination.md:37(its rule 4) reads 「分诊座位唯一生产:定级/路由/type/查重/shadow/duplicate_of;执行席永不定级或路由裸卡」, with no single-lane-repo carve-out.repo:*seat.Verification, at head
d4c8bb3aegrep -c '多仓协调规则' .claude/skills/pm-dispatch/references/lanes/hotcrm.mdanswers0(exit 1). The control word单车道仓in the same file answers1(exit 0).✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/lanes/hotcrm.md is 53 lines (ceiling 53; headroom 0).:8went from 89 to 108 bytes, and:33from 110 to 120 bytes.lengthVerdict:lanes/hotcrm.md: every line is within 120 bytes (or structurally exempt).node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackgave 17 commands. Each exit code was captured before any pipe, and all 17 exited 0.--ranreconciliation:✓ dispatch-gates --ran: 17 derived famil(ies) accounted for — 17 run, 0 NOT-MEASURED (a DERIVED zero — all 17 recorded an exit code and none of them is 3).check:pm-skill-id-lint:✓ check-skill-id-lint: 87 file(s) clean (pattern /#[0-9]{3,}/g).check:pm-skill-ratchet: exit 0.check:skill-frame-sync: exit 0.check:nul-bytes: exit 0.check:doc-formula-expressionsfirst refused withPREREQUISITE NOT MET(exit 3), because@objectstack/formulaand@objectstack/lintwere not built. Afterturbo run build --filter=@objectstack/formula --filter=@objectstack/lintunder the verify lock (exit 0, 4 of 4 tasks cached), it re-ran at exit 0.pnpm check:pm-settings-deny-rosteras a roster under.claude. It ran at exit 0..claude/**publishes nothing, soskip-changesetis declared with this PR's create.维护者速读(草稿)
cross-repo-coordination.md的单车道仓规则,仍写明本席不产domain:*。filing-gate.md定级,理由落卡,维护者可否决。Generated by Claude Code