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

docs(pm-dispatch): fast-forward the local checkout before dispatching a subagent batch#8157
os-zhuang merged 1 commit into
mainfrom
claude/issue-8068-runbook-ff-local-main

Conversation

@hotlong

@hotlonghotlong 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 onlySKILL.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

vercelBot commented Aug 12, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
objectstackIgnoredIgnoredAug 12, 2026 6:18pm

Request Review

@github-actionsgithub-actionsBot added size/s documentation Improvements or additions to documentation labels Aug 12, 2026
@hotlonghotlong 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 queueAug 13, 2026
Merged via the queue into main with commit 720fe14Aug 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 freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationsize/sskip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

3 participants

@hotlong@os-zhuang@claude