mirror of
https://github.com/block/buzz.git
synced 2026-11-01 06:51:17 +00:00
install_acp_runtime_blocking previously reported success whenever every
install step it ran succeeded. For the bundled bridges (claude, codex)
the adapter install plan is empty, so a broken bundle would run zero
steps and report success — discovery would immediately classify the
runtime as not installed again, an install-succeeds/still-broken loop
with nothing actionable surfaced to the user.
Add a Phase 3 verification gate after the final resolve-cache clear: a
pure adapter_verification_step seam re-resolves the runtime's adapter
commands and, when none resolves, appends a failed synthetic "verify"
step and flips the result to success:false. The hint points at
reinstalling Buzz when the adapter is bundled (the catalog carries no
install commands) and at the install step output for npm-installed
adapters like goose.
Ports the install-verification gate from the berd donor series
("require the bundled bridge in install verification", berd 4028e34c,
squashed into berd 09388d7): post-fix verification must apply the same
resolved-bundled-bridge gate as readiness, otherwise an install can
verify as success while the card immediately flips back to
not-installed. The readiness half of that gate is already structural
in Buzz — classify_runtime yields AdapterMissing/NotInstalled when the
bundle-first resolution finds no adapter.
Verification:
- cargo test --lib (desktop/src-tauri): 1385 passed, 0 failed
(4 new adapter_verification_step tests: resolves -> None, bundled
failure carries the reinstall-Buzz hint, unbundled failure does not,
empty command list -> nothing to verify)
- cargo clippy --lib --tests -D warnings: clean
- cargo fmt --check: clean
- node desktop/scripts/check-file-sizes.mjs: pass
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Matt Toohey <contact@matttoohey.com>