Commit graph

69 commits

Author SHA1 Message Date
zenchantlive
b2ded4e328 bd: backup 2026-03-02 02:25 2026-03-01 18:25:19 -08:00
zenchantlive
114bb18188 fix(telemetry-strip): use real activity events from /api/activity + SSE
TelemetryStrip now fetches from the same /api/activity endpoint and
subscribes to the same /api/events SSE stream as ActivityPanel. The
minimized dots use getEventTone() colors matching the full feed exactly
(created=green, closed=amber, reopened=blue, etc.) instead of derived
task status counts.

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-01 18:23:53 -08:00
zenchantlive
a0787f85de fix(ux): remove dup Signal btn, add minimize to all feeds, strip shows recent events
- Remove duplicate Signal (telemetry) button from DAG nodes
- Add minimize (ChevronLeft) button to Epic Command Feed view, not just global feed
- TelemetryStrip now shows 8 most recently updated tasks as status-colored dots
  instead of static status counts — reflects live activity like the full feed does
- Each dot is colored by task status (blocked=red, active=amber, ready=green)
  with hover tooltip showing task id, title, and status

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-01 18:20:49 -08:00
zenchantlive
c246ceaf21 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>
2026-03-01 18:17:58 -08:00
zenchantlive
65d69ecbbc bd: backup 2026-03-02 01:44 2026-03-01 17:44:03 -08:00
zenchantlive
300d5b13aa bd: backup 2026-03-02 01:25 2026-03-01 17:25:10 -08:00
zenchantlive
65fff3cf57 bd: backup 2026-03-02 01:09 2026-03-01 17:09:23 -08:00
ZenchantLive
e1155c24cc bd: backup 2026-03-02 00:53 2026-03-01 16:53:54 -08:00
ZenchantLive
641db8b172 bd: backup 2026-03-02 00:38 2026-03-01 16:38:54 -08:00
zenchantlive
139b053e90 bd: backup 2026-03-01 23:40 2026-03-01 15:40:46 -08:00
zenchantlive
659d170cb3 bd: backup 2026-03-01 23:24 2026-03-01 15:24:49 -08:00
ZenchantLive
55a04c73b8 bd: backup 2026-03-01 22:55 2026-03-01 14:55:58 -08:00
ZenchantLive
fa03819b75 bd: backup 2026-03-01 22:40 2026-03-01 14:40:28 -08:00
zenchantlive
103ec2350e bd: backup 2026-03-01 22:23 2026-03-01 14:23:18 -08:00
ZenchantLive
91089d832f bd: backup 2026-03-01 22:06 2026-03-01 14:06:39 -08:00
ZenchantLive
861ae89491 fix: wire conversation panel to DAG nodes with toggle support
- Add MessageSquare icon to GraphNodeCard; prop-thread onConversationOpen
  and selectedTaskId through WorkflowGraph node data (no useUrlState
  inside ReactFlow nodes — avoids context/timing issues)
- Fix ContextualRightPanel: check taskId before epicId so clicking the
  conversation icon always opens ThreadDrawer even when an epic filter
  is active
- setEpicId now clears task from URL so selecting an epic resets any
  open conversation thread
- handleGraphSelect toggles: second click on same node calls setTaskId(null)
  closing the right panel
- Add onSelect to WorkflowGraph flowModel deps to prevent stale callbacks
- Fix ContextualRightPanel onClose no-ops: wired to setTaskId(null) /
  setSwarmId(null) so back button works
- Right panel always visible (removed panel==='open' gate in UnifiedShell)
- SmartDag task grid: horizontal scroll, fixed-width cards, hideClosed=true
- Add <Suspense> in page.tsx for useSearchParams compatibility
- Enable dolt auto-start in .beads/config.yaml
- Add 14 static analysis tests (graph-node-conversation.test.tsx)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 13:51:46 -08:00
ZenchantLive
cb83fd92a9 bd: backup 2026-03-01 21:48 2026-03-01 13:48:59 -08:00
ZenchantLive
f9cfad3a99 bd: backup 2026-03-01 20:55 2026-03-01 12:55:24 -08:00
ZenchantLive
7d37d02af1 feat(phase0+1): wire URL context to ContextualRightPanel
Phase 0:
- UnifiedShell: pass blockedOnly to SocialPage; wire TopBar with live counts
- thread-drawer: show real issue.status instead of hardcoded "In Progress"
- social-page: fix onJumpToActivity to open right panel (not dead ?view=activity)

Phase 1:
- contextual-right-panel: add taskId branch (ThreadDrawer embedded) and swarmId
  branch (MissionInspector via SwarmIdBranch inner component); ActivityPanel
  remains the no-selection fallback

All 207 tests pass; no new typecheck errors.
Closes beadboard-r1i (Phase 1: Contextual Right Panel)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 14:59:09 -08:00
zenchantlive
d727f8b548 feat(templates): add intelligent preset templates for common workflows
- feature-dev.json: Feature development team (Architect + 2 Engineers + Reviewer + Tester)
- bug-fix.json: Bug fix squad (Investigator + Engineer + Tester)
- code-review.json: Code review team (2 Reviewers)
- greenfield.json: Greenfield project team (full squad)
- release.json: Release team (Shipper + Reviewer)
- investigation.json: Investigation team (Investigator + Engineer)
- refactor.json: Refactoring team (Architect + 2 Engineers + Reviewer)
- full-squad.json: Full development squad
- research-and-discovery.json: Research and discovery team
- Update standard-app.json with enhanced configuration

Each template defines team composition with archetype counts
2026-02-26 10:21:50 -08:00
zenchantlive
0837d59364 feat(archetypes): add comprehensive agent archetype system
- Rename coder.json to engineer.json with enhanced 300+ line system prompt
- Add reviewer.json for code review specialist
- Add tester.json for test engineer
- Add investigator.json for debugging/investigation
- Add shipper.json for release/deployment
- Update architect.json with detailed workflow phases

Each archetype includes:
- Role definition and capabilities
- Workflow phases with specific actions
- Handoff protocols
- Example interactions
2026-02-26 10:21:38 -08:00
zenchantlive
5ca6b21862 docs: add SSE overwrite bug to session notes 2026-02-24 16:48:57 -08:00
zenchantlive
30f5f67216 docs: add session notes with honest retrospective
This document captures our collaboration journey, including bugs found,
decisions made, and honest assessment of what went well and what didn't.

Key points:
- Optimistic updates were essential for good UX
- User caught two bugs during review (DELETE method, epic filter)
- Test coverage helped ensure correctness throughout
2026-02-24 16:18:53 -08:00
zenchantlive
a03def1ca1 chore: checkpoint before DAG views UX overhaul 2026-02-22 20:43:59 -08:00
ZenchantLive
1c36223e7f chore(bd): align dolt metadata and runtime ignore rules 2026-02-18 12:43:22 -08:00
ZenchantLive
a37aa17961 fix(bd): stabilize dolt backend and ignore startlock runtime file 2026-02-18 12:43:10 -08:00
zenchantlive
1d5e7cb5ba ignore 2026-02-17 13:11:29 -08:00
zenchantlive
9d0466a736 gi 2026-02-17 13:10:48 -08:00
zenchantlive
0af470d5b4 gi 2026-02-17 13:10:46 -08:00
zenchantlive
2c75a04401 beads2 2026-02-17 13:07:53 -08:00
zenchantlive
0731517320 beads 2026-02-17 13:03:22 -08:00
zenchantlive
911c486013 rest of it 2026-02-17 13:00:57 -08:00
zenchantlive
bba34a144e sync beads 2026-02-17 12:59:37 -08:00
zenchantlive
fcbe7df804 fix(ui3): resolve dashboard crash and refine left panel data 2026-02-17 00:34:42 -08:00
zenchantlive
c79dfff0c6 fix(ui3): final polish - media player layout, functional sidebars, agent visibility 2026-02-17 00:10:28 -08:00
zenchantlive
f7bcca7a8e feat(ui3): high-fidelity command center redesign with stage-library layout and unified sidebar 2026-02-17 00:01:45 -08:00
zenchantlive
c74a4098e7 refactor: BaseCard hard style shadow, SocialCard blocking lists, AgentAvatar ZFC states 2026-02-16 22:41:56 -08:00
zenchantlive
54729c72f6 initial commit for beadboard 2026-02-16 21:45:27 -08:00
zenchantlive
93f3c50d4b fix: ThreadDrawer slides from right edge of screen 2026-02-16 12:11:28 -08:00
zenchantlive
a3fd94b729 fix: position ThreadDrawer between middle and right panels 2026-02-16 11:29:03 -08:00
zenchantlive
3298fbd336 fix: wire handleCardSelect to SocialPage and SwarmPage 2026-02-16 11:26:06 -08:00
zenchantlive
a7787733b9 fix(bb-ui2): separate ThreadDrawer from RightPanel
- Created ThreadDrawer component (24rem) that slides from right edge of middle
- RightPanel now reserved for Activity Feed + Agent roster (bb-ui2.29)
- Updated URL state: added drawer and agentId params
- Thread shows in drawer when card selected

Architecture now matches PRD:
- Right Panel (17rem): Activity Feed + Agent roster
- Thread Drawer (24rem): Opens from middle when card clicked

Beads: bb-ui2.31 thread drawer created, bb-ui2.13 closed
2026-02-16 10:16:33 -08:00
zenchantlive
f6c5398f0c fix(bb-ui2): integrate ThreadView into detail panels with sample data
- Wired ThreadView component into SocialDetail and SwarmDetail
- Added sample thread items for demo purposes
- Removed thread placeholders

Beads: bb-ui2.13 closed
2026-02-16 10:10:50 -08:00
zenchantlive
8dd2d01686 feat(bb-ui2): Social and Swarm views with detail panels integrated 2026-02-16 00:26:31 -08:00
zenchantlive
083e710388 chore: update beads and page for unified shell
- Backed up old page.tsx to page-old.tsx
- Updated page.tsx to use UnifiedShell
- Beads updated: bb-ui2.27, bb-ui2.28 closed; new agent beads created
2026-02-15 23:21:40 -08:00
zenchantlive
539e6e7021 feat(graph): integrate WorkflowGraph into unified shell
- Create GraphView component with Flow/Overview tab switcher
- Wire GraphView into UnifiedShell when view=graph
- Connect taskId URL param to selectedId for node selection
- Connect graphTab URL param for tab state persistence
- ReactFlow renders in middle panel with proper layout

Closes bb-ui2.20
2026-02-15 23:12:16 -08:00
zenchantlive
4ee550c333 feat(telemetry): complete bb-buff.1.3 - Backend Liveness Refactor
STORY:
The session backend needed to aggregate agent health from a live
telemetry stream rather than static bead metadata. This refactor
makes liveness signals real-time and accurate.

COLLABORATION:
We extended the ActivityEvent model with a native 'heartbeat' kind,
updated extendActivityLease() to emit through the activity bus, and
refactored getAgentLivenessMap() to prioritize heartbeat activity
history over stale bead metadata.

DELIVERABLES:
- ActivityEvent extended with 'heartbeat' kind
- extendActivityLease() emits heartbeats through activity bus
- getAgentLivenessMap() prefers telemetry over static metadata
- Registry APIs support projectRoot injection for testing
- Tests verify preference logic via TDD

VERIFICATION:
- 93/93 tests PASSING
- Heartbeat override verified in isolated temp projects

CLOSES: bb-buff.1.3
BLOCKS: bb-buff.3.2, bb-buff.3.3, bb-buff.2.1
2026-02-15 21:14:05 -08:00
zenchantlive
0016b57e37 fix(protocol): implement Identity Isolation to prevent task pollution
Research revealed that agent identities (consolidated to bd beads) were appearing in standard task lists because the data-access layer lacked identity-awareness.
- Refactored read-issues.ts and parser.ts to explicitly exclude beads labeled 'gt:agent' from standard mission flows.
- Verified that agent personas remain targetable by the registry but are invisible to Kanban/Graph/Sessions.
- Added Characterization Test: identity-isolation.test.ts.

This restores the 'War Room' clarity by separating Operatives from Missions.

OPERATIVE: silver-castle
SESSION: 2026-02-14-1630
2026-02-14 13:29:28 -08:00
zenchantlive
eec1d6e28f feat(protocol): deliver 'War Room' UI with Incursion Engine
We've transformed the Social-Dense Hub into a high-fidelity operational surface.
- BACKEND: Implemented Global Incursion Engine in agent-sessions.ts (N^2 overlap detection) and added the 60m 'Idle' state.
- API: Enriched the sessions payload with full metadata and active conflict arrays.
- HEADER: Delivered 4-state agent stations (Active/Stale/Evicted/Idle) with real-time 'time-ago' timers.
- FEED: Implemented the 'Fire Map' visuals:
  * Global Incursion Ticker: High-visibility alerts for agent collisions.
  * Local Conflict Badges: Pulsing pills on affected task cards.
- Refactored components for React-static compliance and strict TypeScript safety.

This commit completes the visibility track, allowing the human supervisor to monitor agent presence and friction in real-time.

OPERATIVE: silver-castle
SESSION: 2026-02-14-1430
2026-02-14 11:36:32 -08:00
zenchantlive
e010e0b10b feat(protocol): deliver Activity Lease model (Zero Background Workers)
Following a critical collaboration to resolve Windows terminal pop-ups, we've delivered a more robust 'Passive Activity' architecture:
- Terminology Pivot: Renamed 'Heartbeat' to 'Activity Lease' (Parking Permit model).
- Side-Effect Extension: tools/bb.ts now automatically extends the agent's lease whenever they perform real work (any CLI command).
- Passive Handshake: bb-init.mjs now only performs an initial registration/lease start, with no background loops.
- 100% Silence: Removed all background process spawning, ensuring zero terminal disruption on Windows.
- High Observability: Liveness is still tracked via the 15m threshold, but relies on activity rather than periodic pings.

OPERATIVE: silver-castle
SESSION: 2026-02-14-1330
2026-02-14 11:18:40 -08:00