Files
buzz/desktop
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 662c398d26 feat(managed-agents): A1/A7/B4/B5/#3493 — claude model authority, PermissionMode Auto, effort persistence, bridge path fix
A1 — single startup model authority for Claude Code (local agents).
Add apply_claude_spawn_policy() to claude_config/mod.rs and call it from
spawn_agent_child() for local Claude agents.  Injects ANTHROPIC_MODEL from
the Buzz-resolved model, writes the B7 projected settings.json, and injects
the B1 paired atom (CLAUDE_CONFIG_DIR + CLAUDE_SECURESTORAGE_CONFIG_DIR='')
in one call.  The protected-key predicate covers ANTHROPIC_MODEL so the
owner settings.json env block cannot fight it.  Collapses the prior 57-line
inline block in runtime.rs; corrects a false comment that claimed
descriptor.env was pre-filtered by the predicate (it is not — policy values
win by being written after descriptor.env).

Also adds owner_mcp_config_path() to claude_config/mod.rs for use by the
config_bridge paths fixed in #3493 below.

A7 — PermissionMode::Auto variant (wire string 'auto', alias 'auto').
buzz-acp/src/config.rs gets the Auto variant with tests for wire string,
is_default() == false, and documented adapter-side graceful downgrade.

B4 — canonical effort tier in build_thinking_field.
record.effort_level is now the BuzzExplicit tier immediately above the
record env tier in the tiers_list, making the B5-persisted effort the
'configured' value in the B4 status contract (configured == running on
positive ack, unknown with both values shown on divergence).

B5 — persist_agent_effort_level Tauri command and TypeScript binding.
Adds persist_agent_effort_level(pubkey, effortLevel) in agent_config.rs,
registers it in lib.rs, and exports persistAgentEffortLevel in tauri.ts.
Called by the TS observer on positive ACP session/set_config_option ack.
The persisted value seeds effortLevel in the projected settings.json overlay
at the next spawn (B7).

#3493 — config_bridge no longer hardcodes ~/.claude.json.
config_bridge/claude.rs::read_config_file() and
config_bridge/reader.rs::mcp_config_file_path_for_runtime() now call
owner_mcp_config_path() and owner_settings_path() from claude_config::mod,
removing the three independent home-dir concatenations.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-08-03 13:21:50 -04:00
..
…

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 frontend
  • pnpm tauri dev - run the desktop app
  • pnpm build - typecheck and build frontend
  • pnpm typecheck - TypeScript checks
  • pnpm lint - Biome lint
  • pnpm 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