fabro/lib/crates/fabro-cli
fabro-sh-0530[bot] e901cd3a81
Surface silent fallback warnings in runs and logs (#205)
### Summary
Silent fallback paths now emit stable warnings instead of degrading
without a user-visible signal. The fallback behavior is unchanged; runs
still continue, but worktree, Git, checkpoint, and LLM failover issues
now show up in the run feed and logs.

### Plan Summary
- Emit run notices for workflow Git/worktree fallback paths.
- Reuse the existing failover event for one-shot LLM provider fallback.
- Add tracing for sandbox pipe drain failures.

### What changed
- Added `worktree_skipped_no_git` and gated `sandbox_git_unavailable`
notices during initialization.
- Added `git_push_failed` and `parallel_base_checkpoint_failed` notices,
including redacted output tails where available.
- Logged GitHub token mint failures with a structured `error` field
before the existing notice.
- Plumbed `Emitter` and `StageScope` through `CodergenBackend::one_shot`
so the API backend emits the existing `agent.failover` event instead of
a duplicate tracing-only warning.
- Extracted sandbox pipe draining into a helper that warns on
stdout/stderr read failures, with unit coverage for the error path.
- Updated CLI snapshots for the new worktree warning in stderr and JSON
event output.

⚒️ Generated with [Fabro](https://fabro.sh)

---------

Co-authored-by: Fabro <noreply@fabro.sh>
Co-authored-by: Bryan Helmkamp <bryan@brynary.com>
2026-05-05 09:18:05 -04:00
..
src Surface silent fallback warnings in runs and logs (#205) 2026-05-05 09:18:05 -04:00
tests Surface silent fallback warnings in runs and logs (#205) 2026-05-05 09:18:05 -04:00
build.rs feat(cli): surface debug build profile in version output 2026-04-18 09:44:54 -04:00
Cargo.toml refactor(server): gate test app state helpers 2026-05-02 13:02:41 -04:00