Skip to content

Conversation

@EivMeyer
Copy link
Collaborator

Summary

  • Daemon exit polling: When CLUSTER_COMPLETE triggers orchestrator.stop(), the process now polls cluster state every 1s and exits when stopped/completed. Prevents zombie processes that block heroshot maxConcurrent.
  • Issue number persistence: Store cluster.issue in clusters.json so heroshot can track active clusters by issue number and enforce maxConcurrent properly.

Test plan

  • Run heroshot with maxConcurrent=3
  • Verify clusters exit cleanly when complete (no zombies)
  • Verify heroshot doesn't spawn more than maxConcurrent clusters

🤖 Generated with Claude Code

1. Daemon exit polling: When CLUSTER_COMPLETE triggers orchestrator.stop(),
   the process now polls cluster state every 1s and exits when stopped/completed.
   Prevents zombie processes that block heroshot maxConcurrent.

2. Issue number persistence: Store cluster.issue in clusters.json so heroshot
   can track active clusters by issue number and enforce maxConcurrent properly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@EivMeyer EivMeyer enabled auto-merge January 30, 2026 13:07
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.

1 participant