mirror of
https://github.com/block/buzz.git
synced 2026-10-31 14:31:02 +00:00
Buzz agents were assigning genders to people without instruction, and persistent core memory lets one session's guessed gender poison every future session of the agent. Ports the approach from block/berd#82, adapted for Buzz's shared-memory architecture: - Add a tiny always-on [Defaults] interaction-norms preamble (interaction_norms.rs) with a Buzz-specific memory clause: record pronouns only as stated, never as guessed, and correct contradicted memory the same turn - Lead both delivery paths with it — framed_system_prompt (session/new system role) and StandingContext::sections() (legacy first message) — so it survives --no-base-prompt and precedes author-controlled content, letting personas and user statements read as the override - Add authoring guidance to base_prompt.md (drafted agents get no unrequested gender; memory records facts as stated) and PERSONA_PACK_SPEC.md (persona authors) - Teach the desktop transcript parser the leading [Defaults] section so the Prompt context panel labels it instead of folding it into Base Generated with Goose Signed-off-by: Clay Delk <clay.delk@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