chore(orchestrator): bootstrap MS16+MS17 planning — 15 tasks across 4 phases

Milestone: MS16+MS17-PagesDataIntegration (Gitea)
Issues: #466 (Foundation), #467 (Mock Elimination), #468 (New Pages), #469 (Verification)
Estimated: ~320K tokens across 15 tasks

Refs #466, #467, #468, #469

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-22 21:29:23 -06:00
parent f643d2bc04
commit 57d76c5ff1
4 changed files with 146 additions and 107 deletions

View File

@@ -1,51 +1,14 @@
{ {
"schema_version": 1, "schema_version": 1,
"mission_id": "mosaic-stack-go-live-mvp-20260222", "mission_id": "prd-implementation-20260222",
"name": "Mosaic Stack Go-Live MVP", "name": "PRD implementation",
"description": "Ship Mosaic Stack MVP: operational dashboard with theming, task ingestion, one visible agent cycle, deployed and smoke-tested. Unblocks SagePHR, DYOR, Calibr, and downstream projects.", "description": "",
"project_path": "/home/jwoltje/src/mosaic-stack", "project_path": "/home/jwoltje/src/mosaic-stack",
"created_at": "2026-02-22T23:35:51Z", "created_at": "2026-02-23T03:20:55Z",
"status": "active", "status": "active",
"task_prefix": "MS", "task_prefix": "",
"quality_gates": "pnpm lint && pnpm typecheck && pnpm test", "quality_gates": "",
"milestone_version": "0.0.16", "milestone_version": "0.0.1",
"milestones": [ "milestones": [],
{
"id": "phase-1",
"name": "Dashboard Polish + Theming",
"status": "pending",
"branch": "dashboard-polish-theming",
"issue_ref": "",
"started_at": "",
"completed_at": ""
},
{
"id": "phase-2",
"name": "Task Ingestion Pipeline",
"status": "pending",
"branch": "task-ingestion-pipeline",
"issue_ref": "",
"started_at": "",
"completed_at": ""
},
{
"id": "phase-3",
"name": "Agent Cycle Visibility",
"status": "pending",
"branch": "agent-cycle-visibility",
"issue_ref": "",
"started_at": "",
"completed_at": ""
},
{
"id": "phase-4",
"name": "Deploy + Smoke Test",
"status": "pending",
"branch": "deploy-smoke-test",
"issue_ref": "",
"started_at": "",
"completed_at": ""
}
],
"sessions": [] "sessions": []
} }

View File

@@ -1,70 +1,61 @@
# Mission Manifest — Mosaic Stack Go-Live MVP # Mission Manifest — PRD implementation
> Persistent document tracking full mission scope, status, and session history. > Persistent document tracking full mission scope, status, and session history.
> Updated by the orchestrator at each phase transition and milestone completion. > Updated by the orchestrator at each phase transition and milestone completion.
## Mission ## Mission
**ID:** mosaic-stack-go-live-mvp-20260222 **ID:** prd-implementation-20260222
**Statement:** Ship Mosaic Stack MVP: operational dashboard with theming, task ingestion, one visible agent cycle, deployed and smoke-tested. Unblocks SagePHR, DYOR, Calibr, and downstream projects. **Statement:** Implement MS16+MS17 (Pages & Data Integration) — build all remaining pages, wire to real API data, eliminate mock data, deploy to production
**Phase:** Complete **Phase:** Execution
**Current Milestone:** all milestones complete **Current Milestone:** MS16+MS17-PagesDataIntegration
**Progress:** 4 / 4 milestones **Progress:** 0 / 1 milestones
**Status:** completed **Status:** active
**Last Updated:** 2026-02-23 20:00 UTC **Last Updated:** 2026-02-22T21:35Z
## Success Criteria ## Success Criteria
1. Dashboard loads reliably at mosaic.woltje.com with theming system operational 1. All sidebar links navigate to functional pages (no 404s from sidebar navigation)
2. Task/status ingestion: create/update flow persists records visible in UI 2. Projects page: list, create, view, edit, delete projects
3. One agent job runs from queued to completion/failure with status transitions visible 3. Workspace page: view single project with tasks and agent sessions
4. Stack deployed via Coolify, auth + dashboard reachable, smoke checks passing 4. Kanban page: drag-and-drop board with 5 TaskStatus columns
5. Design reference: `mosaic-stack-website/docs/designs/round-5/claude/01/dashboard.html` 5. File Manager page: tree/list view with CRUD operations
6. Logs page: log viewer with filtering and auto-refresh
## Prior Work (MS15-DashboardShell — Complete) 7. Settings root page: category index linking to all subpages
8. Custom 404 page for unknown routes
The Feb 22 agent completed the dashboard shell foundation: 9. Profile page linked from sidebar user card
10. /tasks, /calendar, /knowledge pages use real API data (no mock)
- PR #451: Design System & App Shell (tokens, layout, sidebar, topbar, responsive, spinner) 11. All new pages support light/dark theme
- PR #452: Shared Components & Terminal Panel (ui token alignment, card/badge/button, metrics, terminal) 12. All new pages are responsive (sm/md/lg/xl breakpoints)
- PR #453: Dashboard Page (widget grid, activity feed, command palette, notifications) 13. Lint, typecheck, and tests pass
- PR #454: Design system reference docs 14. Deployed and smoke-tested at mosaic.woltje.com
This mission continues from that foundation.
## Milestones ## Milestones
| # | ID | Name | Status | Branch | Issue | Started | Completed | | # | ID | Name | Status | Branch | Issue | Started | Completed |
| --- | ------- | -------------------------- | --------- | ----------------------------- | ----- | ---------- | ---------- | | --- | --------- | ------------------------ | ----------- | ------------------------- | ------------------- | ---------- | --------- |
| 1 | phase-1 | Dashboard Polish + Theming | completed | feat/phase-1-polish | #457 | 2026-02-22 | 2026-02-23 | | 1 | MS16+MS17 | Pages & Data Integration | in-progress | per-task feature branches | #466,#467,#468,#469 | 2026-02-22 | |
| 2 | phase-2 | Task Ingestion Pipeline | completed | feat/phase-2-ingestion | #459 | 2026-02-23 | 2026-02-23 |
| 3 | phase-3 | Agent Cycle Visibility | completed | feat/phase-3-agent-visibility | #461 | 2026-02-23 | 2026-02-23 |
| 4 | phase-4 | Deploy + Smoke Test | completed | feat/phase-4-deploy | #463 | 2026-02-23 | 2026-02-23 |
## Deployment ## Deployment
| Target | URL | Method | | Target | URL | Method |
| ---------- | ---------------------- | ------------------- | | ------- | ----------------- | -------------- |
| Production | mosaic.woltje.com | Coolify (10.1.1.44) | | Coolify | mosaic.woltje.com | CI/CD pipeline |
| Auth | auth.diversecanvas.com | Authentik SSO |
| Registry | git.mosaicstack.dev | Gitea Packages |
## Token Budget ## Token Budget
| Metric | Value | | Metric | Value |
| ------ | ------ | | ------ | ----------------- |
| Budget | | | Budget | ~320K (estimated) |
| Used | 0 | | Used | 0 |
| Mode | normal | | Mode | normal |
## Session History ## Session History
| Session | Runtime | Started | Duration | Ended Reason | Last Task | | Session | Runtime | Started | Duration | Ended Reason | Last Task |
| ------- | ------- | ---------------- | -------- | ------------ | --------- | | ------- | --------------- | ----------------- | -------- | ------------ | ---------------------- |
| S1 | Claude | 2026-02-22 17:50 | — | context | MS-P2-002 | | S1 | Claude Opus 4.6 | 2026-02-22T21:20Z | — | — | PG-PLAN-001 (planning) |
| S2 | Claude | 2026-02-23 18:45 | — | context | MS-P3-003 |
| S3 | Claude | 2026-02-23 19:10 | ~50min | complete | MS-P4-003 |
## Scratchpad ## Scratchpad
Path: `docs/scratchpads/mosaic-stack-go-live-mvp-20260222.md` Path: `docs/scratchpads/prd-implementation-20260222.md`

View File

@@ -1,19 +1,38 @@
# Tasks — Mosaic Stack Go-Live MVP # Tasks — MS16+MS17 Pages & Data Integration
> Single-writer: orchestrator only. Workers read but never modify. > Single-writer: orchestrator only. Workers read but never modify.
| id | status | milestone | description | pr | notes | | id | status | description | issue | repo | branch | depends_on | blocks | agent | started_at | completed_at | estimate | used | notes |
| --------- | ------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---- | ---------------------------------------------- | | ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | ------------ | ----------------- | ----------------- | -------- | ---- | ----------------- |
| MS-P1-001 | done | phase-1 | Fix broken test suites: Button.test.tsx (4 fails, old Tailwind classes) + page.test.tsx (5 fails, old widget refs) | #458 | issue #457, commit 8fa0b30 | | PG-PLAN-001 | done | Plan MS16+MS17 task breakdown, create issues + milestone | #466-#469 | — | — | | PG-FND-001,PG-FND-002,PG-API-001,PG-API-002,PG-API-003 | orchestrator | 2026-02-22T21:20Z | 2026-02-22T21:35Z | 15K | — | Planning complete |
| MS-P1-002 | done | phase-1 | Remove legacy unused dashboard widgets: DomainOverviewWidget, RecentTasksWidget, UpcomingEventsWidget, QuickCaptureWidget | #458 | issue #457, commit 8fa0b30, 5 files deleted | | PG-FND-001 | not-started | Custom 404 page — Branded not-found page matching design system, navigation back to dashboard | #466 | web | feat/404-page | PG-PLAN-001 | PG-VER-001 | | | | 10K | | |
| MS-P1-003 | done | phase-1 | Visual + theme polish: audit current vs design reference, fix gaps, verify dark/light across all components, responsive verification | #458 | issue #457, commit d97a98b, review: approve | | PG-FND-002 | not-started | Settings root/index page — Category cards linking to Credentials, Domains, Personalities, Workspaces subpages | #466 | web | feat/settings-root | PG-PLAN-001 | PG-VER-001 | | | | 12K | | |
| MS-P1-004 | done | phase-1 | Phase verification: all quality gates pass (lint 8/8, typecheck 7/7, test 8/8) | #458 | issue #457, merged 07f5225, issue closed | | PG-API-001 | not-started | Wire /tasks page to real API — Replace mockTasks with fetchTasks() calls, add loading/empty/error states | #467 | web | feat/tasks-real-api | PG-PLAN-001 | PG-PAGE-003,PG-VER-001 | | | | 18K | | |
| MS-P2-001 | done | phase-2 | Create dashboard summary API endpoint: aggregate task counts, project counts, recent activity, active jobs in single call | — | issue #459, commit e38aaa9, 7 files +430 lines | | PG-API-002 | not-started | Wire /calendar page to real API — Replace mockEvents with fetchEvents() calls, add loading/empty/error states | #467 | web | feat/calendar-real-api | PG-PLAN-001 | PG-VER-001 | | | | 18K | | |
| MS-P2-002 | done | phase-2 | Wire dashboard widgets to real API data: ActivityFeed, DashboardMetrics, OrchestratorSessions replace mock with API calls | — | issue #459, commit 7c762e6 + remediation | | PG-API-003 | not-started | Wire /knowledge pages to real API — Replace mockEntries/mockTags across list, detail, search, graph, stats pages | #467 | web | feat/knowledge-real-api | PG-PLAN-001 | PG-VER-001 | | | | 25K | | |
| MS-P2-003 | done | phase-2 | Phase verification: create task via API, confirm visible in dashboard, all quality gates pass | — | issue #459, lint 8/8 typecheck 7/7 test 8/8 | | PG-PAGE-001 | not-started | Projects list page — Card/table layout, CRUD, wire to /api/projects. Create API client (projects.ts) | #468 | web | feat/projects-page | PG-PLAN-001 | PG-PAGE-002,PG-VER-001 | | | | 30K | | |
| MS-P3-001 | done | phase-3 | Wire WebSocket emits into RunnerJobsService: broadcast job status/progress/step events to workspace rooms | — | issue #461, commit 5d3045a | | PG-PAGE-002 | not-started | Project Workspace page — Single-project view with tasks, agent sessions, settings. Wire to /api/projects/:id, /api/tasks, /api/runner-jobs | #468 | web | feat/workspace-page | PG-PAGE-001 | PG-VER-001 | | | | 35K | | |
| MS-P3-002 | done | phase-3 | Dashboard auto-refresh + enhanced OrchestratorSessions: polling interval, progress bars, step status indicators, timestamps | — | issue #461, commit 5d3045a | | PG-PAGE-003 | not-started | Kanban board page — Drag-and-drop columns for TaskStatus (NOT_STARTED, IN_PROGRESS, PAUSED, COMPLETED, ARCHIVED). Wire to /api/tasks | #468 | web | feat/kanban-page | PG-API-001 | PG-VER-001 | | | | 40K | | |
| MS-P3-003 | done | phase-3 | Phase verification: all quality gates pass, demonstrate agent job cycle visibility end-to-end | — | issue #461, lint 8/8 typecheck 7/7 test 8/8 | | PG-PAGE-004 | not-started | File Manager page — Tree/list view of knowledge entries with CRUD + search. Wire to /api/knowledge | #468 | web | feat/file-manager | PG-PLAN-001 | PG-VER-001 | | | | 30K | | |
| MS-P4-001 | done | phase-4 | Deploy to Coolify: build images, push to registry, restart service | — | issue #463, images pushed, stop+start cycle | | PG-PAGE-005 | not-started | Logs and Telemetry page — Log viewer with timestamp/level/source/message. Filtering + auto-refresh. Wire to /api/runner-jobs, job steps, events | #468 | web | feat/logs-page | PG-PLAN-001 | PG-VER-001 | | | | 30K | | |
| MS-P4-002 | done | phase-4 | Smoke test: verify dashboard loads at mosaic.woltje.com, auth redirect works, widgets render | — | issue #463, all checks pass, screenshot saved | | PG-PAGE-006 | not-started | Profile page — User profile linked from sidebar user card. Wire to /api/users/me/preferences | #468 | web | feat/profile-page | PG-PLAN-001 | PG-VER-001 | | | | 20K | | |
| MS-P4-003 | done | phase-4 | Mission completion: update manifest, create release tag, close issue | #464 | issue #463 closed, tag v0.1.0, release created | | PG-VER-001 | not-started | Cross-page theme + responsive verification — Test all pages in light/dark at sm/md/lg/xl breakpoints | #469 | web | feat/theme-verification | PG-FND-001,PG-FND-002,PG-API-001,PG-API-002,PG-API-003,PG-PAGE-001,PG-PAGE-002,PG-PAGE-003,PG-PAGE-004,PG-PAGE-005,PG-PAGE-006 | PG-DOC-001,PG-VER-002 | | | | 12K | | |
| PG-DOC-001 | not-started | Documentation updates — Page architecture docs, API integration notes, updated component inventory | #469 | — | — | PG-VER-001 | PG-VER-002 | | | | 10K | | |
| PG-VER-002 | not-started | Deploy to Coolify + smoke test — Deploy to mosaic.woltje.com, verify all pages accessible, auth working, no console errors | #469 | — | — | PG-DOC-001 | | | | | 15K | | |
## Summary
| Metric | Value |
| --------------- | --------------------------------------------------------- |
| Total tasks | 15 |
| Estimated total | ~320K tokens |
| Phases | 4 (Foundation, Mock Elimination, New Pages, Verification) |
| Issues | #466, #467, #468, #469 |
| Milestone | MS16+MS17-PagesDataIntegration |
## Parallelization Notes
- **Phase 1**: PG-FND-001 + PG-FND-002 can run in parallel
- **Phase 2**: PG-API-001, PG-API-002, PG-API-003 can run in parallel (max 2 workers)
- **Phase 3**: PG-PAGE-001, PG-PAGE-004, PG-PAGE-005, PG-PAGE-006 can run in parallel; PG-PAGE-002 waits for PG-PAGE-001; PG-PAGE-003 waits for PG-API-001
- **Phase 4**: Sequential — verification → docs → deploy

View File

@@ -0,0 +1,66 @@
# Mission Scratchpad — PRD implementation
> Append-only log. NEVER delete entries. NEVER overwrite sections.
> This is the orchestrator's working memory across sessions.
## Original Mission Prompt
```
Active mission detected: PRD implementation. Read the mission state files and report status.
User instruction: start planning. Be complete and thorough.
```
## Planning Decisions
### 2026-02-22 — Task Breakdown
**Decision**: Combined MS16 (Pages) and MS17 (Backend Integration) into a single milestone because 19 backend API modules with 42 controllers already exist. Work is primarily frontend page creation and API wiring.
**Task structure**: 15 tasks across 4 phases:
- Phase 1 (Foundation): 404 page + Settings root — quick wins to fill navigation gaps
- Phase 2 (Mock Elimination): Wire tasks/calendar/knowledge to real APIs
- Phase 3 (New Pages): Projects, Workspace, Kanban, File Manager, Logs, Profile — the bulk of new work
- Phase 4 (Verification): Theme/responsive check, docs, deploy + smoke test
**Branch strategy**: One feature branch per task, PR to main, squash merge.
**Dependency rationale**:
- PG-PAGE-002 (Workspace) depends on PG-PAGE-001 (Projects) — workspace shows single project detail, needs project list/selection pattern established first
- PG-PAGE-003 (Kanban) depends on PG-API-001 (Tasks API wiring) — Kanban needs the tasks API client to be working with real data before building the board UI
- Phase 4 tasks are sequential: verification → docs → deploy
**Codebase findings** (from exploration):
- TaskStatus enum: NOT_STARTED, IN_PROGRESS, PAUSED, COMPLETED, ARCHIVED (5 Kanban columns)
- Mock data locations: `apps/web/src/lib/api/tasks.ts`, `events.ts`, `knowledge.ts`, `client.ts`
- API client pattern: `apiGet<T>()`, `apiPost<T>()`, etc. with CSRF + workspace headers
- 17 shared UI components in packages/ui (Button, Card, Badge, Input, Modal, DataTable, etc.)
- Sidebar nav defined in `apps/web/src/components/layout/AppSidebar.tsx` — all links already point to correct routes
- Design tokens in `apps/web/src/app/globals.css` with full light/dark support
**Estimate**: ~320K tokens total across all tasks.
**Issues created**: #466 (Phase 1), #467 (Phase 2), #468 (Phase 3), #469 (Phase 4)
**Milestone**: MS16+MS17-PagesDataIntegration (Gitea)
### Profile Page Addition
**Decision**: Added PG-PAGE-006 (Profile page) — PRD FR-003 notes "profile page navigation pending (MS16)" and the sidebar user card should link to it. Included in Phase 3.
## Session Log
| Session | Date | Milestone | Tasks Done | Outcome |
| ------- | ---------- | --------- | ----------- | --------------------------------------------------------------------------------------------------- |
| S1 | 2026-02-22 | MS16+MS17 | PG-PLAN-001 | Planning complete — milestone created, 4 issues created (#466-#469), 15 tasks populated in TASKS.md |
## Open Questions
1. **Kanban DnD library**: dnd-kit vs react-beautiful-dnd vs @hello-pangea/dnd — worker should evaluate during implementation
2. **Workspace page default view**: Should it require project selection or show a default? (PRD open question #5) — ASSUMPTION: Show project selection/list if no project context, else show project detail
3. **File Manager vs Knowledge**: PRD ASSUMPTION #5 says File Manager maps to Knowledge entries — worker should confirm API shape matches UI needs
## Corrections
(none yet)