- Add kanban board page at /kanban with 5 status columns
(To Do, In Progress, Paused, Done, Archived)
- Use @hello-pangea/dnd for drag-and-drop between columns
- Optimistic status update on drop with API revert on failure
- Add updateTask() to tasks API client
- Task cards show title, priority badge, and truncated description
- Column headers with colored accent borders and task count badges
- Responsive: horizontal scroll with min-width 280px per column
- Loading (MosaicSpinner), error, and empty states
- All design tokens from CSS custom properties
Refs #468
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Install recharts for data visualization
- Add Usage nav item to sidebar navigation
- Create telemetry API service with data fetching functions
- Build dashboard page with summary cards, charts, and time range selector
- Token usage line chart, cost breakdown bar chart, task outcome pie chart
- Loading and empty states handled
- Responsive layout with PDA-friendly design
- Add unit tests (14 tests passing)
Refs #375
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add DomainsModule with full CRUD, search, and activity logging
- Add IdeasModule with quick capture endpoint
- Add LayoutsModule for user dashboard layouts
- Add WidgetsModule for widget definitions (read-only)
- Update ActivityService with domain/idea logging methods
- Register all new modules in AppModule
- Convert ApiResponse to discriminated union for type-safe error handling
- Add HealthStatus type with HealthState literal union
- Make BaseEntity fields readonly for immutability
- Add GlobalExceptionFilter with structured logging
- Add port validation with clear error messages in main.ts
- Improve parseDate to log warnings for invalid dates
- Add comprehensive Button tests (variants, onClick, disabled)
- Add slugify edge case tests (empty, special chars, numbers)
- Create ESLint configs for all packages
- Remove compiled JS files from src directories
- Convert .prettierrc.js to .prettierrc.json
Refs #1
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>