fix(justfile): complete buzz rename in dev and staging recipes#966
Merged
Conversation
#958 renamed SPROUT_* env vars to BUZZ_* in scripts/instance-env.sh but missed the `dev` and `staging` just recipes, which still reference SPROUT_TAURI_CONFIG, SPROUT_VITE_PORT, and SPROUT_RELAY_URL. Running `just dev` or `just staging` on a fresh checkout fails with `SyntaxError: "undefined" is not valid JSON` because the recipes try to JSON.parse an unset env var. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
#958 renamed the cargo crates to buzz-* and updated `_ensure-sidecar-stubs` to produce `buzz-*` stub filenames, but left `desktop/src-tauri/tauri.conf.json` declaring `externalBin` as `binaries/sprout-*` and the `staging` / `desktop-release-build` recipes still touching/copying `sprout-*` paths. tauri-cli then aborts with: resource path `binaries/sprout-acp-aarch64-apple-darwin` doesn't exist Update the three remaining sites (tauri.conf.json externalBin, staging cp target, desktop-release-build stub touches) to `buzz-*` so everything agrees on the rename direction. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cb937e8 to
a255659
Compare
wpfleger96
approved these changes
Jun 11, 2026
The staging recipe now exports BUZZ_RELAY_URL, but the desktop shell still read SPROUT_RELAY_URL — so `just staging` would launch fine while the app silently connected to ws://localhost:3000 instead of the staging relay (and sidecars, which already read BUZZ_RELAY_URL, would point at staging: split-brain). Rename the shell's relay env vars and the build-time baked pair to BUZZ_* to match instance-env.sh and the buzz-* crates. The managed-agent spawn handoff (SPROUT_RELAY_URL/SPROUT_PRIVATE_KEY/ SPROUT_ACP_* in managed_agents/) is a separate pre-existing gap from #958 and is left for a follow-up. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Category: fix
User Impact:
just devandjust stagingwork again on a fresh checkout — they currently crash before reachingtauri dev, andstagingwould otherwise silently connect to the wrong relay.Problem: #958 (the buzz backend rename) renamed the cargo crates and
_ensure-sidecar-stubstobuzz-*, but three other parts of the build chain were left referencing the oldsprout-*names, plus a separate env-var rename inscripts/instance-env.shwas not propagated:devandstagingrecipes still referenceSPROUT_TAURI_CONFIG/SPROUT_VITE_PORT/SPROUT_RELAY_URL, butscripts/instance-env.shexports those asBUZZ_*. The recipes callJSON.parse(process.env.SPROUT_TAURI_CONFIG)onundefinedand abort withSyntaxError: "undefined" is not valid JSON.desktop/src-tauri/tauri.conf.jsondeclaresexternalBinentries asbinaries/sprout-{acp,agent,dev-mcp,...}and thestaging+desktop-release-buildrecipes touch/cpsprout-*paths, but the stubs created by_ensure-sidecar-stubsare nowbuzz-*. tauri-cli aborts withresource path 'binaries/sprout-acp-aarch64-apple-darwin' doesn't exist.SPROUT_RELAY_URL/SPROUT_RELAY_HTTP(relay.rs,build.rs). With the recipes exportingBUZZ_RELAY_URL,just stagingwould launch but the app would silently fall back tows://localhost:3000while the sidecar crates (which already readBUZZ_RELAY_URL) pointed at staging — a split-brain.Solution: Three narrow sweeps that finish refactor: rename sprout backend to buzz #958's direction:
SPROUT_TAURI_CONFIG/SPROUT_VITE_PORT/SPROUT_RELAY_URL→BUZZ_*in thedevandstagingrecipes so they read whatinstance-env.shactually exports.binaries/sprout-*→binaries/buzz-*intauri.conf.jsonexternalBin, thestagingrecipe'scptarget, and thedesktop-release-buildstubtouchcalls — so all four sites agree on thebuzz-*names that_ensure-sidecar-stubsalready produces.SPROUT_RELAY_URL/SPROUT_RELAY_HTTP→BUZZ_*in the desktop shell's read path (relay.rs:22,67and the compile-timeBUZZ_DESKTOP_BUILD_RELAY_{URL,HTTP}bake inbuild.rs) so the shell honors the same relay env vars as everything else.Out of scope (pre-existing #958 gaps, follow-up): the managed-agent spawn handoff still uses
SPROUT_*names (runtime.rssetsSPROUT_RELAY_URL/SPROUT_PRIVATE_KEY/SPROUT_ACP_*, butbuzz-acpreadsBUZZ_*;DEFAULT_ACP_COMMANDis stillsprout-acp;KNOWN_AGENT_BINARIESonly listssprout-*). That handoff needs its own coordinated rename.File changes
justfile
Renamed env-var references inside the
devandstagingrecipes fromSPROUT_*toBUZZ_*to matchscripts/instance-env.sh. Renamed thecptarget instagingand thetouchpaths indesktop-release-buildfrombinaries/sprout-*tobinaries/buzz-*to match_ensure-sidecar-stubs.desktop/src-tauri/tauri.conf.json
Renamed
externalBinentries frombinaries/sprout-{acp,agent,dev-mcp}andbinaries/sproutto theirbinaries/buzz-*equivalents so they match the stubs produced by_ensure-sidecar-stubsand the binaries cargo emits.desktop/src-tauri/src/relay.rs, desktop/src-tauri/build.rs
The desktop shell now reads
BUZZ_RELAY_URL/BUZZ_RELAY_HTTP(and bakesBUZZ_DESKTOP_BUILD_RELAY_{URL,HTTP}at compile time) instead of theSPROUT_*names, matching the recipes and the renamed crates.Reproduction Steps
main(or fresh worktree from main).just staging(orjust dev). Without this fix:SyntaxError: "undefined" is not valid JSONright after the cargo build, then laterresource path 'binaries/sprout-acp-...' doesn't exist; even with those patched, the app would connect tows://localhost:3000instead of the staging relay. With this fix, the recipe proceeds intotauri devand the shell honorsBUZZ_RELAY_URL.