mirror of
https://github.com/block/buzz.git
synced 2026-10-31 22:41:12 +00:00
The interleave/txn-lock regressions drove `transaction_lock_at` directly in the test, not the production lock acquisition, so deleting the real lock in `save_managed_agents`/`save_agent_definitions` or the identity persist path left both tests green. The lock primitive was proven; the production wiring was not (Thufir r5 IMPORTANT #1). Extract AppHandle-free entry points that own lock -> mutation as one unit: `save_managed_agents_locked_at`/`save_agent_definitions_locked_at` in storage, and `persist_identity_locked` (in commands/identity, the command-orchestration layer) for the three identity-persist sites. All production wrappers route through them. Identity persist contends on the same store-directory inode every agent save takes via `secret_txn_lock_dir`, so identity/agent secrets on the shared blob mutually exclude. The interleave tests now drive those exact seams via a store-injected barrier that pauses mid-mutation inside the lock span; a non-blocking flock(LOCK_NB) probe proves EWOULDBLOCK exclusion. Deleting either storage acquisition or the identity acquisition now turns the matching regression red. 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