Skip to content

Orchestrator terminal: live status feed while agents run #6

@markgar

Description

@markgar

Problem

The orchestrator terminal sits idle after launching agents, only polling is_builder_done() every 15 seconds in a silent loop. There's no visibility into what's happening across the system unless you manually tail individual log files.

Proposal

Turn the orchestrator's wait loop into a live status feed that surfaces interesting events as they happen. The orchestrator already has access to logs/ — it can watch for changes and report them.

Events to surface

  • Story claimed — builder N claimed story "XYZ" from BACKLOG.md
  • Story completed — builder N finished story "XYZ", marked [x]
  • Milestone completed — milestone-NN merged to main
  • Milestone review done — milestone reviewer finished reviewing milestone-NN
  • Tests run — tester completed milestone-NN (N passed, N failed)
  • Validation results — validator finished milestone-NN (pass/fail summary)
  • Bugs filed — new bug issue opened by tester/validator
  • Merge conflict detected — builder N hit a merge conflict (and whether it resolved or is stuck)
  • Builder stuck — builder N hasn't committed in X minutes
  • Agent idle/exited — reviewer/tester/validator went idle or shut down

Events to skip

  • Individual commits (too noisy)
  • Per-commit review results (already filed as issues)

Implementation approach

The orchestrator's _wait_for_builders() loop (currently just time.sleep(15) + is_builder_done()) would be extended to:

  1. Watch logs/milestones.log for new milestone entries
  2. Watch logs/builder-N.log for claim/completion patterns
  3. Watch logs/validation-*.txt for new validation results
  4. Watch logs/tester.log and logs/milestone-reviewer.log for activity
  5. Parse BACKLOG.md periodically for story state changes
  6. Check for stale builder logs (no activity for 5+ min)

Output would be timestamped single-line updates to stdout, e.g.:

[14:32:05] Builder-1 claimed story 3: "Member management API"
[14:35:12] Builder-2 completed milestone-02, merged to main
[14:35:18] Tester started testing milestone-02
[14:36:01] Validator started validating milestone-02
[14:38:44] Tester finished milestone-02: 12 passed, 0 failed
[14:40:02] Validator finished milestone-02: 8/8 PASS
[14:41:30] Builder-1 hit merge conflict on builder-1/milestone-03 (retrying...)
[14:42:15] Milestone reviewer completed review of milestone-02: 1 finding filed

Considerations

  • Keep it lightweight — file polling, no new dependencies
  • Don't duplicate logging that already goes to log files — this is a curated summary for the human watching
  • Could optionally support --quiet to suppress (for CI or background runs)

Migrated from markgar/multi-agent-dev#8

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions