Skip to content

docs(pm-dispatch): hotcrm lane charter grades at first touch per the single-lane rule - #24521

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-24517-hotcrm-charter-grading
Oct 19, 2026
Merged

os-zhuang merged 1 commit into
mainfrom
claude/issue-24517-hotcrm-charter-grading

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #24517

Clause-②: no

What this changes

Two lines of .claude/skills/pm-dispatch/references/lanes/hotcrm.md, and nothing else in the PR:

@@ line 8 @@
-- ⛔ 不产 `domain:*`、type 与定级,纪律全文在 SKILL.md 多仓协调规则 4。
+- ⛔ 不产 `domain:*`;机械三务(含首触定级)按 cross-repo-coordination.md 单车道仓条自理。
@@ line 33 @@
-- 投机功能形状不入队:走决策箱或关 not planned;定级归分诊或维护者,本席只供证据。
+- 投机功能形状不入队:走决策箱或关 not planned;定级按 filing-gate.md,理由落卡,维护者可否决。

Ruling and 口径

How each line meets the card

  • :8 points at the single-lane-repo clause of cross-repo-coordination.md, which is its lines 9 and 10: 「单车道仓 repo:* 席自理机械三务,⛔ 不产 domain:*」 and 「机械三务 = 自扫 sweep、自打 type、自做 finding 首触定级」.
    • It keeps 「⛔ 不产 domain:*」, and it no longer says the seat produces no grade.
    • The dead pointer 「SKILL.md 多仓协调规则 4」 is gone.
    • type is not named on the line. It reaches the seat through the pointer, because 「机械三务」 includes 「自打 type」.
  • :33 keeps the speculative-shape half verbatim. It replaces 「定级归分诊或维护者,本席只供证据」 with three things: grading by filing-gate.md (its 〈定级判据〉 section starts at its line 34), the reason posted on the card, and the maintainer's veto.
  • The byte budget forced one split. The full sentence 「首触按 filing-gate.md 定级判据定级,理由落卡,维护者可否决」 after the kept half measures 141 bytes, and the line rule allows 120. The file is also at 53 of 53 lines, so no line could be added.
    • So "first touch" rides on :8 as 「机械三务(含首触定级)」.
    • :33 carries the criterion, the reason on the card and the veto, at exactly 120 bytes.

Acceptance notes (out of scope, not changed)

  • lanes/hotcrm.md:51 reads 「domain:* 与 type 留给分诊」. It still differs from the single-lane rule on type, and after this PR it also differs from what :8 points 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.
    • Its lines 7 to 10 scope central triage to the multi-lane repos, and they give first-touch grading to the single-lane repo:* seat.
    • The specific clause governs a hotcrm card, so the two files agree on who grades one. The general sentence is unscoped text.
    • Not filed: it is a text-drift observation. Carrier: none.

Verification, at head d4c8bb3ae

  • Acceptance grep: grep -c '多仓协调规则' .claude/skills/pm-dispatch/references/lanes/hotcrm.md answers 0 (exit 1). The control word 单车道仓 in the same file answers 1 (exit 0).
  • Line budget:
    • 53 lines before and 53 after, against a ceiling of 53: ✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/lanes/hotcrm.md is 53 lines (ceiling 53; headroom 0).
    • :8 went from 89 to 108 bytes, and :33 from 110 to 120 bytes.
    • The 120-byte line rule, read from the ratchet's own lengthVerdict: lanes/hotcrm.md: every line is within 120 bytes (or structurally exempt).
  • Derived gate list: node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack gave 17 commands. Each exit code was captured before any pipe, and all 17 exited 0.
    • --ran reconciliation: ✓ 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-expressions first refused with PREREQUISITE NOT MET (exit 3), because @objectstack/formula and @objectstack/lint were not built. After turbo run build --filter=@objectstack/formula --filter=@objectstack/lint under the verify lock (exit 0, 4 of 4 tasks cached), it re-ran at exit 0.
    • The derivation also names pnpm check:pm-settings-deny-roster as a roster under .claude. It ran at exit 0.
  • Changeset: none. .claude/** publishes nothing, so skip-changeset is declared with this PR's create.
  • No ablation: a text change to an agent protocol file pins no tested behaviour.

维护者速读(草稿)

  • 改了什么:hotcrm 车道岗位说明里的两行字。
    • 第 8 行删掉指向已不存在章节的死链,改为指向 cross-repo-coordination.md 的单车道仓规则,仍写明本席不产 domain:*。
    • 第 33 行把「定级归分诊或维护者,本席只供证据」改为本席按 filing-gate.md 定级,理由落卡,维护者可否决。
  • 为什么改:您在 hotcrm#2178 裁了 A,即 hotcrm 席首触自己定级。旧文本仍禁止它定级,还指向一个早已搬走的章节,席位照旧文本做事就会违背裁决。
  • 风险与代价(含回滚):纯文字,只动内部协议文件,不发布任何东西。第 51 行在 type 上与单车道仓规则仍不一致,口径明令排除,卡正文已记录。回滚即 revert 本 PR。
  • 席位意见:
  • 你要做的:无需操作。本 PR 属 Tier S,由席位达档复核后入队落地。

Generated by Claude Code

…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>
@objectstack-fleet objectstack-fleet Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Oct 19, 2026
@github-actions github-actions Bot added size/xs documentation Improvements or additions to documentation labels Oct 19, 2026
@os-zhuang
os-zhuang marked this pull request as ready for review October 19, 2026 14:28
@os-zhuang
os-zhuang enabled auto-merge October 19, 2026 14:28
@os-zhuang
os-zhuang added this pull request to the merge queue Oct 19, 2026
Merged via the queue into main with commit 2667e24 Oct 19, 2026
39 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-24517-hotcrm-charter-grading branch October 19, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/xs skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

3 participants