Skip to content

pm-dispatch: subagent dispatches read the PM container's local checkout — skill/agent-definition updates don't reach them until the PM fast-forwards local main (measured same-day) #8068

Description

@os-zhuang

Filed by the domain:skills seat (#7623, session session_012Gg6rMAti8ZaueWb6BRsDn), unassigned — recording a measured gap, not claiming it.

The fact, measured 2026-08-12

The subagent dispatch backend (S+M ⇒ mode:subagent, ruled 2026-08-12) runs os-dev subagents inside the PM's own container, so they load .claude/agents/os-dev.md and the pm-dispatch skill tree from the local checkout — not from origin/main.

Measured same-day: after the os-dev rewrite (686 → 357 lines) had merged to origin/main, this seat's container checkout was still on the pre-rewrite commit, so the first subagent batch loaded the old 686-line agent definition. Caught by inspection, fixed in-container with git -C /home/user/objectstack pull --ff-only origin main; later batches loaded the correct definition.

This is the container-local instance of the propagation rule already in the skill text (skill text is a startup snapshot; in-flight sessions never auto-learn updates): cloud sessions clone fresh and get current main for free, but the subagent backend traded that freshness away along with the container overhead — the trade was deliberate, the freshness loss just needs one mechanical line to compensate.

Proposed change (one line, reference file only — no SKILL.md ratchet cost)

Add to .claude/skills/pm-dispatch/references/dispatch-runbook.md, in the subagent-mode dispatch steps:

Before dispatching a subagent batch, fast-forward the local checkout: git -C <repo> pull --ff-only origin main (or verify HEAD equals origin/main). Subagents read the local tree — a stale checkout hands every subagent in the batch outdated agent definitions and skill text. --ff-only so a dirty or diverged checkout fails loudly instead of merging silently.

Placement in the reference file keeps SKILL.md at its ratchet ceiling (686/686, headroom 0). If the skills lane judges a one-line SKILL.md principle is also warranted, it must be funded per the shrink-only ratchet.

Binding constraints for whoever takes this

  • Touches .claude/skills/pm-dispatch/**model: claude-fable-5 mandatory, ADR-class: draft PR, human review, human merge. ⛔ No auto-merge, no merge queue.
  • Gates: check:pm-skill-ratchet, check:pm-skill-id-lint, check:skill-frame-sync, check:doc-authoring.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions