diff --git a/apps/web/next-env.d.ts b/apps/web/next-env.d.ts
index c4b7818..9edff1c 100644
--- a/apps/web/next-env.d.ts
+++ b/apps/web/next-env.d.ts
@@ -1,6 +1,6 @@
///
///
-import "./.next/dev/types/routes.d.ts";
+import "./.next/types/routes.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/docs/MISSION-MANIFEST.md b/docs/MISSION-MANIFEST.md
index f034d77..9afa6dd 100644
--- a/docs/MISSION-MANIFEST.md
+++ b/docs/MISSION-MANIFEST.md
@@ -55,7 +55,8 @@
| 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) |
-| 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
diff --git a/docs/PRD.md b/docs/PRD.md
index 7276aa4..72646e3 100644
--- a/docs/PRD.md
+++ b/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
- 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
### 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
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)
-15. Projects page: list, create, view project details
-16. Workspace page: view single project with tasks and agent sessions
-17. Kanban page: drag-and-drop board with task status columns
-18. File Manager page: tree/list view with CRUD operations
-19. Logs page: log viewer with filtering and auto-refresh
-20. Settings root page: category index linking to subpages
-21. Custom 404 page for unknown routes
-22. `/tasks` page uses real API data (no mock)
-23. `/calendar` page uses real API data (no mock)
-24. `/knowledge` pages use real API data (no mock)
-25. All new pages support light/dark theme
-26. All new pages are responsive (sm/md/lg/xl breakpoints)
-27. Lint, typecheck, and tests pass
-28. Deployed and smoke-tested at mosaic.woltje.com
+14. ~~All sidebar links navigate to functional pages (no 404s)~~ DONE
+15. ~~Projects page: list, create, view project details~~ DONE
+16. ~~Workspace page: view single project with tasks and agent sessions~~ DONE
+17. ~~Kanban page: drag-and-drop board with task status columns~~ DONE
+18. ~~File Manager page: tree/list view with CRUD operations~~ DONE
+19. ~~Logs page: log viewer with filtering and auto-refresh~~ DONE
+20. ~~Settings root page: category index linking to subpages~~ DONE
+21. ~~Custom 404 page for unknown routes~~ DONE
+22. ~~`/tasks` page uses real API data (no mock)~~ DONE
+23. ~~`/calendar` page uses real API data (no mock)~~ DONE
+24. ~~`/knowledge` pages use real API data (no mock)~~ DONE
+25. ~~All new pages support light/dark theme~~ DONE
+26. ~~All new pages are responsive (sm/md/lg/xl breakpoints)~~ DONE
+27. ~~Lint, typecheck, and tests pass~~ DONE
+28. ~~Deployed and smoke-tested at mosaic.woltje.com~~ DONE
### 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
-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.
-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.
-3. **Risk**: Mock data elimination may reveal backend API gaps or mismatches. Mitigation: Audit each API response shape against page needs during implementation.
-4. **Open**: Exact task status values for Kanban columns (need to check Prisma schema enum).
-5. **Open**: Whether Workspace page should require project selection or show a default view.
-6. **Open**: File Manager page — should it be a direct mapping of Knowledge entries or a separate file abstraction?
+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. **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. **RESOLVED** — All 3 mock-data pages wired successfully. No API gaps found.
+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~~ **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?~~ **RESOLVED** — Direct mapping to Knowledge entries via /api/knowledge. API shape matches file manager needs.
## 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 |
| 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 |
-| MS18-ThemeWidgets | 0.3.0 | Theme package system, widget registry, dashboard customization | NOT STARTED |
-| MS19-ChatTerminal | 0.4.0 | 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 |
-| MS21-Federation | 0.6.0 | 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 |
-| MS23-Testing | 0.8.0 | Playwright E2E, federation tests, documentation finalization | NOT STARTED |
+| MS16+MS17-PagesDataIntegration | 0.1.1 | All pages built + wired to real API data | COMPLETE |
+| MS18-ThemeWidgets | 0.1.x | Theme package system, widget registry, dashboard customization | NOT STARTED |
+| MS19-ChatTerminal | 0.1.x | Global terminal, project chat, master chat session | NOT STARTED |
+| MS20-MultiTenant | 0.2.0 | Multi-tenant, teams, RBAC, RLS enforcement, break-glass auth | NOT STARTED |
+| MS21-Federation | 0.2.x | Federation (M-M, M-S), 3 instances, key exchange, data separation | NOT STARTED |
+| MS22-AgentTelemetry | 0.2.x | Agent task mapping, telemetry, wide-event logging | NOT STARTED |
+| MS23-Testing | 0.2.x | Playwright E2E, federation tests, documentation finalization | NOT STARTED |
## Assumptions
diff --git a/docs/TASKS.md b/docs/TASKS.md
index d3d62fd..3301e1c 100644
--- a/docs/TASKS.md
+++ b/docs/TASKS.md
@@ -29,5 +29,5 @@
| In Progress | 0 |
| Remaining | 0 |
| PRs merged | #470-#484 (15 PRs) |
-| Issues closed | #466, #467, #468 |
+| Issues closed | #466, #467, #468, #469 |
| Milestone | MS16+MS17-PagesDataIntegration |
diff --git a/docs/scratchpads/446-auth-divider-padding.md b/docs/scratchpads/446-auth-divider-padding.md
new file mode 100644
index 0000000..1a7df53
--- /dev/null
+++ b/docs/scratchpads/446-auth-divider-padding.md
@@ -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.
diff --git a/docs/scratchpads/prd-implementation-20260222.md b/docs/scratchpads/prd-implementation-20260222.md
index be153b6..71cbfec 100644
--- a/docs/scratchpads/prd-implementation-20260222.md
+++ b/docs/scratchpads/prd-implementation-20260222.md
@@ -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.
+## 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
(none)