-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Add epic detection logic to the il start command: detect the iloom-epic label, confirm swarm mode with the user, create an epic loom with its own integration branch, and handle the --swarm and --max-agents CLI flags.
Context
Part of the Autonomous Swarm Mode epic (#557). This issue handles the entry point UX — detecting that a user is starting an epic (not a regular issue) and setting up the epic-level infrastructure before the supervisor takes over.
Scope
Epic Detection
In StartCommand (after fetching the issue), check:
- Issue has
iloom-epiclabel - Issue has child issues (via
getChildIssues()) - Child issues have dependencies (via
getDependencies())
If all conditions met → epic mode. If label present but no children → warn and proceed as normal issue.
Confirmation Prompt
Show interactive confirmation:
Issue #42 is an epic with 8 child issues (5 ready, 3 blocked).
Start swarm mode? Max 3 concurrent agents. [Y/n]
- Interactive: show prompt, respect answer
- Non-interactive (no TTY): skip (require
--swarmflag) --swarmflag: bypass confirmation, start swarm immediately--swarmon non-epic: silently ignored, proceed as normalil start
CLI Flags
Add to il start in cli.ts:
--swarm— bypass epic confirmation, auto-confirm swarm mode--max-agents <n>— overrideswarm.maxConcurrentsetting for this run
Epic Loom Creation
When entering swarm mode, create an epic-level loom:
- Branch name: standard naming (e.g.,
issue-42-swarm-mode) - This branch serves as the integration branch — all child PRs target it
- Uses standard
LoomManager.createIloom()withenableClaude: false, enableCode: false, enableDevServer: false, enableTerminal: false - Epic loom metadata should include
{ isEpic: true, swarmStatus: 'pending' }
Edge Cases
- Epic with 0 child issues → warn, skip swarm, proceed as normal issue
- Epic with children but no dependencies → warn that all tasks will run in parallel
- Issue without
iloom-epiclabel but with child issues → normal issue (no auto-swarm) - Already have an active epic loom for this issue → offer to resume
Acceptance Criteria
-
il start <epic-number>correctly detectsiloom-epiclabel - Interactive confirmation prompt shows child issue summary
-
--swarmflag bypasses confirmation -
--swarmon non-epic is silently ignored -
--max-agentsoverride works - Epic loom created with integration branch
- Edge cases handled gracefully (0 children, no deps, existing loom)
- Unit tests cover detection logic and CLI flag handling
Scope Boundaries
- Does NOT launch the supervisor loop (that's wired in Claude CLI Integration #12/wire issue)
- Does NOT create child worktrees (supervisor handles that)
Dependencies
- Beads integration, settings, sync, and epic label #558 (Beads integration) — needs BeadsManager for child issue / dependency queries
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
No status