fix(review): stop multi-agent runs wedging on "Finalizing output..."

main

Commit

dipree3mo ago

A long-running worker can emit multi-MB of narrative markdown. The post-run DumpSink rendered each worker's narrative through glamour on the orchestrator's finalize goroutine, and glamour's cost is strongly super-linear (~6s at 2MB, ~49s at 4MB, minutes-to-never beyond). So the whole run hung on a frozen "Finalizing output..." with the TUI never exiting.

Worker output is raw material, not a deliverable: the human reads the styled final report and can drill into a worker's buffer interactively. So DumpSink now writes plain markdown directly and never calls glamour.

Also:

  • mdrender.Render caps input at 256KB and returns raw markdown above it, protecting the remaining glamour callers (final report, investigate, dispatch) from the same blowup.
  • The review TUI keeps a spinner + elapsed timer animating during the finalize phase so a genuinely slow finish is visible, not frozen.
  • runFinishedMsg now lets the authoritative summary downgrade an optimistic stream "Succeeded" to "failed"/"cancelled", so the agent rows and the counts line stop disagreeing in the final frame.
  • Worker prompt asks for compact output (minimal snippets, no whole-file pastes or decorative formatting) to curb the bloat at the source.

Entire-Checkpoint: e32caf7f5d7d

Checkpoints

Fix Multi-Agent Run Hanging and Finalization Issues

PiOpus 4.8
View session
Checkpoint 1