Skip to content

Route dispatch runbook to --derive-held, not the hand-typed held set - #601

Merged
fdaviddpt merged 2 commits into
mainfrom
fix/586
Aug 27, 2026
Merged

Route dispatch runbook to --derive-held, not the hand-typed held set#601
fdaviddpt merged 2 commits into
mainfrom
fix/586

Conversation

@fdaviddpt

Copy link
Copy Markdown
Contributor

Closes #586

skills/manager/phases/dispatch.md (the runbook the loop reads when it dispatches) and skills/manager/SKILL.md's spine copy both instructed the maintainer to hand-type the --against PATTERN set when checking a new lane's files against everything already running via scripts/lane_setup.py. #558 shipped --derive-held, which derives that same held set from open pull requests and the live lane registry -- but nothing routed the reader to it, so the fix existed one flag away from a runbook that never mentioned it.

Both documents now name --derive-held as the route for the disjointness check (a new lane against everything currently running), name could-not-derive-the-held-set as the third state -- not a plain "if it fails, type it by hand" -- under which the hand-typed --against remains the documented fallback, and note the mutual exclusion the script itself enforces.

The candidate-issue side is untouched: #267 still holds -- an issue's own files are not derivable from its body, so naming the candidate issue to check stays the maintainer's call, never the script's.

A second commit fixes a stale cross-reference the review round found in the first one. The bundling-check paragraph (below the disjointness paragraph) used to say it ran "the same ... call" as the paragraph above it -- true while both used plain --against, false the moment the disjointness paragraph was rewritten to lead with --derive-held. The bundling check compares one candidate's declared lane against one named running lane, not the --derive-held aggregate, so it still needs --against and now says so without the stale cross-reference; SKILL.md's table row is split into two rows for the same reason, so it stops conflating the two calls.

Below-bar, not filed: while auditing the diff, the reviewer confirmed everything else in both files reads correctly against scripts/lane_setup.py's own --derive-held/--against argparse wiring and the availability states in lane_report; nothing else adjacent to this diff was found stale.

Both byte budgets (scripts/skill_phases.py) still clear with headroom: SKILL.md 58,655 / 64,600, dispatch.md 25,186 / 26,100.

Test: tests/test_dispatch_runbook_derive_held_586.py, new, 7 assertions -- red against the pre-fix blobs (verified against 3eefc87~1), green after.

fdaviddpt and others added 2 commits August 27, 2026 12:42
…586)

skills/manager/phases/dispatch.md and SKILL.md's spine copy still taught
--against as the only way to check a new lane's files against everything
already running, even though #558 shipped a derivation for exactly that
held set. Route both to --derive-held, name could-not-derive-the-held-set
as the fallback's own third state, and leave the candidate-issue side
(#267) untouched.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The Explore review of the previous commit found that the bundling-check
paragraph in dispatch.md claimed to reuse "the same ... call" as the
disjointness paragraph above it -- true while both used plain --against,
false the moment that paragraph was rewritten to lead with --derive-held.
The bundling check compares a candidate's declared lane against one
named running lane, not the --derive-held aggregate, so it still needs
--against and now says so without the stale cross-reference. SKILL.md's
table row is split the same way so it does not conflate the two calls.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@fdaviddpt
fdaviddpt merged commit 742610e into main Aug 27, 2026
14 checks passed
@fdaviddpt
fdaviddpt deleted the fix/586 branch August 27, 2026 11:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dispatch.md still teaches the hand-retyped held set that --derive-held was built to replace

1 participant