Skip to content

feat(epic): persist parallelism override and add capacity plan - #154

Open
timeleft-- wants to merge 1 commit into
mainfrom
claude/agent-orchestration-retro-3aca4a
Open

timeleft-- wants to merge 1 commit into
mainfrom
claude/agent-orchestration-retro-3aca4a

Conversation

@timeleft--

Copy link
Copy Markdown
Member

Why

A multi-day epic run lost its accepted 10-slot parallelism. --max-parallelism applied only to a single pass, so every continuation that omitted the flag went back to the policy default of 2. The same retro found that the orchestrator carried growing history in each heartbeat, left most delegated models implicit, and handed out audit packets too large for one worker context.

What changed

  • Runtime: run_epic_pass stores an explicit override as parallelism_source=override in the epic checkpoint. Later passes reuse it until a new explicit value replaces it. Without an override, the value follows the policy. Older checkpoints load as policy. epic-status shows details.parallelism_source.
  • Skill: helmet-epic gains a short Capacity and model plan that replaces scattered capacity wording:
    • one startup recommendation of a low-cost orchestration model
    • explicit model and effort for each delegated role
    • separate Helmet worker and host collaboration pools
    • fill free slots on every completion or repair event, with a 3-line capacity record
    • bounded, self-contained review assignments keyed by repo+PR+head+axis
    • disjoint audit packets
    • a compact continuation record in place of accumulated history
  • Docs and CLI help updated. Version 1.0.1 → 1.1.0.

Out of scope: the serial CI/merge tail, which needs its own integration design.

Validation

  • python3 -m unittest tests.test_helmet_epic: 76 tests OK, 4 of them new. They cover the override persisting across passes and across policy changes, a later explicit value replacing it, the policy-following default, legacy checkpoint loading, and active children consuming override slots.
  • scripts/verify.sh locally: 3 failures, none from this change. test_issue_routing_orchestration test_cli_accept_requires_expected_head_and_reports_json and test_cli_adopt_transfer also fail on clean origin/main locally. test_installed_console_loads_legacy_captain_policy fails in local venv/ensurepip creation.
  • mw-version.py check passes.

🤖 Generated with Claude Code

An explicit --max-parallelism now persists in the epic checkpoint
(parallelism_source=override) until a later explicit value replaces it,
so continuation passes that omit the flag no longer fall back to the
policy default. epic-status exposes details.parallelism_source.

helmet-epic gains a short Capacity and model plan: explicit model routing
by role, separate worker and collaboration pools, slot backfilling with a
compact capacity record, bounded review and audit assignments, and a
compact continuation record instead of accumulated history.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@yia-mw-agent yia-mw-agent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the full merge-base-to-head diff (base main, merge-base 2ec9375 = current main tip, 9 files) at 602a635, which was also the live head at start and before submitting.

Helmet-Review-Request: #154 (comment)

No material defects.

Findings:

  • run_epic_pass (helmet_epic.py ~1871): an explicit value stores parallelism_source=override; later passes without the flag reuse the stored value; otherwise the value follows policy. Every consumer (compute_ready_frontier, report, status) reads checkpoint.max_parallelism, which is set once per pass, so the persisted value reaches dispatch.
  • load_epic_checkpoint: only the literal "override" is honored; older checkpoints and unknown values load as policy, so legacy behavior is unchanged. epic-status exposes details.parallelism_source.
  • Skill, doc, and CLI-help edits match the runtime behavior. The new "Capacity and model plan" is internally consistent and anchors resolve.
  • The new tests cover persistence across passes and policy changes, later explicit replacement, the policy-following default, legacy checkpoint loading, and active children consuming override slots.

Validation (local):

  • python3 -m unittest tests.test_helmet_epic: 76 tests OK.
  • scripts/mw-version.py check --base origin/main with the PR title: passes (1.0.1 -> 1.1.0; a feat touching skills/runtime warrants a minor bump).
  • Wider pytest subset (skills, plugin, setup, boundary, authority): 145 passed. The only failures are the venv/ensurepip-dependent installed-console and packaged-release tests, which fail on pip bootstrap in this sandbox and are unrelated to the diff; the PR description reports the same.

Non-blocking: the docs/helmet-epic.md edit leaves one overlong line; reflowing it would be tidy.

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.

2 participants