Files
buzz/desktop/src-tauri
npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67dandTyler Longwell 9c0d097ce0 fix(desktop): harden custom harness backend — validation, dangling-delete coherence, registry races
Review fixes for the BYOH generic ACP harness PR (backend layer):

- Reject commas in harness args at validate_harness_definition, the
  shared boundary used by both save_custom_harness and the disk loader,
  so a definition that would corrupt the comma-joined agent_args wire
  format can neither be saved nor loaded.
- Dangling harness references (agent pins a deleted harness id) now
  resolve to a typed sentinel: summaries render 'harness (deleted): <id>'
  instead of silently falling back to buzz-agent, and spawn converts the
  sentinel to an actionable sentence via user_facing_harness_error.
- ManagedAgentSummary carries the record-level runtime pin so the UI can
  count referencing agents in the delete confirmation.
- Collision filtering moved into load_custom_harnesses so both loaders
  inherit preset-shadowing rules; discovery publishes the registry by
  re-reading the directory under persist_mutex (lock scoped to the
  publish only, never across auth probes), with deterministic
  interleaving tests for save-during-discovery and delete-during-discovery.
- load_global_agent_config hoisted out of build_managed_agent_summary
  into a parameter: one disk read per caller instead of per record.
- Cleanup: drop discarded sweep arg from buzz_sweep_owns_process, remove
  duplicated doc paragraph and stray SAFETY comment.
- De-flake grandchild PGID test: keep the process-group leader alive
  through the getpgid assertion with a trailing sleep.

Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
2026-07-25 22:22:45 -04:00
..