diff --git a/.beads/bd.sock.startlock b/.beads/bd.sock.startlock deleted file mode 100644 index 0066761..0000000 --- a/.beads/bd.sock.startlock +++ /dev/null @@ -1 +0,0 @@ -117304 diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 351c6a6..2b58242 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -275,7 +275,7 @@ {"id":"bb-ui2.26","title":"1.7 Resizable Panels: Add drag handles for left/right panel width adjustment","description":"Add resizable panel functionality to LeftPanel and RightPanel with constraints.\n\nSCOPE:\n- Add drag handle between Left/Middle panels\n- Add drag handle between Middle/Right panels\n- Left panel: min 10rem, max 30% viewport width\n- Right panel: min 15rem, max 30% viewport width\n- Persist widths in localStorage\n- Touch-friendly on mobile (min 44px touch target)\n- Visual affordance (subtle handle + hover state)\n\nACCEPTANCE CRITERIA:\n- Drag handles render between panels\n- Mouse/touch drag adjusts panel width\n- Width constraints enforced (min/max)\n- Panel widths persist across page reload\n- Middle panel always flexible (1fr)\n- No layout shift/jank during resize\n- Typecheck, lint, tests pass\n\nOUT OF SCOPE:\n- Vertical resizing\n- Collapse/expand animations (later)\n- Keyboard shortcuts for resize\n\nDEPENDENCIES:\n- Blocked by: bb-ui2.5 (UnifiedShell), bb-ui2.7 (LeftPanel), bb-ui2.8 (RightPanel)\n- Blocks: bb-ui2.9 (Responsive)\n\nVERIFICATION:\n- npm run typecheck\n- npm run lint \n- npm run test\n- Manual drag test on desktop\n- Touch test on mobile/tablet","status":"open","priority":2,"issue_type":"task","owner":"jordanlive121@gmail.com","created_at":"2026-02-15T22:13:12.784977-08:00","created_by":"zenchantlive","updated_at":"2026-02-15T22:13:12.784977-08:00","dependencies":[{"issue_id":"bb-ui2.26","depends_on_id":"bb-ui2","type":"parent-child","created_at":"2026-02-15T22:13:12.7871377-08:00","created_by":"zenchantlive"}]} {"id":"bb-ui2.27","title":"Mobile Navigation: Hamburger + Bottom Tabs","description":"Implement mobile navigation: hamburger menu to access left panel, bottom tab bar for view switching (Social/Graph/Swarm). Currently on mobile the left panel is hidden with no way to access it, and view switching requires top tabs which are hard to reach on mobile.","notes":"Claimed by mobile-nav-builder (bb-22l). Starting mobile navigation: hamburger + bottom tabs.","status":"closed","priority":1,"issue_type":"task","assignee":"bb-22l","owner":"jordanlive121@gmail.com","created_at":"2026-02-15T22:43:00.7536884-08:00","created_by":"zenchantlive","updated_at":"2026-02-15T22:57:44.1177555-08:00","closed_at":"2026-02-15T22:57:44.1177555-08:00","close_reason":"Mobile navigation complete: hamburger menu added to TopBar (mobile/tablet), bottom tab bar (MobileNav) added. Both use useUrlState for view switching.","labels":["bb-ui2.9.1"],"dependencies":[{"issue_id":"bb-ui2.27","depends_on_id":"bb-ui2","type":"parent-child","created_at":"2026-02-15T22:43:00.7568535-08:00","created_by":"zenchantlive"}]} {"id":"bb-ui2.28","title":"Sessions Access from Shell","description":"Add agent sessions view to the unified shell so users can monitor live agent sessions. This should integrate as a view option in the shell (e.g., 4th tab or accessible from hamburger menu), replacing or alongside Social/Graph/Swarm views.","notes":"Claimed by sessions-integrator (bb-3ha). Starting sessions access from shell.","status":"closed","priority":1,"issue_type":"task","assignee":"bb-3ha","owner":"jordanlive121@gmail.com","created_at":"2026-02-15T22:43:11.4834202-08:00","created_by":"zenchantlive","updated_at":"2026-02-15T22:57:48.4669485-08:00","closed_at":"2026-02-15T22:57:48.4669485-08:00","close_reason":"DEFERRED: Sessions view requires API route refactoring (node:child_process can't be bundled in client). Sessions still accessible via /sessions page. Can revisit via API route later.","labels":["bb-ui2.9.2"],"dependencies":[{"issue_id":"bb-ui2.28","depends_on_id":"bb-ui2","type":"parent-child","created_at":"2026-02-15T22:43:11.4855381-08:00","created_by":"zenchantlive"}]} -{"id":"bb-ui2.29","title":"bb-ui2.29: Activity View - ActivityPanel with agent roster + timeline","description":"1) GOAL: Create Activity view for right panel replacing /timeline. Shows agent roster (top 30%) and activity feed (bottom).\n\n2) PLAN: Read existing timeline infrastructure from src/lib/activity.ts. Create ActivityPanel component. Agent roster shows all gt:agent beads with derived status. Activity feed shows chronological events.\n\n3) DATA: Agent roster from gt:agent labeled issues. Activity from existing activity system.\n\n4) COMPONENT: src/components/activity/activity-panel.tsx\n\n5) VERIFICATION: npm run typecheck \u0026\u0026 npm run lint","acceptance_criteria":"ActivityPanel created at src/components/activity/activity-panel.tsx. Top 30% shows agent roster with status (active/stale/stuck/dead). Bottom shows chronological activity feed. Real-time updates via existing SSE. All gt:agent beads displayed. npm run typecheck \u0026\u0026 npm run lint pass.","notes":"ActivityPanel created at src/components/activity/activity-panel.tsx. Top 30% shows agent roster with status (active/stale/stuck/dead). Bottom shows chronological activity feed. Real-time updates via existing SSE. All gt:agent beads displayed. Typecheck passes. Lint has pre-existing zod issue.","status":"in_progress","priority":1,"issue_type":"task","owner":"jordanlive121@gmail.com","created_at":"2026-02-16T09:54:57.837183-08:00","created_by":"zenchantlive","updated_at":"2026-02-16T15:02:31.1707447-08:00","dependencies":[{"issue_id":"bb-ui2.29","depends_on_id":"bb-ui2","type":"parent-child","created_at":"2026-02-16T09:54:57.8392966-08:00","created_by":"zenchantlive"}]} +{"id":"bb-ui2.29","title":"bb-ui2.29: Activity View - ActivityPanel with agent roster + timeline","description":"1) GOAL: Create Activity view for right panel replacing /timeline. Shows agent roster (top 30%) and activity feed (bottom).\n\n2) PLAN: Read existing timeline infrastructure from src/lib/activity.ts. Create ActivityPanel component. Agent roster shows all gt:agent beads with derived status. Activity feed shows chronological events.\n\n3) DATA: Agent roster from gt:agent labeled issues. Activity from existing activity system.\n\n4) COMPONENT: src/components/activity/activity-panel.tsx\n\n5) VERIFICATION: npm run typecheck \u0026\u0026 npm run lint","acceptance_criteria":"ActivityPanel created at src/components/activity/activity-panel.tsx. Top 30% shows agent roster with status (active/stale/stuck/dead). Bottom shows chronological activity feed. Real-time updates via existing SSE. All gt:agent beads displayed. npm run typecheck \u0026\u0026 npm run lint pass.","notes":"ActivityPanel created at src/components/activity/activity-panel.tsx. Top 30% shows agent roster with status (active/stale/stuck/dead). Bottom shows chronological activity feed. Real-time updates via existing SSE. All gt:agent beads displayed. Typecheck passes. Lint has pre-existing zod issue.","status":"closed","priority":0,"issue_type":"task","owner":"jordanlive121@gmail.com","created_at":"2026-02-16T09:54:57.837183-08:00","created_by":"zenchantlive","updated_at":"2026-02-17T12:49:42.1606618-08:00","closed_at":"2026-02-17T12:47:43.079748-08:00","dependencies":[{"issue_id":"bb-ui2.29","depends_on_id":"bb-ui2","type":"parent-child","created_at":"2026-02-16T09:54:57.8392966-08:00","created_by":"zenchantlive"}]} {"id":"bb-ui2.3","title":"0.3 Base Primitives: Shared UI components","description":"1) GOAL\nCreate reusable primitive components that will be shared across Social, Swarm, and Graph views, using shadcn/ui as the foundation.\n\n2) PLAN\n1. Create BaseCard component wrapping shadcn Card with consistent padding and hover states\n2. Create AgentAvatar with liveness glow indicator using shadcn Avatar\n3. Create ProgressBar for task completion visualization\n4. Create ViewJumpIcons for navigation shortcuts\n5. Create LastActivity for timestamp display\n6. Write unit tests for each primitive\n7. Run verification gates\n\n3) COMPONENT SPECIFICATIONS\nBaseCard:\n- Wraps shadcn Card with consistent padding and hover states\n- Props: children, onClick, selected\n- Use shadcn Card, CardContent patterns\n\nAgentAvatar:\n- Uses shadcn Avatar component\n- Shows agent initials or icon\n- Glow border based on liveness (active/stale/stuck/dead)\n- Props: agentId, liveness, size\n\nProgressBar:\n- Horizontal bar with percentage fill\n- Color based on progress level\n- Props: completed, total\n\nViewJumpIcons:\n- Icon buttons for quick navigation\n- [≡] thread, [◊] graph, [≋] swarm\n- Props: taskId, swarmId\n\nLastActivity:\n- Human-readable time ago\n- Icon based on event type\n- Props: timestamp, message\n\n4) ACCEPTANCE CRITERIA\n- All 5 primitives created in src/components/shared/\n- Unit tests in tests/components/shared/\n- npm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm run test pass\n\n5) FILES\n- src/components/shared/base-card.tsx\n- src/components/shared/agent-avatar.tsx\n- src/components/shared/progress-bar.tsx\n- src/components/shared/view-jump-icons.tsx\n- src/components/shared/last-activity.tsx\n- tests/components/shared/base-card.test.tsx\n- tests/components/shared/agent-avatar.test.tsx\n- tests/components/shared/progress-bar.test.tsx\n- tests/components/shared/view-jump-icons.test.tsx\n- tests/components/shared/last-activity.test.tsx\n\n6) SKILLS (use in tandem)\n- verification-before-completion\n- test-driven-development\n- linus-beads-discipline\n- shadcn-ui (PRIMARY: use shadcn Card, Avatar patterns)\n- beadboard-driver\n\n7) VERIFICATION\nnpm run typecheck \u0026\u0026 npm run lint \u0026\u0026 npm run test","acceptance_criteria":"All 5 primitives created; tests pass; typecheck+lint+test pass","notes":"Claimed by primitive-builder: Creating BaseCard, AgentAvatar, StatusBadge shared components","status":"closed","priority":1,"issue_type":"task","owner":"jordanlive121@gmail.com","created_at":"2026-02-15T18:44:19.1457633-08:00","created_by":"zenchantlive","updated_at":"2026-02-15T20:09:57.0899575-08:00","closed_at":"2026-02-15T20:09:57.0899575-08:00","close_reason":"Completed by primitive-builder: BaseCard, AgentAvatar, StatusBadge shared components created with typecheck, lint, and test passing","dependencies":[{"issue_id":"bb-ui2.3","depends_on_id":"bb-ui2","type":"parent-child","created_at":"2026-02-15T18:44:19.1506782-08:00","created_by":"zenchantlive"},{"issue_id":"bb-ui2.3","depends_on_id":"bb-ui2.2","type":"blocks","created_at":"2026-02-15T18:44:19.1580299-08:00","created_by":"zenchantlive"},{"issue_id":"bb-ui2.3","depends_on_id":"bb-ui2.0","type":"blocks","created_at":"2026-02-15T18:55:00.9093526-08:00","created_by":"zenchantlive"}]} {"id":"bb-ui2.30","title":"bb-ui2.30: Activity Deep Linking - Agent filtering from cards","description":"1) GOAL: Enable deep linking from agent icons on cards to Activity panel filtered by that agent.\n\n2) PLAN: Update useUrlState to add agent param. Add onAgentClick to SocialCard/SwarmCard. Wire agent icon click to setView('activity') + setAgentId(). ActivityPanel reads agent param and filters.\n\n3) URL: /?view=activity\u0026agent=bb-xyz\n\n4) DEPENDS ON: bb-ui2.29 (ActivityPanel), bb-ui2.11 (SocialCard), bb-ui2.16 (SwarmCard)\n\n5) VERIFICATION: npm run typecheck \u0026\u0026 npm run lint","acceptance_criteria":"Clicking agent icon on SocialCard/SwarmCard navigates to Activity view with that agent selected. URL includes agent param. Right panel filters to show only that agent's activity. Show all button clears filter. npm run typecheck \u0026\u0026 npm run lint pass.","status":"open","priority":1,"issue_type":"task","owner":"jordanlive121@gmail.com","created_at":"2026-02-16T09:55:25.9425051-08:00","created_by":"zenchantlive","updated_at":"2026-02-16T09:55:25.9425051-08:00","dependencies":[{"issue_id":"bb-ui2.30","depends_on_id":"bb-ui2","type":"parent-child","created_at":"2026-02-16T09:55:25.9446982-08:00","created_by":"zenchantlive"}]} {"id":"bb-ui2.31","title":"bb-ui2.31: Thread Drawer - Card detail slide-out panel","description":"1) GOAL: Create thread drawer that appears when clicking a card. Different from right panel - this is specifically for conversation/thread.\n\n2) BEHAVIOR: - Desktop: 24rem drawer slides from right edge of middle area - Tablet: slide-over - Mobile: full-screen bottom sheet\n\n3) SECTIONS: - Header: ID, title, close X - Thread: comments + events - Compose: add comment input\n\n4) COMPONENT: src/components/shared/thread-drawer.tsx\n\n5) INTEGRATION: UnifiedShell renders ThreadDrawer when taskId or swarmId is set AND drawer=open\n\n6) DEPENDS ON: bb-ui2.13 (Thread View)\n\n7) VERIFICATION: npm run typecheck \u0026\u0026 npm run lint","acceptance_criteria":"ThreadDrawer component created. Slides from right edge of middle area (24rem). Opens when card selected in Social/Swarm views. Shows task header, thread/comments, compose area. Desktop: 24rem drawer. Tablet: slide-over. Mobile: full-screen bottom sheet. npm run typecheck \u0026\u0026 npm run lint pass.","notes":"ThreadDrawer created at src/components/shared/thread-drawer.tsx. 24rem drawer slides from right edge of middle. Header with ID/title/close, ThreadView with sample data, compose input. Wired into UnifiedShell. typecheck passes.","status":"closed","priority":1,"issue_type":"task","owner":"jordanlive121@gmail.com","created_at":"2026-02-16T09:55:55.2486-08:00","created_by":"zenchantlive","updated_at":"2026-02-16T10:17:45.1725174-08:00","closed_at":"2026-02-16T10:17:45.1725174-08:00","close_reason":"ThreadDrawer created at src/components/shared/thread-drawer.tsx - 24rem drawer slides from right edge of middle area. Header with ID/title/close X, ThreadView with sample data, compose input. Wired into UnifiedShell with drawer URL param. typecheck passes.","dependencies":[{"issue_id":"bb-ui2.31","depends_on_id":"bb-ui2","type":"parent-child","created_at":"2026-02-16T09:55:55.2511516-08:00","created_by":"zenchantlive"}]}