Files
buzz/crates
Alex Rosenzweig 2c270cf9d7 test(agent): synchronize handoff steering with tool approval (#8042)
## Summary

`handoff_cap_binds_within_a_single_turn` can finish the turn before its
steer is accepted. It also requests `test_tool`, which the fake MCP
server does not expose, so the supposed tool round fails immediately.

Call the real `cap_test__tool_0` fixture and hold its permission
response until the steer is acknowledged. Assert that the next model
request contains the steer and the handoff cap still prevents a second
summary. This changes one regression test; production code is unchanged.

## Validation

- Reproduced the exact CI failure on unchanged `main` with a temporary
250 ms reader delay; the repaired test passed with the same delay. The
delay is not committed.
- Temporarily reset the handoff counter when a steer is queued: the
repaired test failed. Restored production code afterward.
- All six handoff regressions passed: `cargo test -p buzz-agent --locked
--test regressions handoff_`.
- `just ci` passed on the combined stack: repository checks, Rust and
Tauri tests/lint, desktop tests/build, web build, and mobile
checks/tests.
- All 54 native-agent regressions passed on the combined stack,
including this test.

## Stack

1. **This PR → `main`**: deterministic handoff regression.
2. **#8037 → this branch**: Goose MCP discovery compatibility.

Merge this PR first, then retarget #8037 to `main`.

Signed-off-by: Alex Rosenzweig <arosenzweig@squareup.com>
2026-10-02 11:10:33 -05:00
..