beadboard/tests/components
zenchantlive 211e503409 feat(graph): enforce single archetype per task
## Design Decision
Per bd (bead) system design, a task should have only ONE agent archetype
assigned at a time. This provides clear ownership and simpler mental model.

## What Changed
When assigning a new archetype:
1. Remove any existing agent: labels first (DELETE API)
2. Then add the new agent: label (POST API)
3. Optimistic UI updates to match

## Why This Makes Sense
- Clear ownership: 'Who's working on this?'
- Simpler coordination between tasks
- Matches how bd/agent orchestration is intended to work
- Reassigning is still possible (just click a different archetype)

## UI Behavior
- If task has 'coder' assigned, clicking 'architect' will:
  1. Remove 'coder' label
  2. Add 'architect' label
- Dropdown shows 'Assigned' badge on current archetype
- X button still available to unassign completely

## Test Coverage
Added graph-node-single-archetype.test.tsx with 5 tests:
- Removes existing labels before adding new
- Calls DELETE before POST
- Only allows one archetype per task
- Preserves non-agent labels
- Returns early if same archetype clicked
2026-02-24 17:04:44 -08:00
..
graph feat(graph): enforce single archetype per task 2026-02-24 17:04:44 -08:00
sessions chore: add utility scripts and additional test coverage 2026-02-15 21:19:31 -08:00
shared chore: checkpoint related UI improvements and supporting components 2026-02-24 16:25:45 -08:00
social feat(ui3): elegant earthy task feed redesign 2026-02-16 23:20:47 -08:00
swarm feat(swarm): modify unified-shell to render swarm layout 2026-02-20 17:25:05 -08:00
unified-shell.test.tsx feat(core): add SmartDag and supporting infrastructure for assign mode 2026-02-24 16:16:10 -08:00