[Bug] Code-review workflow hangs at synthesis phase; nested-parallel agents bypass cache on resume

Open 💬 1 comment Opened Jun 25, 2026 by Fuitad

Bug Description
Workflow tool: /code-review workflow hangs at the synthesis phase (never spawns final agent); resume re-runs nested-parallel agents instead of using cache

What happened

Ran the built-in workflow-backed /code-review at xhigh on a ~46-file staged diff. The workflow completed every phase through Verify and Sweep, then hung at the final Synthesize phase: the synthesis agent() call was never spawned, and the run went completely silent.

Two distinct bugs:

  1. Synthesis phase never spawns. After all scope (1) + 10 finders + 38 verifiers + sweep (1) subagents produced transcripts, no agent carrying the synthesis prompt was ever created. The run sat silent (no subagent transcript writes) for ~12 minutes with no completion or error. The completion notification only fires on success, never on stall, so the hang was invisible until an external check looked. This reproduced on a second run (see below), so it's not a transient API failure, it looks like the workflow runtime hangs between the last pipeline()/parallel() completion and the next top-level await agent().
  2. resumeFromRunId cache miss on nested-parallel agents. Recovery was TaskStop + Workflow({scriptPath, resumeFromRunId}). On resume, the 38 verifier agents (spawned inside parallel() within a pipeline() stage) re-ran live instead of returning from cache (verifier transcript count went 38 → 76), then the run stalled again at the same synthesis boundary. So only the top-level agent prefix cached; agents created inside nested parallel()/pipeline() callbacks did not.

Impact: the workflow never returns a result; the full finder+verifier fan-out effectively ran twice for zero usable output. The verdicts were only recoverable by parsing the subagent .jsonl transcripts by hand.

Environment: Claude Code, built-in code-review workflow, xhigh effort. Run ID wf_61f2caea-cbd (task ids want473u0, resume wg6c9bebg).

Workaround: an external background stall-monitor watching the run's subagent transcript-dir mtime catches it within ~150s; the synthesis itself isn't recoverable via resume.

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 2.1.191
  • Feedback ID: 71e47901-edf3-477c-a1f4-add81334d64f

Errors

[]

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗