mirror of
https://github.com/block/buzz.git
synced 2026-10-31 14:31:02 +00:00
The restart-eligibility gate (effective_secrets_unavailable) covered the instance/definition/harness tiers but not the global tier. A setup-mode agent could be stopped by an auto-restart while the committed global ref was unhydratable, then hit the strict global reload at spawn, refusing respawn after the live process was already stopped (FailedAfterStop). Extract the four restart flows into an AppHandle-free restart_ops module. Each op takes the global-config loader as a closure it invokes itself, so the strict-global re-read and load-before-stop ordering are op-owned and stop-spy-testable. The two pre-scan selectors own the strict-global gate (unreadable global yields zero candidates); the two under-lock authorizers re-read the committed global before the stop. Production shells in agent_discovery.rs and global_agent_config.rs become thin wiring. Co-authored-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Buzz
Desktop chat shell with:
- Tauri + React + TypeScript + Vite
- Tailwind CSS
- shadcn/ui-ready shared components
- Biome (lint/format/check)
- Feature-driven frontend structure
Scripts
pnpm dev- run the web frontendpnpm tauri dev- run the desktop apppnpm build- typecheck and build frontendpnpm typecheck- TypeScript checkspnpm lint- Biome lintpnpm format- Biome format (write)pnpm check- Biome check
Structure
src/shared- reusable app-wide code (ui,lib,styles)src/features- feature modules (vertical slices)src/app- top-level app composition