fabro/lib/components/fabro-workflow/src/handler
Bryan Helmkamp 4efaf5c3d7
Let --dry-run walk a for_each fan-out
build_branch_plan read the runtime array before run_branches looked at
`simulated`, so every for_each workflow failed under --dry-run with
"for_each source '...' was not found in workflow context". Nothing had
populated the key yet: upstream LLM nodes take Handler::simulate, which
returns no context updates.

A dry run now stands in one placeholder item when the source is absent or
unusable, and simulates the template target once. Graph-shape mistakes
still fail, since catching those is the point of a dry run.

Also from review:
- ITEM_FENCE_PREFIX replaces the bare "untrusted-" literal that
  render_item_data and its test each spelled out.
- ItemRecordingHandler no longer guesses an item label by substring
  search. Nothing asserted it, and the third item's label "2" matched
  stray hex from the random fence tag about two thirds of the time.
- The twin test reads keys::PARALLEL_RESULTS instead of the raw string.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 18:49:41 -04:00
..
llm fix(workflow): drop token accounting from agent-facing preamble 2026-07-25 09:51:14 -04:00
agent.rs Reuse existing helpers in the for_each fan-out 2026-07-28 18:42:23 -04:00
command.rs refactor(agent): streamline shell outcome reporting 2026-07-24 21:50:07 -04:00
conditional.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
exit.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fan_in.rs refactor: simplify parallel handler and overview parsing 2026-07-24 08:28:58 -04:00
human.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
manager_loop.rs Merge origin/main into feat/stage-execution-identity-on-resume 2026-07-24 10:07:35 -04:00
mod.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
parallel.rs Let --dry-run walk a for_each fan-out 2026-07-28 18:49:41 -04:00
prompt.rs Reuse existing helpers in the for_each fan-out 2026-07-28 18:42:23 -04:00
start.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
structured_output.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
wait.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00