fix(desktop): use effective readiness for welcome kickoff - #4540
Conversation
Signed-off-by: npub13n66s06epmqf2kc3v373ez8hj65cuzyvxzjf93vwpervxqn2u7jq2qd9je <8cf5a83f590ec0955b11647d1c88f796a98e088c30a492c58e0e46c3026ae7a4@buzz.block.builderlab.xyz>
Signed-off-by: npub13n66s06epmqf2kc3v373ez8hj65cuzyvxzjf93vwpervxqn2u7jq2qd9je <8cf5a83f590ec0955b11647d1c88f796a98e088c30a492c58e0e46c3026ae7a4@buzz.block.builderlab.xyz>
Signed-off-by: npub13n66s06epmqf2kc3v373ez8hj65cuzyvxzjf93vwpervxqn2u7jq2qd9je <8cf5a83f590ec0955b11647d1c88f796a98e088c30a492c58e0e46c3026ae7a4@buzz.block.builderlab.xyz>
|
Heads-up on a To minimize rework on both sides it'd help to land #3804 first: it's a small, targeted #3804 is now rebased onto |
🤖
Summary
Buzz creates Bumble, Fizz, and Honey during Welcome, then decides whether to start them. That decision was made with a frontend shortcut that did not use the configuration the backend would actually use to spawn the selected agent.
This produced different failures depending on the build:
squareup/buzz-releaseswith packaged Databricks defaultsThe root problem was therefore not that spawn lacked provider/model support. Spawn already resolves the managed instance's selected runtime and its effective configuration in this order: packaged release defaults, app-wide defaults, persona settings, and instance settings. Welcome used a separate approximation over persisted app-wide settings and could disagree with spawn.
This change adds a backend readiness command for one managed-agent instance and makes Welcome call it for the Fizz instance it just provisioned. The command reuses spawn's fallible runtime resolution and effective configuration. It also preserves spawn's behavior for references to deleted runtimes: those remain not ready instead of silently falling back to another runtime.
Provider credentials remain isolated to each Buzz app identity. This change does not copy credentials, persist packaged defaults, or change what Skip for now means. It fixes builds that already have a spawn-ready path but Welcome fails to recognize it; it does not make an actually unconfigured development sandbox ready.
The packaged Databricks floor is an intentional Block distribution boundary, not part of ordinary local or public builds. The private
squareup/buzz-releasesmacOS pipeline suppliesBUZZ_BUILD_BUZZ_AGENT_PROVIDERandBUZZ_BUILD_AGENT_ENVwhen compilingblock/buzz; normaljust devand public/OSS release jobs do not. This PR consumes that existing floor consistently but does not change which builds receive it. Making pristine local development reproduce the internal first-run agent experience would require a separate sanctioned dev configuration/authentication path.Related issue
No exact issue found. Related reports: #4157, #3013, #2931, #3727, and #3753.
Testing
Core behavior was validated at
38d1a13e75161df116e5c77f50b0fb330b44c37b; the follow-up CI-only size-ratchet adjustment is2a7b2c36ff2f5ddbe2d23b92086cd497bc5b0e00:38d1a13e75161df116e5c77f50b0fb330b44c37b: full desktop Tauri Rust suite (2,050 passed, 0 failed, 14 ignored), pluspnpm -r check2a7b2c36ff2f5ddbe2d23b92086cd497bc5b0e00:pnpm --dir desktop check:file-sizesandpnpm --dir desktop checkThe manual fresh-install walkthrough was blocked by macOS Accessibility automation, so the automated first-run flow provides the reproducible end-to-end coverage.