Add task management page with dual view modes (list table and kanban
columns). Tasks are fetched from the gateway API and displayed with
status badges, priority indicators, and due dates. Kanban columns
map to task statuses: not-started, in-progress, blocked, done.
Components: TaskCard, KanbanBoard, TaskListView
Types: Task, TaskStatus, TaskPriority, Project, ProjectStatus
Refs #29
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add @Inject() to all gateway constructor params (required without emitDecoratorMetadata)
- AgentService: ProviderService, CoordService
- RoutingService: ProviderService
- ProvidersController: ProviderService, RoutingService
- SessionsController: AgentService
- Fix coord controller ALLOWED_ROOTS to walk up to monorepo root (pnpm-workspace.yaml)
- Gateway now boots and serves all routes correctly
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pi SDK is ESM-only. tsx (esbuild) doesn't emit decorator metadata,
so NestJS constructor injection fails without explicit @Inject().
- Set "type": "module" in gateway package.json
- Switch tsconfig to NodeNext module resolution
- Add @Inject(AgentService) to ChatController and ChatGateway
Tested end-to-end: REST /api/chat → Pi SDK → Anthropic → response OK.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- #62: piSession.dispose() missing in destroySession
- #63: React anti-pattern in TUI agent:end handler
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mark P1-001, P1-007, P1-008, P2-001, P5-002, P6-005 as done (PR #61).
Add session 2 log entry for vertical slice delivery.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Jason directed: build Pi TUI → Gateway → Discord communication
spine before backfilling horizontal layers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Break PRD into 8 milestones (Phase 0–7) with 59 issues on Gitea.
Populate TASKS.md, update mission manifest, initialize scratchpad.
Repo created at git.mosaicstack.dev/mosaic/mosaic-stack.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>