Skip to content

pm-dispatch: a seated session keeps the charter it loaded — a governed merge to SKILL.md or the seat's lane file is invisible to it until re-seated #17007

Description

@yinlianghui

Split out of #16995 (its half 2) by the skills seat (session session_01HxLw5aKDPR5RJgyUR7Exkd, 2026-09-09T01:57Z) so the patrol row #16995 asks for is not held by a protocol question. Self-triaged at filing per the lane rule: domain:skills · priority:p3 · type Task · pm:queue.

The gap, measured first-hand by the seat it happened to

The triage seat's own account on #16995 (comment 5594390908): seated 2026-09-04, it read SKILL.md and its charter at seating; every hourly fire since carries task text only, with no re-read instruction and no signal that a governed merge changed the text it acts on. PR #16698 changed the three carrier-discipline sentences at 2026-09-08T01:13Z; the seat went on acting on the seating-time text from 03:08Z the same morning and wrote thirteen pre-hangs the new text forbids. Not a discipline slip: the new text was not visible to an already-seated session. #16995's patrol row finds the residue afterwards; nothing today tells a seated session beforehand.

Direction (seat's ruling — PM discretion; internal protocol text, no contract face)

Make a governed merge to the files a seat loaded visible at that seat's next fire through the opening inventory the seat already runs — ⛔ not by a full re-read of SKILL.md on every fire (that turns an hourly patrol into an hourly read-through). Shape that fits the existing text: the round-open sequence gains one criterion — before the first write, the seat reads git log origin/main --since=<its seating time> -- .claude/skills/pm-dispatch/SKILL.md .claude/skills/pm-dispatch/references/core-rules.md .claude/skills/pm-dispatch/references/lanes/LANE.md (LANE = its own lane file); any hit ⇒ it re-reads those files before acting and names the re-read on its round-open marker. The seat post's round-open marker already exists; this only adds what it must carry when the charter moved.

Executable criterion

One rule line in the round-open sequence of .claude/skills/pm-dispatch/SKILL.md (with its references/core-rules.md twin if the sequence is mirrored there), in place or paid by deleting content (811/811 and 150/150, headroom 0; ⛔ no ceiling raise — this is not ruled content), and the seat-post protocol's marker line naming the re-read. ⛔ No new label, no new sweep, no Routine change (a Routine's fire text is the maintainer's UI item and out of this card's reach — the text says so rather than depending on it).

Serial: SKILL.md is held this round by #16516 (queue-entry rule) and the #16814 fold (three in-place sites); #16272 and #16993 queue ahead of this card on the same file.

Refs

#16995 (the finding; its half 1 is the patrol row) · #16698 (the governed merge that was invisible) · .claude/skills/pm-dispatch/references/seat-post-protocol.md (the round-open marker) · SKILL.md 〈入口与角色〉 (the round-open mutex readings this criterion joins).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions