docs: close out MS16+MS17 mission (#486)
All checks were successful
ci/woodpecker/push/web Pipeline was successful
All checks were successful
ci/woodpecker/push/web Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #486.
This commit is contained in:
2
apps/web/next-env.d.ts
vendored
2
apps/web/next-env.d.ts
vendored
@@ -1,6 +1,6 @@
|
|||||||
/// <reference types="next" />
|
/// <reference types="next" />
|
||||||
/// <reference types="next/image-types/global" />
|
/// <reference types="next/image-types/global" />
|
||||||
import "./.next/dev/types/routes.d.ts";
|
import "./.next/types/routes.d.ts";
|
||||||
|
|
||||||
// NOTE: This file should not be edited
|
// NOTE: This file should not be edited
|
||||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||||
|
|||||||
@@ -55,7 +55,8 @@
|
|||||||
| Session | Runtime | Started | Duration | Ended Reason | Last Task |
|
| Session | Runtime | Started | Duration | Ended Reason | Last Task |
|
||||||
| ------- | --------------- | ----------------- | -------- | ------------- | ----------------------------------- |
|
| ------- | --------------- | ----------------- | -------- | ------------- | ----------------------------------- |
|
||||||
| S1 | Claude Opus 4.6 | 2026-02-22T21:20Z | ~2.5h | context limit | PG-VER-001 (all 13 impl tasks done) |
|
| S1 | Claude Opus 4.6 | 2026-02-22T21:20Z | ~2.5h | context limit | PG-VER-001 (all 13 impl tasks done) |
|
||||||
| S2 | Claude Opus 4.6 | 2026-02-22T23:40Z | — | — | PG-DOC-001 (docs + deploy) |
|
| S2 | Claude Opus 4.6 | 2026-02-22T23:40Z | ~30m | completed | PG-VER-002 (deploy + smoke test) |
|
||||||
|
| S3 | Claude Opus 4.6 | 2026-02-23T16:00Z | ~10m | close-out | Mission close-out + PRD update |
|
||||||
|
|
||||||
## Scratchpad
|
## Scratchpad
|
||||||
|
|
||||||
|
|||||||
74
docs/PRD.md
74
docs/PRD.md
@@ -53,6 +53,22 @@ Dashboard polish, task ingestion pipeline, agent cycle visibility, deploy + smok
|
|||||||
- Deployed to Coolify at mosaic.woltje.com, auth working via Authentik
|
- Deployed to Coolify at mosaic.woltje.com, auth working via Authentik
|
||||||
- Release tag v0.1.0
|
- Release tag v0.1.0
|
||||||
|
|
||||||
|
### MS16+MS17-PagesDataIntegration (v0.1.1) — Complete
|
||||||
|
|
||||||
|
All pages built + wired to real API data. PRs #470-484 (15 PRs). Issues #466-469.
|
||||||
|
|
||||||
|
- Custom 404 pages (global + authenticated route groups)
|
||||||
|
- Settings root page with 4 category cards
|
||||||
|
- Tasks, Calendar, Knowledge pages wired to real API (238+ lines mock data removed)
|
||||||
|
- Projects list page with create/delete dialogs
|
||||||
|
- Project Workspace page with tabbed view (Tasks, Agent Sessions, Settings)
|
||||||
|
- Kanban board with drag-and-drop (@hello-pangea/dnd), 5 status columns, optimistic updates
|
||||||
|
- File Manager page with list/grid views, search, create/delete
|
||||||
|
- Logs & Telemetry page with auto-refresh, expandable rows, filters
|
||||||
|
- Profile page with user info and preferences
|
||||||
|
- All 5125 tests passing, CI pipeline #585 green
|
||||||
|
- Deployed and smoke-tested at mosaic.woltje.com
|
||||||
|
|
||||||
## Scope
|
## Scope
|
||||||
|
|
||||||
### In Scope (MS16+MS17 — Pages & Data Integration)
|
### In Scope (MS16+MS17 — Pages & Data Integration)
|
||||||
@@ -290,23 +306,23 @@ This is the active mission scope. MS16 (Pages) and MS17 (Backend Integration) ar
|
|||||||
12. ~~WebSocket emits for agent job lifecycle~~ DONE
|
12. ~~WebSocket emits for agent job lifecycle~~ DONE
|
||||||
13. ~~Deployed to mosaic.woltje.com with auth working~~ DONE
|
13. ~~Deployed to mosaic.woltje.com with auth working~~ DONE
|
||||||
|
|
||||||
### MS16+MS17 — Pages & Data Integration
|
### MS16+MS17 — Pages & Data Integration — COMPLETE
|
||||||
|
|
||||||
14. All sidebar links navigate to functional pages (no 404s)
|
14. ~~All sidebar links navigate to functional pages (no 404s)~~ DONE
|
||||||
15. Projects page: list, create, view project details
|
15. ~~Projects page: list, create, view project details~~ DONE
|
||||||
16. Workspace page: view single project with tasks and agent sessions
|
16. ~~Workspace page: view single project with tasks and agent sessions~~ DONE
|
||||||
17. Kanban page: drag-and-drop board with task status columns
|
17. ~~Kanban page: drag-and-drop board with task status columns~~ DONE
|
||||||
18. File Manager page: tree/list view with CRUD operations
|
18. ~~File Manager page: tree/list view with CRUD operations~~ DONE
|
||||||
19. Logs page: log viewer with filtering and auto-refresh
|
19. ~~Logs page: log viewer with filtering and auto-refresh~~ DONE
|
||||||
20. Settings root page: category index linking to subpages
|
20. ~~Settings root page: category index linking to subpages~~ DONE
|
||||||
21. Custom 404 page for unknown routes
|
21. ~~Custom 404 page for unknown routes~~ DONE
|
||||||
22. `/tasks` page uses real API data (no mock)
|
22. ~~`/tasks` page uses real API data (no mock)~~ DONE
|
||||||
23. `/calendar` page uses real API data (no mock)
|
23. ~~`/calendar` page uses real API data (no mock)~~ DONE
|
||||||
24. `/knowledge` pages use real API data (no mock)
|
24. ~~`/knowledge` pages use real API data (no mock)~~ DONE
|
||||||
25. All new pages support light/dark theme
|
25. ~~All new pages support light/dark theme~~ DONE
|
||||||
26. All new pages are responsive (sm/md/lg/xl breakpoints)
|
26. ~~All new pages are responsive (sm/md/lg/xl breakpoints)~~ DONE
|
||||||
27. Lint, typecheck, and tests pass
|
27. ~~Lint, typecheck, and tests pass~~ DONE
|
||||||
28. Deployed and smoke-tested at mosaic.woltje.com
|
28. ~~Deployed and smoke-tested at mosaic.woltje.com~~ DONE
|
||||||
|
|
||||||
### Full Project (All Milestones)
|
### Full Project (All Milestones)
|
||||||
|
|
||||||
@@ -333,12 +349,12 @@ This is the active mission scope. MS16 (Pages) and MS17 (Backend Integration) ar
|
|||||||
|
|
||||||
## Risks and Open Questions
|
## Risks and Open Questions
|
||||||
|
|
||||||
1. **Risk**: Pages need to match the design system established in MS15. Inconsistency would degrade UX. Mitigation: Use existing design tokens and shared components exclusively.
|
1. **Risk**: Pages need to match the design system established in MS15. Inconsistency would degrade UX. Mitigation: Use existing design tokens and shared components exclusively. **RESOLVED** — All MS16+MS17 pages use design tokens consistently.
|
||||||
2. **Risk**: Kanban drag-and-drop adds complexity and potential for state bugs. Mitigation: Use a proven DnD library (dnd-kit or react-beautiful-dnd), test edge cases.
|
2. **Risk**: Kanban drag-and-drop adds complexity and potential for state bugs. Mitigation: Use a proven DnD library. **RESOLVED** — @hello-pangea/dnd selected (maintained fork of react-beautiful-dnd, better TS support). Optimistic updates with rollback on failure.
|
||||||
3. **Risk**: Mock data elimination may reveal backend API gaps or mismatches. Mitigation: Audit each API response shape against page needs during implementation.
|
3. **Risk**: Mock data elimination may reveal backend API gaps or mismatches. Mitigation: Audit each API response shape against page needs during implementation. **RESOLVED** — All 3 mock-data pages wired successfully. No API gaps found.
|
||||||
4. **Open**: Exact task status values for Kanban columns (need to check Prisma schema enum).
|
4. ~~**Open**: Exact task status values for Kanban columns~~ **RESOLVED** — TaskStatus enum: NOT_STARTED, IN_PROGRESS, PAUSED, COMPLETED, ARCHIVED (5 columns).
|
||||||
5. **Open**: Whether Workspace page should require project selection or show a default view.
|
5. ~~**Open**: Whether Workspace page should require project selection or show a default view~~ **RESOLVED** — Shows project selector when no project param, workspace detail when ?project=id.
|
||||||
6. **Open**: File Manager page — should it be a direct mapping of Knowledge entries or a separate file abstraction?
|
6. ~~**Open**: File Manager page — should it be a direct mapping of Knowledge entries or a separate file abstraction?~~ **RESOLVED** — Direct mapping to Knowledge entries via /api/knowledge. API shape matches file manager needs.
|
||||||
|
|
||||||
## Existing Backend API Modules (Reference)
|
## Existing Backend API Modules (Reference)
|
||||||
|
|
||||||
@@ -383,13 +399,13 @@ These 19 NestJS modules are already implemented with Prisma and available for fr
|
|||||||
| ------------------------------ | ------- | ----------------------------------------------------------------- | ----------- |
|
| ------------------------------ | ------- | ----------------------------------------------------------------- | ----------- |
|
||||||
| MS15-DashboardShell | 0.0.15 | Design system + app shell + dashboard page | COMPLETE |
|
| MS15-DashboardShell | 0.0.15 | Design system + app shell + dashboard page | COMPLETE |
|
||||||
| Go-Live MVP | 0.1.0 | Dashboard polish, ingestion, agent visibility, deploy | COMPLETE |
|
| Go-Live MVP | 0.1.0 | Dashboard polish, ingestion, agent visibility, deploy | COMPLETE |
|
||||||
| MS16+MS17-PagesDataIntegration | 0.2.0 | All pages built + wired to real API data | COMPLETE |
|
| MS16+MS17-PagesDataIntegration | 0.1.1 | All pages built + wired to real API data | COMPLETE |
|
||||||
| MS18-ThemeWidgets | 0.3.0 | Theme package system, widget registry, dashboard customization | NOT STARTED |
|
| MS18-ThemeWidgets | 0.1.x | Theme package system, widget registry, dashboard customization | NOT STARTED |
|
||||||
| MS19-ChatTerminal | 0.4.0 | Global terminal, project chat, master chat session | NOT STARTED |
|
| MS19-ChatTerminal | 0.1.x | Global terminal, project chat, master chat session | NOT STARTED |
|
||||||
| MS20-MultiTenant | 0.5.0 | Multi-tenant, teams, RBAC, RLS enforcement, break-glass auth | NOT STARTED |
|
| MS20-MultiTenant | 0.2.0 | Multi-tenant, teams, RBAC, RLS enforcement, break-glass auth | NOT STARTED |
|
||||||
| MS21-Federation | 0.6.0 | Federation (M-M, M-S), 3 instances, key exchange, data separation | NOT STARTED |
|
| MS21-Federation | 0.2.x | Federation (M-M, M-S), 3 instances, key exchange, data separation | NOT STARTED |
|
||||||
| MS22-AgentTelemetry | 0.7.0 | Agent task mapping, telemetry, wide-event logging | NOT STARTED |
|
| MS22-AgentTelemetry | 0.2.x | Agent task mapping, telemetry, wide-event logging | NOT STARTED |
|
||||||
| MS23-Testing | 0.8.0 | Playwright E2E, federation tests, documentation finalization | NOT STARTED |
|
| MS23-Testing | 0.2.x | Playwright E2E, federation tests, documentation finalization | NOT STARTED |
|
||||||
|
|
||||||
## Assumptions
|
## Assumptions
|
||||||
|
|
||||||
|
|||||||
@@ -29,5 +29,5 @@
|
|||||||
| In Progress | 0 |
|
| In Progress | 0 |
|
||||||
| Remaining | 0 |
|
| Remaining | 0 |
|
||||||
| PRs merged | #470-#484 (15 PRs) |
|
| PRs merged | #470-#484 (15 PRs) |
|
||||||
| Issues closed | #466, #467, #468 |
|
| Issues closed | #466, #467, #468, #469 |
|
||||||
| Milestone | MS16+MS17-PagesDataIntegration |
|
| Milestone | MS16+MS17-PagesDataIntegration |
|
||||||
|
|||||||
39
docs/scratchpads/446-auth-divider-padding.md
Normal file
39
docs/scratchpads/446-auth-divider-padding.md
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# Scratchpad: #446 — AuthDivider Padding
|
||||||
|
|
||||||
|
## Objective
|
||||||
|
|
||||||
|
Add padding above and below the "OR CONTINUE WITH" divider on the login page.
|
||||||
|
|
||||||
|
## Component Location
|
||||||
|
|
||||||
|
`packages/ui/src/components/AuthSurface.tsx` — `AuthDivider` component
|
||||||
|
|
||||||
|
## Current State
|
||||||
|
|
||||||
|
- `AuthDivider` has `my-8` (32px margin top/bottom) on the outer div
|
||||||
|
- Used in `apps/web/src/app/(auth)/login/page.tsx` line 287
|
||||||
|
- Parent container uses `space-y-0`
|
||||||
|
|
||||||
|
## Change
|
||||||
|
|
||||||
|
Increase `my-8` to `my-10` (40px) to add more visual breathing room around the divider.
|
||||||
|
|
||||||
|
ASSUMPTION: `my-10` (40px) is sufficient extra breathing room. If visual review shows otherwise, can adjust.
|
||||||
|
|
||||||
|
## Steps
|
||||||
|
|
||||||
|
- [x] Issue #446 created
|
||||||
|
- [x] Scratchpad created
|
||||||
|
- [x] Make change (py-8 instead of my-8)
|
||||||
|
- [x] Code review (passed — independent agent review confirmed fix is correct)
|
||||||
|
- [x] Commit/push (d7a8ebc → PR #447)
|
||||||
|
- [x] CI green (all 3 pipelines: web=success, api=success, orchestrator=success)
|
||||||
|
- [x] PR merged (9b5c15c on main)
|
||||||
|
- [x] Coolify redeploy (pre-pulled images, service running:healthy)
|
||||||
|
- [x] Playwright verify (paddingTop=32px, paddingBottom=32px confirmed)
|
||||||
|
- [x] Issue closed (#446)
|
||||||
|
|
||||||
|
## Result
|
||||||
|
|
||||||
|
COMPLETE. Root cause: `space-y-0` parent overrides `margin-top` on AuthDivider via CSS sibling
|
||||||
|
selector. Fix: changed `my-8` to `py-8` so spacing is internal padding, not external margin.
|
||||||
@@ -124,6 +124,28 @@ User instruction: start planning. Be complete and thorough.
|
|||||||
|
|
||||||
**Resolution needed**: Jason to check Traefik proxy logs on Coolify server (10.1.1.44). May need Traefik proxy restart or cert store cleanup.
|
**Resolution needed**: Jason to check Traefik proxy logs on Coolify server (10.1.1.44). May need Traefik proxy restart or cert store cleanup.
|
||||||
|
|
||||||
|
## Mission Close-Out — 2026-02-23
|
||||||
|
|
||||||
|
**Smoke test**: CONFIRMED by Jason. All pages accessible, auth working, no console errors.
|
||||||
|
|
||||||
|
**Deployment blocker resolution**: Traefik HTTPS routing issue resolved (was intermittent proxy state issue).
|
||||||
|
|
||||||
|
**Close-out actions (S3)**:
|
||||||
|
|
||||||
|
- PRD updated: MS16+MS17 added to Completed Work, acceptance criteria 14-28 marked DONE, risks/open questions marked RESOLVED
|
||||||
|
- Issue #469 closed with completion comment
|
||||||
|
- Manifest updated with S2+S3 session entries
|
||||||
|
- Mission status: **COMPLETE**
|
||||||
|
|
||||||
|
**Final evidence**:
|
||||||
|
|
||||||
|
- 15/15 tasks done
|
||||||
|
- 15 PRs merged (#470-#484)
|
||||||
|
- 4 issues closed (#466-#469)
|
||||||
|
- CI pipeline #585 green
|
||||||
|
- All 5125 tests passing
|
||||||
|
- Deployed and smoke-tested at mosaic.woltje.com
|
||||||
|
|
||||||
## Corrections
|
## Corrections
|
||||||
|
|
||||||
(none)
|
(none)
|
||||||
|
|||||||
Reference in New Issue
Block a user