From 567651564c2ea9962cb110d64d39def7611c3d35 Mon Sep 17 00:00:00 2001 From: os-steve Date: Sun, 20 Sep 2026 10:50:31 +0000 Subject: [PATCH] =?UTF-8?q?skills(pm-dispatch):=20hard=20serial=20across?= =?UTF-8?q?=20rounds=20applies=20to=20the=20same=20claimed=20REGION,=20not?= =?UTF-8?q?=20the=20same=20file=20=E2=80=94=20SKILL.md=20:441=20and=20its?= =?UTF-8?q?=20core-rules=20twin,=20one=20word=20each?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clause-②: no The 候选与批次 section gave two opposite serial rules for every shared path but `.objectui-sha`: :437 (「共享其它路径是普通并发,后落地方解冲突」) and :441 (「同文件单跨轮硬串行」). Ruling 甲 narrows :441 to the REGION the claim declared: hard serial across rounds only where the two claims' declared file surfaces overlap; the same file in different regions is ordinary concurrency and the later lander resolves the conflict — which is what :437 already says for every non-single-writer path once :441 stops claiming the whole file. - SKILL.md :441 — 同文件 → 同区域 (107 B → 107 B); the 「延后不是搁置…」 half stays byte-verbatim; :437 untouched; `SINGLE_CLAIM_PATHS` stays the only whole-file single-writer set; 813 / 813. - references/core-rules.md :105 — 同文件硬串行 → 同区域硬串行 (119 B → 119 B), the twin SKILL.md:44 orders; 151 / 151. The ruling's own :441 sentence (「同区域(认领申报的文件面重叠)单跨轮硬串行; 同文件不同区域是普通并发,后落地方解冲突。」) measures 123 B alone and 198 B with the deferral half, against the ratchet's 120-byte line cap and a 813-line ceiling with zero headroom; measured red on the gate in both one-line and two-line forms. The one-word narrowing is the rendering that keeps the deferral half verbatim, net 0, no script, no gate — the PR body carries the measurements and the alternative (a ceiling raise under the ratchet's own maintainer exit). Claude-Session: https://claude.ai/code/session_017ETYWqMQD4qMtZzAGovWNi Co-authored-by: Claude --- .claude/skills/pm-dispatch/SKILL.md | 2 +- .claude/skills/pm-dispatch/references/core-rules.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index b093b72a8d..d0044c5584 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -438,7 +438,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 第 N 单派发前读 `scripts/pm/os-verify-lock.sh --status`:到达深度 ≥ `LOCK_DEPTH_HOLD`(= 2)即等。 - 到达深度 = `queue N:` 行数 + 1(待派 dev 的运行算作到达);`state:` holder 与 `parked` 行不计。 - 有效上限是锁宽的函数,⛔ 不是第二个 `batch`;`priority:p0` 可超 `batch`,⛔ 不越过深度等待。 -- 同文件单跨轮硬串行;延后不是搁置,被延后那一刻就把已知的坑记到该 issue 上。 +- 同区域单跨轮硬串行;延后不是搁置,被延后那一刻就把已知的坑记到该 issue 上。 - 家族派发是范围澄清不是豁免:一个 dev 有意覆盖 N 张同区域已裁卡,可折叠为一次派发。 - 折叠准入五门全过才可折:① 同缺陷形态同修法(⛔ 不是同关键词/同子系统)。 - ② 同包/区域(一 worktree、一 changeset、一队列位)。 diff --git a/.claude/skills/pm-dispatch/references/core-rules.md b/.claude/skills/pm-dispatch/references/core-rules.md index 05c035b72b..ce1484a026 100644 --- a/.claude/skills/pm-dispatch/references/core-rules.md +++ b/.claude/skills/pm-dispatch/references/core-rules.md @@ -102,7 +102,7 @@ - 每轮巡检先读半状态巡查锚上点名本车道的行并逐行处置,未处置 ⛔ 不开新派发。 - 候选整车道一次读全再本地求交,每张读全文与全部评论并把裁决逐字引入派发词。 - 派发前做前提过时检查,动作面、卡引用面与工作项面三面都对树核验。 -- 同批独立性按文件面不相交判,⛔ 不按包;同文件硬串行,冲突交合并队列仲裁 ⛔ 不手排。 +- 同批独立性按文件面不相交判,⛔ 不按包;同区域硬串行,冲突交合并队列仲裁 ⛔ 不手排。 - 家族派发须过五门:同缺陷同修法、同包区域、成员皆已裁、逐成员可核、点名排除清单。 - 两张以上排队卡共享热文件时,必须以五门为判据显式回答折叠还是串行。 - 取卡全序:插队卡、有下游依赖者的卡、板上项、p1、p2、p3、无级;同级缺陷卡先再卡龄。