Skip to content

docs(pm-dispatch): fast-forward the local checkout before dispatching a subagent batch - #8157

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-8068-runbook-ff-local-main
Aug 13, 2026
Merged

os-zhuang merged 1 commit into
mainfrom
claude/issue-8068-runbook-ff-local-main

Conversation

@hotlong

@hotlong hotlong commented Aug 12, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #8068

What

Adds one short dedicated block to .claude/skills/pm-dispatch/references/dispatch-runbook.md, telling the PM to fast-forward the local checkout before dispatching a subagent batch:

git -C REPO_ROOT pull --ff-only origin main

REPO_ROOT here stands in for the angle-bracket repo-root placeholder used in the file itself — the GitHub body sanitizer strips angle-bracket spans at rest (verified on this PR's first stored body, and it is also how the issue's own quoted command lost its token), so this body avoids the literal spelling. The diff carries the exact text.

(Or verify HEAD equals origin/main.) Subagent-mode dispatches run inside the PM's own container and load agent definitions and skill text from the local checkout, not origin/main — a stale checkout hands every subagent in the batch outdated definitions (measured same-day: after the os-dev definition rewrite had merged, a container checkout was still on the pre-rewrite commit and the first batch loaded the old definition). --ff-only makes a dirty or diverged checkout fail loudly instead of merging silently.

Placement and premise verification

  • Reference file only — SKILL.md is untouched (it sits at its shrink-only ratchet ceiling, 686/686, headroom 0).
  • Verified against current origin/main (a0151e9, post same-day skills-tree churn): no ff-only / fast-forward / 快进 guidance existed anywhere under .claude/skills/pm-dispatch/, and the runbook has no subagent-mode dispatch-steps subsection — the subagent-mode material lives in the cloud-card section's scope/trade-off paragraph. The new block sits as its own heading immediately after that section, where a PM doing a subagent dispatch will see it. Premise holds.
  • The new text is Chinese, matching the file's language and register; the issue's proposed sentence is translated faithfully and the git command is kept verbatim in the file (with the angle-bracket repo-root placeholder, matching the file's existing placeholder idiom in commands).
  • The block cites no issue numbers — the lesson is self-contained (check:pm-skill-id-lint).

Verification

All six gate families named at dispatch, run locally on the final content; a re-derivation via node scripts/pm/dispatch-gates.mjs against the actual changed path surfaced exactly the same six — no additions.

  • pnpm check:doc-authoring — 375 files clean
  • pnpm --filter @objectstack/lint run check:doc-formula-expressions — clean (after building the lint package's dependency closure — fresh-worktree dist trap; first run failed on the missing @objectstack/formula dist, not on the change)
  • pnpm check:nul-bytes — 7422 text files, no raw control bytes
  • pnpm check:pm-skill-id-lint — 9 files clean
  • pnpm check:pm-skill-ratchet — SKILL.md 686 lines (ceiling 686; headroom 0)
  • pnpm check:skill-frame-sync — 4 copies of the decision frame structurally isomorphic across 3 files

Notes for review

  • ADR-class surface (.claude/skills/pm-dispatch/**): this PR stays draft — maintainer reviews and merges by hand. No auto-merge, no merge queue.
  • Internal agent-tooling doc, not user-visible — no changeset (skip-changeset handled on the review side).

Generated by Claude Code

…agent batch

Subagent-mode dispatches run inside the PM's own container and load agent
definitions and skill text from the local checkout, not origin/main. Add a
short dedicated block to the dispatch runbook (reference file only; SKILL.md
stays at its ratchet ceiling): before dispatching a subagent batch, run
git -C <repo-root> pull --ff-only origin main (or verify HEAD equals
origin/main), so a stale checkout cannot hand the whole batch outdated
definitions; --ff-only makes a dirty or diverged checkout fail loudly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01139NJ9Wg5pFeZi1Zh8WLg6
@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 12, 2026 6:18pm

Request Review

@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation labels Aug 12, 2026
@hotlong hotlong added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Aug 12, 2026 — with Claude
@os-zhuang
os-zhuang marked this pull request as ready for review August 13, 2026 08:32
@os-zhuang
os-zhuang added this pull request to the merge queue Aug 13, 2026
Merged via the queue into main with commit 720fe14 Aug 13, 2026
25 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-8068-runbook-ff-local-main branch August 13, 2026 08:47
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/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

3 participants