fabro/lib
Release Repro fae39d9fd6
refactor(workflow): tidy stall watchdog wiring and interview naming
Second pass, from the remaining review findings.

- Wrap the stall watchdog in a `StallWatchdog` type. The call site kept
  two parallel `Option`s derived from the same condition and threaded out
  an `Option<(CancellationToken, JoinHandle<()>)>`. `monitor_for_stall`
  also took two same-typed `CancellationToken` params pointing opposite
  directions, where swapping them compiles and yields a run that silently
  never stalls.
- Rename `WorkflowAgentQuestionRuntime::stage_id` and
  `PendingAgentQuestionBatch::stage_id` to `node_id`. They hold
  `node.id`, and the previous commit put them two lines from
  `stage_scope.stage_id()`, which returns a real `StageId`.
- Widen the two real-time interview tests. `node_timeout_excludes_
  human_input_wait` allowed 20ms of active work against a 50ms budget,
  which is tight enough to flake under parallel nextest load. The blocked
  wait still outruns the timeout, so both still fail if the pause
  regresses.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 10:08:03 -04:00
..
apps Merge pull request #705 from fabro-sh/feat/download-all-artifacts 2026-08-01 09:28:16 -04:00
components refactor(workflow): tidy stall watchdog wiring and interview naming 2026-08-01 10:08:03 -04:00
foundation Merge pull request #705 from fabro-sh/feat/download-all-artifacts 2026-08-01 09:28:16 -04:00
packages/fabro-api-client Merge pull request #705 from fabro-sh/feat/download-all-artifacts 2026-08-01 09:28:16 -04:00