-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
P0: criticalMust fix immediately — blocks core functionalityMust fix immediately — blocks core functionalitybugSomething isn't workingSomething isn't working
Description
Description
In supervisor mode, mc_plan can get stuck in a pre_merge checkpoint loop where jobs stay ready_to_merge and never progress to merging.
Steps to Reproduce
- Start a plan in supervisor mode (for example,
mc_plan(..., mode: "supervisor")) with at least one job that reachesready_to_merge. - Run
mc_plan_statusand confirm the plan pauses at checkpointpre_merge. - Approve the checkpoint with
mc_plan_approve(checkpoint: "pre_merge"). - Run
mc_plan_statusagain. - Repeat step 3 and observe that the plan pauses at
pre_mergeagain with no merge progress.
Expected Behavior
After approving pre_merge, the next eligible ready_to_merge job should move to merging, be processed by the merge train, and continue normal plan execution.
Actual Behavior
- Plan re-enters checkpoint
pre_merge. - Job remains
ready_to_merge. - Merge train does not enqueue/process the job.
- Plan cannot progress without manual state edits or changing mode.
Environment
- OS: macOS (darwin)
- tmux version: 3.6a
- opencode version: 1.1.56
- bun version: 1.3.6
Additional Context
Likely in reconcile logic around src/lib/orchestrator.ts: in supervisor mode, ready_to_merge calls setCheckpoint("pre_merge") and returns, but there is no persisted per-job approval state to consume after mc_plan_approve, so the same job triggers checkpoint again on resume.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P0: criticalMust fix immediately — blocks core functionalityMust fix immediately — blocks core functionalitybugSomething isn't workingSomething isn't working