Commit graph

219 commits

Author SHA1 Message Date
zenchantlive
ae7f13c3af feat(8ij.4): add LaunchSwarmDialog to TopBar as global action
Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-01 17:22:25 -08:00
zenchantlive
6b8aa408c8 feat(8ij.3): add Launch Swarm action to LeftPanel epic rows
Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-01 17:21:19 -08:00
zenchantlive
6d560b6c49 feat(8ij.2): add inline assign affordance to SocialCard
Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-01 17:18:13 -08:00
zenchantlive
b996d889d5 feat(8ij.1): extract useArchetypePicker hook from AssignmentPanel
Co-Authored-By: Oz <oz-agent@warp.dev>
2026-03-01 17:15:30 -08:00
zenchantlive
65fff3cf57 bd: backup 2026-03-02 01:09 2026-03-01 17:09:23 -08:00
ZenchantLive
bead6b3996 docs: require recurring memory reviews and provenance links in AGENTS 2026-03-01 16:57:26 -08:00
ZenchantLive
4c6a78006d docs(memory): require provenance links and evidence metadata in workflow 2026-03-01 16:55:07 -08:00
ZenchantLive
e1155c24cc bd: backup 2026-03-02 00:53 2026-03-01 16:53:54 -08:00
ZenchantLive
6ba2e8b3c4 docs: add native memory help pack and enforce workflow in AGENTS 2026-03-01 16:46:50 -08:00
ZenchantLive
9eb805cfa1 docs: finalize bd-native memory fabric plan and phase-1 evidence 2026-03-01 16:41:12 -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
335beb82d6 feat(beadboard-550): replace issues.jsonl reads with direct Dolt SQL via mysql2
- src/lib/read-issues-dolt.ts: readIssuesViaDolt() queries issues+labels (GROUP_CONCAT)
  and dependencies in 2 SQL queries; normalizes Date cols to ISO strings; returns null
  on unreachable so caller can fall back gracefully
- src/lib/read-issues.ts: readIssuesFromDisk() tries Dolt first (always), falls back to
  issues.jsonl with console.warn; removes dead readIssuesViaBd/normalizeBdIssue/
  normalizeDependencies code now that the CLI path is superseded
- AGENTS.md: documents new Dolt read path + SSE watcher trigger; removes stale
  manual issues.jsonl re-export instructions (no longer needed)

Verified: bd writes update last-touched → chokidar fires → syncActivity → Dolt query
→ snapshot diff → SSE push. 146/146 tests pass, lint clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:33:43 -08:00
ZenchantLive
91b4777a7c feat(beadboard-550.1): add DoltClient with connection pooling and metadata config
- src/lib/dolt-client.ts: getDoltConnection(projectRoot) returns cached mysql2 Pool
- Reads host/port/database from .beads/metadata.json (no hardcoded values)
- DoltConnectionError typed error for missing metadata or unreachable server
- Tests connectivity on first connection; caches pool per resolved projectRoot
- connectionLimit: 5 for Next.js server-side concurrency

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:16:57 -08:00
ZenchantLive
bb1231860e chore: update next session prompt + install mysql2 for beadboard-550
- NEXT_SESSION_PROMPT.md: full context for Dolt mysql2 integration
  including schema, current read path, normalization approach, watcher
  concern, skills to use, and files to read
- mysql2 installed (beadboard-550.1 in_progress)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:08:38 -08:00
ZenchantLive
a2e523b751 docs: document Dolt backend, WSL2 mixed-env workaround, issues.jsonl sync
- AGENTS.md: add Data Backend & Platform Notes section explaining
  single-platform vs mixed WSL2+Windows setup, mirrored networking
  workaround, and manual issues.jsonl re-export step
- Creates beadboard-550 (Dolt mysql2 epic) to track long-term fix
- Note: mirrored networking is explicitly scoped as a mixed-env
  workaround, not a requirement for single-platform contributors

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 15:44:20 -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
fccb2dede7 fix(theme): overhaul light mode, remove silly themes
Light mode fixes:
- Darker surfaces (not pure white)
- Proper text colors (dark slate, not white)
- More opaque status colors for visibility
- Grey backdrop instead of harsh white

Removed themes (keeping only 3 good ones):
- Midnight (looked silly)
- Forest (looked silly)
- Dusk (looked silly)

Kept themes:
- Aurora (northern lights)
- Contrast (high contrast neon)
- Light (soft grey, now fixed)
2026-02-26 16:42:23 -08:00
zenchantlive
958230f2ef feat(theme): complete theme overhaul with 6 polished themes
- Aurora: Real northern lights colors (teal/violet on deep blue-black)
- Midnight: Deep ocean blues with violet and cyan
- Forest: Rich forest greens with golden sunlight
- Dusk: Warm sunset oranges and corals
- Contrast: Pure black with neon accents
- Light: Clean professional light mode (NEW)

All themes have:
- Consistent status colors (green/amber/red)
- Distinct surface layers for visual hierarchy
- Theme-appropriate accent glows
- Improved contrast and accessibility
2026-02-26 16:40:09 -08:00
zenchantlive
8a1dc2039a fix(graph): themable backgrounds for graph-section
- Replace hardcoded blue radial gradient with theme tokens
2026-02-26 16:34:52 -08:00
zenchantlive
f2cd6fa11c fix(graph): make DAG background themable and improve contrast
- Replace hardcoded blue radial gradient with theme variable
- Update graph-view to use new token system
- Ensure status colors (red/green/amber) remain consistent across all themes
- DAG background now changes with theme while maintaining card visibility
2026-02-26 16:34:13 -08:00
zenchantlive
756a1dec2b fix(theme): increase contrast in aurora theme surface layers
- Make surface layers more distinct (0f0e0d → 1a1816 → 252320 → 302e2a → 3c3934)
- Increase border visibility (18%, 35%, 55% opacity)
- Ensure header, sidebar, main content are visually distinct
2026-02-26 16:27:14 -08:00
zenchantlive
a47f21e769 feat(theme): add theme toggle dropdown to header
- Create ThemeToggle component with dropdown menu
- Shows all 5 themes with descriptions
- Persists choice to localStorage
- Updates data-theme attribute instantly
- Add palette icon to top bar
2026-02-26 16:12:59 -08:00
zenchantlive
fa3489b394 feat(theme): add 5 distinct themes to choose from
- aurora: Warm charcoal with cyan accents (fixed/improved)
- midnight: Cool blue-purple with violet accents
- forest: Earthy green-brown with lime accents
- dusk: Warm purple-brown with orange/pink accents
- contrast: Pure black with neon accents (high contrast)

All themes use the same 12-category token system for consistency.
Switch themes by changing data-theme attribute on html element.
2026-02-26 16:09:12 -08:00
zenchantlive
6564272987 refactor(theme): migrate high-priority components to new token system
- social-card.tsx: status colors, borders, surfaces
- assignment-panel.tsx: all hardcoded hex colors replaced
- graph-node-card.tsx: node styles, borders, glows, text colors
2026-02-26 16:04:19 -08:00
zenchantlive
fcc1482967 feat(theme): create unified theme system with semantic tokens and migrate core layout 2026-02-26 15:49:44 -08:00
zenchantlive
b31e8ddade refactor(theme): distinct warm charcoal layers - header darker, sidebar/main/card all different 2026-02-26 15:33:08 -08:00
zenchantlive
fc328adf31 refactor(theme): lighten backgrounds, simplify header/sidebar/panel styling 2026-02-26 15:27:21 -08:00
zenchantlive
227012ba1a refactor(theme): simplify gradients while preserving status colors on cards 2026-02-26 15:23:42 -08:00
zenchantlive
a7a0a66c4d refactor(kanban): simplify column backgrounds to flat colors with top borders 2026-02-26 15:21:36 -08:00
zenchantlive
f1eae0c8b0 refactor(ui): simplify status badges to flat colors with accent borders 2026-02-26 15:20:49 -08:00
zenchantlive
4ea6f38e09 feat(ui): add aurora button variants with glow effects 2026-02-26 15:17:45 -08:00
openhands
a8079813b8 Merge origin/main into feature/assign-archetypes-to-tasks-ui
Resolved conflicts:
- .gitignore: kept both bd.sock.startlock and .beadboard/ entries
- package.json: kept feature branch test script (explicit enumeration)
- API routes: kept dynamic export + isValidProjectRoot from main
- globals.css: kept HEAD slideInFromRight animation
- use-beads-subscription.ts: kept HEAD onopen handler
- realtime.ts: kept main console.log in emit()
- snapshot-differ.ts: kept main type-aware dependency diff

Blue colors preserved from feature branch.
2026-02-26 18:50:18 +00:00
zenchantlive
90794a2b43 colors 2026-02-26 10:45:02 -08:00
zenchantlive
06a6965fa9 docs: add CLAUDE.md for AI assistant context
Documents BeadBoard architecture, commands, verification gates,
data flow, key directories, and Windows considerations for
AI assistants working on this codebase.
2026-02-26 10:34:43 -08:00
zenchantlive
5ff4469dd5 chore: misc updates and fixes
- lib/utils.ts: Add getArchetypeDisplayChar helper (duplicate of src/lib)
- globals.css: Style updates
- swarm-command-feed.tsx: Component updates
- telemetry-grid.tsx: Use getArchetypeDisplayChar
- test-watcher.ts: Test utility updates
2026-02-26 10:25:31 -08:00
zenchantlive
1ee8dc8ca2 test: update all test files with templateId field
- Add templateId: null to all mock BeadIssue objects across test files
- Ensures type compatibility with updated BeadIssue interface
2026-02-26 10:23:07 -08:00
zenchantlive
784fe6e88f fix: add templateId default to issue creation paths
- parser.ts: Add templateId: null to default BeadIssue
- read-issues.ts: Add templateId: null when reading issues
- swarm-workspace.tsx: Update mock data with templateId
2026-02-26 10:23:00 -08:00
zenchantlive
e69efdf5e1 feat(ui): add epic-level template assignment to assignment panel
- Add Epic Template section when an epic is selected
- Show template name, description, and team roster
- Template picker applies template to epic via metadata
- Add Remove Template functionality
- getTemplateId helper reads from metadata.templateId
- Task Assignment section only shows for non-epic tasks
- Collapsible sections for Needs Agent, Pre-assigned, Squad Roster
2026-02-26 10:22:51 -08:00
zenchantlive
f1e20618d0 feat(api): add metadata support to update mutation
- Add metadata field to UpdateMutationPayload
- Add asOptionalMetadata validation function
- Pass --metadata flag to bd update command
- Enables storing custom data like templateId on issues
2026-02-26 10:22:41 -08:00
zenchantlive
6250335dc8 feat(ui): add resizable sidebar panels with persistence
- use-panel-resize hook: Drag-to-resize with localStorage persistence
- ResizeHandle component: Visual drag handle with hover effects
- UnifiedShell: Flexbox layout with resizable left/right panels
- RightPanel: Removed internal width handling (now controlled by shell)
2026-02-26 10:22:33 -08:00
zenchantlive
ebd3ffcbbe feat(ui): add picker modal components for archetype and template selection
- ArchetypePicker: Full-screen modal with backdrop blur, 2-column grid,
  Select/Edit/Create actions, 800px width for readability
- TemplatePicker: Same pattern with team size indicator and built-in badge
- Both pickers support backdrop click-to-close and keyboard navigation
2026-02-26 10:22:21 -08:00