beadboard/tests
zenchantlive 512a836db4 feat(graph): add Assign button and archetype dropdown to GraphNodeCard
## The Collaboration Story
User requested ability to assign agent archetypes to tasks directly from
graph nodes. This was the core UI feature request.

## Design Decisions Made Together
1. **Placement**: We decided to put the assign UI at the bottom of the card
   to not interfere with existing status/badges display
2. **Pattern**: Used Radix dropdown-menu (already in project) for consistency
3. **Visual feedback**: Added loading spinner during API calls, success/error
   messages that auto-dismiss
4. **Closed tasks**: Excluded closed tasks from assignment (logical constraint)

## Issues We Encountered
- Initially only added POST handler for assignment
- User pointed out we needed DELETE for unassign - added that
- The unassign button (X) needed to call DELETE not POST

## API Changes
- Added DELETE handler to /api/swarm/prep for removing agent assignments
- Uses 'bd label remove' under the hood

## What the UI Shows
- Dropdown with available archetypes
- Badge showing assigned archetype name with color
- X button to unassign (on each badge)
- 'Assigned' label on already-assigned archetypes in dropdown

## Test Coverage
- Added graph-node-assign.test.tsx with 6 TDD tests

## Beads: beadboard-brq (closed)
2026-02-24 16:14:56 -08:00
..
api feat(swarm): modify unified-shell to render swarm layout 2026-02-20 17:25:05 -08:00
components feat(graph): add Assign button and archetype dropdown to GraphNodeCard 2026-02-24 16:14:56 -08:00
guards feat(telemetry): complete bb-buff.1.3 - Backend Liveness Refactor 2026-02-15 21:14:05 -08:00
hooks feat(swarm): implement Swarm View remake with Operations, Archetypes, and Templates 2026-02-20 22:19:38 -08:00
lib chore: checkpoint before DAG views UX overhaul 2026-02-22 20:43:59 -08:00
scripts feat(telemetry): complete bb-buff.1.3 - Backend Liveness Refactor 2026-02-15 21:14:05 -08:00
server chore: checkpoint before DAG views UX overhaul 2026-02-22 20:43:59 -08:00
skills/beadboard-driver docs(beads): etch project history into memory bank and finalize skill-bb 2026-02-14 00:21:25 -08:00
types chore: initialize beadboard baseline 2026-02-11 17:42:51 -08:00
bootstrap.test.mjs chore: initialize beadboard baseline 2026-02-11 17:42:51 -08:00