Repository navigation
feat(epic): persist parallelism override and add capacity plan - #154
Open
timeleft-- wants to merge 1 commit into
Open
timeleft-- wants to merge 1 commit into
timeleft-- wants to merge 1 commit into
Conversation
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
approved these changes
Nov 5, 2026
yia-mw-agent
left a comment
Contributor
There was a problem hiding this comment.
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 storesparallelism_source=override; later passes without the flag reuse the stored value; otherwise the value follows policy. Every consumer (compute_ready_frontier, report, status) readscheckpoint.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 aspolicy, so legacy behavior is unchanged.epic-statusexposesdetails.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/mainwith 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A multi-day epic run lost its accepted 10-slot parallelism.
--max-parallelismapplied 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
run_epic_passstores an explicit override asparallelism_source=overridein 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 aspolicy.epic-statusshowsdetails.parallelism_source.helmet-epicgains a short Capacity and model plan that replaces scattered capacity wording: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.shlocally: 3 failures, none from this change.test_issue_routing_orchestrationtest_cli_accept_requires_expected_head_and_reports_jsonandtest_cli_adopt_transferalso fail on cleanorigin/mainlocally.test_installed_console_loads_legacy_captain_policyfails in local venv/ensurepip creation.mw-version.py checkpasses.🤖 Generated with Claude Code