Today we reached a major architectural conclusion: project history shouldn't be stored, it should be derived. We rejected the overhead of a separate SQLite event store in favor of an O(N) snapshot-diffing engine that computes human-readable narratives directly from the issues.jsonl source of truth.
Key Triumphs:
- Implemented O(N) diffing algorithm in src/lib/snapshot-differ.ts that transforms raw JSONL into 16 distinct social event types.
- Engineered a file-based persistence layer (src/lib/activity-persistence.ts) to solve the 'Next.js HMR Wiped My Memory' bug, ensuring project heartbeat survives server restarts.
- Developed the agent-session data model that unifies Beads, Activity, and Cross-Agent Mail into a single 'Mission' context.
Raw Honest Moment:
We struggled for over an hour with 'missing history' before realizing that development-mode reloads were purging our in-memory buffers. The shift to a file-backed ring buffer was a reactive pivot that became a core project strength.
- Move EpicChipStrip to shared components
- Use EpicChipStrip in kanban controls (full width)
- Add 'All Epics' option to show all tasks
- Filter closed epics from selector when 'Show closed' is unchecked
- Update imports in dependency-graph-page.tsx
- Add epicId filter to KanbanFilterOptions
- Filter issues by parent epic when epicId is set
- Add epic dropdown to kanban controls with title-first format
- Pass epics list from kanban page to controls
Core infrastructure: New modules for project scanning, registry management, filesystem watching, and real-time event bus with SSE support
Graph visualization: Complete dependency graph analysis system with layout algorithms, cycle detection, and blocker chain analysis
Issue mutations: Full mutation operation support (create, update, close, reopen, comment) with validation and error classification
Kanban enhancements: Refactored status model with execution checklist, blocked-by tree building, and actionable task identification
Issue editing: New draft editing module with field-level validation and change tracking
BD CLI bridge: Command execution wrapper with timeout support and structured error handling
Multi-project support: Project scope resolution for single vs. aggregate modes with registry-based project management
API endpoints: Complete REST API for projects, mutations, scanning, and real-time events
UI components: New dependency graph page, task card grid, enhanced kanban detail panel, and project scope controls
Styling: Comprehensive design system overhaul with Tailwind CSS v4, Google Fonts integration, and graph visualization styles
Parser improvements: Enhanced dependency parsing with schema flexibility (depends_on_id support, parent-child normalization)
Resilience: File read retry utility for handling transient filesystem errors
Comprehensive test coverage: 30+ new test suites covering all major modules and API routes
- feat(kanban): Add progressive disclosure to task details drawer
- feat(kanban): Fix title layout on mobile (remove flex-row constraint)
- feat(kanban): Add bead count and metadata to epics
- style(globals): Add status color tokens and refined scrollbars
- deps: Add dagre for true DAG layout in graph view
- chore: Update capture scripts