feat(ux): consolidate Launch Swarm + telemetry UX with minimized strip

- Removed broken LaunchSwarmDialog (formula-based) from TopBar/LeftPanel
- All Rocket buttons (TopBar, LeftPanel, DAG nodes, social cards) now open
  AssignmentPanel (archetype-based) which actually works
- Every Rocket clears taskId first so assignMode && !taskId condition passes
- Conversation button priority: taskId always shows conversation, not assign panel
- Added TelemetryStrip: minimized right sidebar with status dots when non-telemetry
  panel (conversation/assignment) is active
- Live feed has minimize button → restores last taskId or assignMode
- DAG nodes: Signal icon → restores telemetry feed
- Social button on DAG nodes: single router.push to avoid race (setView + setTaskId)
- Fixed social card message button: opens right panel with drawer:closed (no popup)

Co-Authored-By: Oz <oz-agent@warp.dev>
This commit is contained in:
zenchantlive 2026-03-01 18:17:58 -08:00
parent 65d69ecbbc
commit c246ceaf21
165 changed files with 13730 additions and 1132 deletions

View file

@ -0,0 +1,35 @@
# Agent-First UI Decisions for Coordination Migration
Date: 2026-02-28
Status: Approved implementation defaults
## Decision Summary
1. Coordination writes are agent-first by default.
2. Human operators supervise, comment, and override only when needed.
3. Sessions conversation timeline remains a merged feed (activity + protocol + comments).
## Interaction Ownership
### Agent-owned by default
- `SEND`, `READ`, `ACK`, `RESERVE`, `RELEASE`, `TAKEOVER` protocol events.
- Routine reservation and handoff execution.
### Human-owned by default
- `bd comments` discussion entries.
- Override intervention decisions (for blocked/conflict situations).
## UI Behavior
1. Conversation actions (`Seen`, `Accept`) emit `coord.v1` events via `/api/coord/events`.
2. Comment composer includes explicit `Comment as` username field; value is persisted locally for convenience.
3. Human comments use provided actor handle (instead of default email) when supplied.
4. Incursions are computed from reservation projections and shown in sessions feed context.
## Identity Policy
1. Human comments should use user handle (for example `zenchant`) not raw email whenever available.
2. Protocol events should use agent identity in `actor`.
3. Timeline rendering must preserve actor attribution so human and agent actions stay distinguishable.

View file

@ -0,0 +1,24 @@
# BB Deprecation Notes (Draft)
Date: 2026-02-28
Status: Legacy compatibility removed from migrated coordination path
## Intent
`bb` coordination paths are legacy compatibility behavior while `bd` audit/event protocol paths are rolled out.
## Runtime Behavior
- Sessions communication now uses `coord.v1` projections only.
- Legacy mailbox fallback is removed from the migrated sessions path.
## Removal Criteria
1. Sessions and conversation flows operate correctly using only `coord.v1` projections.
2. Read/ack actions are emitted via `/api/coord/events`.
3. `npm run typecheck`, `npm run lint`, `npm run test` results are reviewed for migration-related regressions.
## Post-Approval Work
1. Update `skills/beadboard-driver` to `bd`-only commands and projection APIs.
2. Remove deprecated route handlers that mutate legacy mailbox state.

View file

@ -0,0 +1,120 @@
# BD Audit Coordination Schema (Draft)
Date: 2026-02-28
Status: Draft for skill migration planning
Scope: Replace `bb` coordination semantics with `bd`-native event/audit contracts
Related protocol baseline:
- `docs/protocols/operative-protocol-v1.md`
## Intent
Use `bd` as the only required system in agent work repos. Keep coordination state in append-only audit events, and keep human context in bead comments.
Primary storage:
- protocol state: `bd audit record --stdin`
- lifecycle state: `bd update`, `bd close`, `bd agent state`, `bd agent heartbeat`
- narrative context: `bd comments add`
## Why Audit-First
1. Append-only event log fits protocol timelines.
2. Dolt history gives immutable version snapshots and diffability across event evolution.
3. Frontend projections (inbox, reservation map, takeover eligibility) can be derived deterministically from event history.
## Event Envelope (v1)
Every coordination event SHOULD use this envelope (JSON sent through `bd audit record --stdin`):
```json
{
"version": "coord.v1",
"kind": "coord_event",
"issue_id": "bb-123",
"actor": "amber-otter",
"timestamp": "2026-02-28T18:00:00.000Z",
"data": {
"event_type": "RESERVE",
"event_id": "evt_01JN6Y1Q7R80E8P6K1Q5",
"project_root": "/abs/path/to/repo",
"to_agent": "cobalt-harbor",
"scope": "src/lib/*",
"state": "unread",
"takeover_mode": "none",
"reason": "",
"payload": {}
}
}
```
Notes:
- `kind` remains compatible with `bd audit` entry typing.
- protocol-specific fields live under `data`.
- `event_id` MUST be globally unique and stable for dedupe.
## Canonical Event Types
Required for parity with current `bb` behavior:
1. `SEND`: directed message created (`to_agent` required, `state=unread`)
2. `READ`: message seen (`event_ref` to prior `SEND`)
3. `ACK`: message accepted (`event_ref` to prior `SEND`)
4. `RESERVE`: scope reservation created
5. `RELEASE`: scope reservation released
6. `TAKEOVER`: stale/evicted reservation force-acquired
7. `RESUME`: identity adoption event
8. `BLOCKED`: explicit blocker signal
9. `HANDOFF`: explicit transfer signal
10. `INCURSION`: overlap warning signal
## Required Fields by Event
Shared required fields:
- `event_type`
- `event_id`
- `project_root`
- `issue_id`
- `actor`
- `timestamp`
Extra required fields:
- `SEND`: `to_agent`, `payload.subject`, `payload.body`
- `READ`: `event_ref`
- `ACK`: `event_ref`
- `RESERVE`: `scope`, `payload.ttl_minutes`
- `RELEASE`: `scope`
- `TAKEOVER`: `scope`, `takeover_mode` (`stale` | `evicted`), `reason`
- `RESUME`: `payload.prior_agent`, `reason` (`uncommitted_scope` | `in_progress_ownership`)
- `BLOCKED`: `to_agent`, `payload.blocker`, `payload.requested_action`
- `HANDOFF`: `to_agent`, `payload.summary`, `payload.next_action`
- `INCURSION`: `scope`, `payload.incursion_kind` (`exact` | `partial`), `payload.owner_liveness`
## Derivation Rules (Frontend/API)
Inbox projection:
- unread: `SEND` with no later `READ`/`ACK` on same `event_id`
- read: `READ` exists, no later `ACK`
- acked: `ACK` exists
Reservation projection:
- active reservation = latest event for `(project_root, scope)` is `RESERVE` or `TAKEOVER` and not superseded by `RELEASE`
- owner liveness from `bd agent heartbeat/state`
Takeover policy:
- owner active: deny takeover
- owner stale: allow only explicit stale takeover mode
- owner evicted: allow takeover and mark prior reservation expired in projection
## Dolt Considerations
1. Never rewrite prior protocol events; only append.
2. Treat projections as computed views, never source of truth.
3. Use Dolt history for postmortems (`bd history`/`bd diff`) against protocol incidents.
4. Keep schema versioned (`coord.v1` -> future upgrades by additive fields and new event types).
## Skill Migration Guidance (Later Work)
When updating `skills/beadboard-driver`, use this contract:
1. Replace `bb agent send/inbox/read/ack` with `bd audit` event writes + API-derived inbox reads.
2. Replace `bb reserve/release/status` with `bd audit` reservation events + API overlap/liveness checks.
3. Keep `bd` lifecycle commands unchanged.
4. Keep human summaries in `bd comments` for operator readability.

View file

@ -1,7 +1,7 @@
# Operative Protocol v1 (Session Constitution)
Date: 2026-02-14
Status: Approved for implementation
Status: Approved for implementation (superseded for migration planning by `docs/protocols/2026-02-28-bd-audit-coordination-schema.md`)
Scope: `bb-u6f.6.1`
Applies to: `bb-u6f.6.2`, `bb-u6f.6.3`, `bb-u6f.6.4`, `bb-u6f.6.5`
@ -15,6 +15,10 @@ Boundaries:
3. No direct writes to `.beads/issues.jsonl`.
4. User-facing labels must stay plain language.
Migration note:
1. New work should target the `coord.v1` `bd audit` event model documented in `docs/protocols/2026-02-28-bd-audit-coordination-schema.md`.
2. `bb` coordination semantics are legacy compatibility behavior pending removal after migration sign-off.
## 2. Normative Language
1. MUST: required behavior.