chore(orchestrator): bootstrap MS16+MS17 planning (#470)
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #470.
This commit is contained in:
@@ -1,51 +1,14 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"mission_id": "mosaic-stack-go-live-mvp-20260222",
|
||||
"name": "Mosaic Stack Go-Live MVP",
|
||||
"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.",
|
||||
"mission_id": "prd-implementation-20260222",
|
||||
"name": "PRD implementation",
|
||||
"description": "",
|
||||
"project_path": "/home/jwoltje/src/mosaic-stack",
|
||||
"created_at": "2026-02-22T23:35:51Z",
|
||||
"created_at": "2026-02-23T03:20:55Z",
|
||||
"status": "active",
|
||||
"task_prefix": "MS",
|
||||
"quality_gates": "pnpm lint && pnpm typecheck && pnpm test",
|
||||
"milestone_version": "0.0.16",
|
||||
"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": ""
|
||||
}
|
||||
],
|
||||
"task_prefix": "",
|
||||
"quality_gates": "",
|
||||
"milestone_version": "0.0.1",
|
||||
"milestones": [],
|
||||
"sessions": []
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
> Updated by the orchestrator at each phase transition and milestone completion.
|
||||
|
||||
## Mission
|
||||
|
||||
**ID:** mosaic-stack-go-live-mvp-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.
|
||||
**Phase:** Complete
|
||||
**Current Milestone:** all milestones complete
|
||||
**Progress:** 4 / 4 milestones
|
||||
**Status:** completed
|
||||
**Last Updated:** 2026-02-23 20:00 UTC
|
||||
**ID:** prd-implementation-20260222
|
||||
**Statement:** Implement MS16+MS17 (Pages & Data Integration) — build all remaining pages, wire to real API data, eliminate mock data, deploy to production
|
||||
**Phase:** Execution
|
||||
**Current Milestone:** MS16+MS17-PagesDataIntegration
|
||||
**Progress:** 0 / 1 milestones
|
||||
**Status:** active
|
||||
**Last Updated:** 2026-02-22T21:35Z
|
||||
|
||||
## Success Criteria
|
||||
|
||||
1. Dashboard loads reliably at mosaic.woltje.com with theming system operational
|
||||
2. Task/status ingestion: create/update flow persists records visible in UI
|
||||
3. One agent job runs from queued to completion/failure with status transitions visible
|
||||
4. Stack deployed via Coolify, auth + dashboard reachable, smoke checks passing
|
||||
5. Design reference: `mosaic-stack-website/docs/designs/round-5/claude/01/dashboard.html`
|
||||
|
||||
## Prior Work (MS15-DashboardShell — Complete)
|
||||
|
||||
The Feb 22 agent completed the dashboard shell foundation:
|
||||
|
||||
- PR #451: Design System & App Shell (tokens, layout, sidebar, topbar, responsive, spinner)
|
||||
- PR #452: Shared Components & Terminal Panel (ui token alignment, card/badge/button, metrics, terminal)
|
||||
- PR #453: Dashboard Page (widget grid, activity feed, command palette, notifications)
|
||||
- PR #454: Design system reference docs
|
||||
|
||||
This mission continues from that foundation.
|
||||
1. All sidebar links navigate to functional pages (no 404s from sidebar navigation)
|
||||
2. Projects page: list, create, view, edit, delete projects
|
||||
3. Workspace page: view single project with tasks and agent sessions
|
||||
4. Kanban page: drag-and-drop board with 5 TaskStatus columns
|
||||
5. File Manager page: tree/list view with CRUD operations
|
||||
6. Logs page: log viewer with filtering and auto-refresh
|
||||
7. Settings root page: category index linking to all subpages
|
||||
8. Custom 404 page for unknown routes
|
||||
9. Profile page linked from sidebar user card
|
||||
10. /tasks, /calendar, /knowledge pages use real API data (no mock)
|
||||
11. All new pages support light/dark theme
|
||||
12. All new pages are responsive (sm/md/lg/xl breakpoints)
|
||||
13. Lint, typecheck, and tests pass
|
||||
14. Deployed and smoke-tested at mosaic.woltje.com
|
||||
|
||||
## Milestones
|
||||
|
||||
| # | 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 |
|
||||
| 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 |
|
||||
| # | ID | Name | Status | Branch | Issue | Started | Completed |
|
||||
| --- | --------- | ------------------------ | ----------- | ------------------------- | ------------------- | ---------- | --------- |
|
||||
| 1 | MS16+MS17 | Pages & Data Integration | in-progress | per-task feature branches | #466,#467,#468,#469 | 2026-02-22 | — |
|
||||
|
||||
## Deployment
|
||||
|
||||
| Target | URL | Method |
|
||||
| ---------- | ---------------------- | ------------------- |
|
||||
| Production | mosaic.woltje.com | Coolify (10.1.1.44) |
|
||||
| Auth | auth.diversecanvas.com | Authentik SSO |
|
||||
| Registry | git.mosaicstack.dev | Gitea Packages |
|
||||
| Target | URL | Method |
|
||||
| ------- | ----------------- | -------------- |
|
||||
| Coolify | mosaic.woltje.com | CI/CD pipeline |
|
||||
|
||||
## Token Budget
|
||||
|
||||
| Metric | Value |
|
||||
| ------ | ------ |
|
||||
| Budget | — |
|
||||
| Used | 0 |
|
||||
| Mode | normal |
|
||||
| Metric | Value |
|
||||
| ------ | ----------------- |
|
||||
| Budget | ~320K (estimated) |
|
||||
| Used | 0 |
|
||||
| Mode | normal |
|
||||
|
||||
## Session History
|
||||
|
||||
| Session | Runtime | Started | Duration | Ended Reason | Last Task |
|
||||
| ------- | ------- | ---------------- | -------- | ------------ | --------- |
|
||||
| S1 | Claude | 2026-02-22 17:50 | — | context | MS-P2-002 |
|
||||
| S2 | Claude | 2026-02-23 18:45 | — | context | MS-P3-003 |
|
||||
| S3 | Claude | 2026-02-23 19:10 | ~50min | complete | MS-P4-003 |
|
||||
| Session | Runtime | Started | Duration | Ended Reason | Last Task |
|
||||
| ------- | --------------- | ----------------- | -------- | ------------ | ---------------------- |
|
||||
| S1 | Claude Opus 4.6 | 2026-02-22T21:20Z | — | — | PG-PLAN-001 (planning) |
|
||||
|
||||
## Scratchpad
|
||||
|
||||
Path: `docs/scratchpads/mosaic-stack-go-live-mvp-20260222.md`
|
||||
Path: `docs/scratchpads/prd-implementation-20260222.md`
|
||||
|
||||
@@ -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.
|
||||
|
||||
| id | status | milestone | description | pr | 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 |
|
||||
| MS-P1-002 | done | phase-1 | Remove legacy unused dashboard widgets: DomainOverviewWidget, RecentTasksWidget, UpcomingEventsWidget, QuickCaptureWidget | #458 | issue #457, commit 8fa0b30, 5 files deleted |
|
||||
| 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 |
|
||||
| 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 |
|
||||
| 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 |
|
||||
| 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 |
|
||||
| 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 |
|
||||
| MS-P3-001 | done | phase-3 | Wire WebSocket emits into RunnerJobsService: broadcast job status/progress/step events to workspace rooms | — | issue #461, commit 5d3045a |
|
||||
| MS-P3-002 | done | phase-3 | Dashboard auto-refresh + enhanced OrchestratorSessions: polling interval, progress bars, step status indicators, timestamps | — | issue #461, commit 5d3045a |
|
||||
| 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 |
|
||||
| MS-P4-001 | done | phase-4 | Deploy to Coolify: build images, push to registry, restart service | — | issue #463, images pushed, stop+start cycle |
|
||||
| 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 |
|
||||
| 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 |
|
||||
| id | status | description | issue | repo | branch | depends_on | blocks | agent | started_at | completed_at | estimate | used | notes |
|
||||
| ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | ------------ | ----------------- | ----------------- | -------- | ---- | ----------------- |
|
||||
| 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 |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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 | | |
|
||||
| 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
|
||||
|
||||
66
docs/scratchpads/prd-implementation-20260222.md
Normal file
66
docs/scratchpads/prd-implementation-20260222.md
Normal 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)
|
||||
Reference in New Issue
Block a user