From 7e75fb9f59b4eb33739ed9dcf00c84320762a6fd Mon Sep 17 00:00:00 2001 From: os-justin Date: Wed, 9 Sep 2026 12:10:12 +0000 Subject: [PATCH] skills(pm-dispatch): a seated session reads whether origin/main touched its charter before its first write, and re-reads on a hit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The round-open sequence of SKILL.md 〈入口与角色〉 gains one criterion: after the mutex clears, the seat fetches and reads the newest touch of the three charter files it loaded (SKILL.md, references/core-rules.md, its own lane file) on origin/main; a touch different from the one its previous round-open marker recorded means it re-reads those files before acting, and the marker now carries that touch and names the re-read. Paid in place: the seat-post block's restatement of the archive obligation leaves SKILL.md (it stays at references/seat-post-protocol.md item 8 and in the core-rules digest); core-rules.md absorbs the twin on its existing marker line at 119 bytes. A content reading, not a time window: on this mainline the queue's landed commit carries a committer date 19.6-34.1 min before merged_at (29 of 29 recent landings), so a window keyed to fire time is blind to a governed merge that predates a fire but lands after it — the inversion check-governed-merges.mjs already rules on. Claude-Session: https://claude.ai/code/session_01MoTv7pn338AZ71owsp19gQ Co-authored-by: Claude --- .claude/skills/pm-dispatch/SKILL.md | 4 ++-- .claude/skills/pm-dispatch/references/core-rules.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index 715d618208..785d8b6603 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -86,7 +86,8 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 收班简报是前任不再写的显式声明,是释放标记不是锁:简报即最新事件 ⇒ 立即坐席。 - 滞后标题是进场顺手修的半状态,⛔ 不是阻塞;简报点名的留守尾巴作围栏。 - 维护者明示召唤是仲裁:有简报径直坐席;无简报才走保守确认,确认终止即坐席。 -- 互斥清 ⇒ 先在座位贴留一行开轮标记(session ID + fire 时刻)再跑轮。 +- 互斥清 ⇒ fetch 后读三章程文件(本文、core-rules、本席章程)在 `origin/main` 的最新触碰 sha。 +- 异于上一开轮标记即先重读;留开轮标记(session ID + fire 时刻 + 该触碰,注明重读)再跑轮。 ## 全体座位的不变量 @@ -283,7 +284,6 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 平台事实变化 → references 事实表改一行。 - 三类以 `finding` 入 skills 车道由该席分诊;三类之外默认关 not planned。 - 经验教训散文不再入技能文本;交接按收尾清单逐步走完,并 `list_triggers` 清点自设定时器。 -- 归档自己派出的会话是不可移交的义务。 - 四段模板、状态词表、接管/退场收尾清单细则见 `references/seat-post-protocol.md`。 - epic 委托不入座位贴体系;`packages/spec` 恒归 spec 座位。 diff --git a/.claude/skills/pm-dispatch/references/core-rules.md b/.claude/skills/pm-dispatch/references/core-rules.md index 77bcdc2774..8675745821 100644 --- a/.claude/skills/pm-dispatch/references/core-rules.md +++ b/.claude/skills/pm-dispatch/references/core-rules.md @@ -17,7 +17,7 @@ - 自设定时器只定下次唤醒、不定轮长;新 fire 到时上一轮未清空即接续,⛔ 不重开不重排。 - 分诊席跑普通直连会话,达档职责改派显式传档位的子代理;自排下次唤醒不超过 55 分钟。 - 开轮互斥读四个读数:收班简报、开轮标记、本车道最新他会话认领、最新关闭卡的认领。 -- 未收班活动任一未满一轮即自退,总监席除外;有收班简报即坐席,坐席后先写开轮标记。 +- 未收班活动任一未满一轮即自退,总监席除外;有简报即坐席,坐席后核章程再写开轮标记。 ## 全体座位的不变量 - 状态住 GitHub 标签、assignee、正文行与座位贴;⛔ 本地零状态;循环须能从新会话恢复。 - PM ⛔ 不写文件也不写代码,唯一例外是维护者逐 PR 明示授权的 `.claude/` 内部工具 PR。