421 Commits
Author SHA1 Message Date
curo1305 b076ec9cda docs(10-06): create plan summary — skeleton/EmptyState/BreadcrumbBar/toast wired
- Documents 3 tasks (TDD RED→GREEN→Task3)
- Records 164/164 tests passing, FolderBreadcrumb deleted
- Captures dead-code hygiene deviation and decisions
2026-06-15 20:27:15 +02:00
curo1305 a1885122a1 docs(phase-10): update tracking after wave 0 complete (5/12 plans) 2026-06-15 20:18:49 +02:00
curo1305 20183e9c5e chore: merge executor worktree (10-03 BreadcrumbBar) 2026-06-15 20:17:57 +02:00
curo1305 8e1fb9e1db chore: merge executor worktree (10-02 EmptyState) — kept 10-01 AppIcon.vue (resolvedPaths vs paths[name]; 10-01 is canonical) 2026-06-15 20:17:49 +02:00
curo1305 5ed6ae9565 chore: merge executor worktree (10-05 Nyquist stubs) 2026-06-15 20:17:06 +02:00
curo1305 b4bcc1d843 docs(10-03): complete BreadcrumbBar plan — 2/2 tasks, 10/10 tests green 2026-06-15 20:14:30 +02:00
curo1305 ce76c097fd docs(10-05): complete Wave 0 xfail test stubs plan — 8 files, 53 it.todo stubs covering UX-02..09, UX-11, UX-13, UX-14 2026-06-15 20:13:57 +02:00
curo1305 69e859d2d8 docs(10-02): complete EmptyState plan — 2 tasks, 7 tests green
- EmptyState.vue: Options API, 4 props, 4 computed size-class methods, #cta slot
- AppIcon.vue: created as deviation Rule 3 (unblocks import resolution)
- 7 Vitest tests: RED at 96f4b5f, GREEN at e56d17e
2026-06-15 20:13:10 +02:00
curo1305 bb52aa09e0 docs(10-04): complete toast notification system plan
- 2/2 tasks executed (TDD RED then GREEN)
- 10 tests green; SettingsAccountTab + TotpEnrollment regressions clean
- toast.js store implemented, ToastContainer.vue created, App.vue mounted
2026-06-15 20:12:28 +02:00
curo1305 848b5fcf36 docs(10-01): complete AppIcon plan — 32 icons, 6/6 tests green
- AppIcon.vue: 31 single-path + 1 dual-path (cog) registry
- 6 unit tests cover name→path, class forwarding, dual-path, svg attrs, unknown-name warn, stroke path attrs
- Full frontend suite: 153/153 passed
2026-06-15 20:11:58 +02:00
curo1305andClaude Sonnet 4.6 d3d3f711eb docs(10): create phase plan — 12 plans, 6 waves, UX-01..14 + CODE-05
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 06:55:11 +02:00
curo1305 c84dcb77c1 docs(phase-10): research UX & interaction 2026-06-14 22:04:12 +02:00
curo1305 71118076a4 docs(state): record phase 10 context session 2026-06-14 21:53:38 +02:00
curo1305 4c8c394bc3 docs(10): capture phase context 2026-06-14 21:53:34 +02:00
curo1305andClaude Sonnet 4.6 e6f5f2be3b test(phase-09): complete UAT — 9/9 tests passed; mark phase complete
All 9 UAT items verified via live API + source inspection:
- GET /api/admin/overview live data (78 users, 8MB storage, 10 audit rows)
- Auth guard: 401 unauthenticated, 403 non-admin on all protected endpoints
- Admin login redirect (D-08) confirmed in LoginView.vue line 212
- Sidebar: 5 nav links, indigo Admin badge, no back-to-app link
- 4-stat-card overview + When/Event/Actor/Target/IP audit table
- 5 standalone admin views (Users, Quotas, AI, Audit) with no Pinia stores
- API key write-only invariant confirmed in AdminAiView.vue
- Color-coded audit badges (auth=blue, admin=amber, folder/share=purple)
- to.matched.some() guard covers all /admin/* child routes
- No sensitive fields (password_hash, credentials_enc) in any response

Phase 9 marked complete. STATE.md and PROJECT.md updated for Phase 10.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 11:32:19 +02:00
curo1305andClaude Sonnet 4.6 3363e23436 docs(phase-09): mark VALIDATION.md complete — all 5 gaps resolved
Audit confirmed all Wave 0 gaps were filled during execution:
- test_admin_overview.py: 8/8 passing (ADMIN-11 aggregate + no sensitive fields)
- router.guard.test.js: 11/11 passing (ADMIN-12 non-admin redirect + admin-to-admin guard)
- AdminView.vue absent from repo (ADMIN-08 dead-code check)
- Tailwind safelist covers all provider color classes (CODE-06)

nyquist_compliant: true

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 10:45:34 +02:00
curo1305andClaude Sonnet 4.6 c4adf9a990 docs(phase-09): add security threat verification — 15/15 threats closed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 22:28:15 +02:00
curo1305andClaude Sonnet 4.6 6f9f045a9a docs(phase-09): add VERIFICATION.md + REVIEW.md — phase 9 complete
5/5 automated must-haves verified. 4 human runtime checks pending.
Code review: 4 blockers (CR-01 testAiConnection POST/GET mismatch,
CR-02 open redirect, CR-03 unvalidated role field, CR-04 password
shuffle bias), 6 warnings, 3 info.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 22:22:47 +02:00
curo1305andClaude Sonnet 4.6 baa462870d docs(phase-09): update tracking after wave 4 — plan 09-05 complete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 22:09:22 +02:00
curo1305andClaude Sonnet 4.6 777c003ce9 docs(09-05): complete CODE-09 comment purge plan — SUMMARY.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 22:09:22 +02:00
curo1305andClaude Sonnet 4.6 9ddd599897 docs(phase-09): update tracking after wave 3 — plan 09-04 complete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 16:14:43 +02:00
curo1305 b9e5facd55 docs(09-04): complete plan 04 — router rewire, login redirect, cleanup, safelist
Tasks:
- Task 1: Nested /admin route + to.matched.some() guard + Tailwind safelist (sky+amber)
- Task 2: Admin login redirect D-08 in LoginView.vue
- Task 3: Delete 5 legacy files; migrate 3 tests; fix stale references
All 137 tests pass, npm run build green (5 admin lazy chunks)
2026-06-12 16:12:50 +02:00
curo1305andClaude Sonnet 4.6 b19ab8bcd1 docs(phase-09): update tracking after wave 2 — plan 09-03 complete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 16:03:58 +02:00
curo1305 ec4bd691d1 docs(09-03): complete tab-to-view extraction plan — 4 views created
- AdminUsersView, AdminQuotasView, AdminAiView, AdminAuditView all extracted
- One import path rewrite (SearchableModelSelect depth correction)
- Build clean: 143 modules, 0 errors
2026-06-12 16:02:43 +02:00
curo1305andClaude Sonnet 4.6 1b1cc5d566 docs(phase-09): update tracking after wave 1 — plans 09-01 + 09-02 complete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 15:54:05 +02:00
curo1305 42cf3bfa06 chore: merge executor worktree (worktree-agent-a0c8d4832f87a5517) 2026-06-12 15:52:52 +02:00
curo1305 151f474854 docs(09-01): complete ADMIN-11 plan — admin overview endpoint summary
- SUMMARY.md documents 2 tasks completed, 8 tests passing, security invariants verified
- Self-check: all files present, commits verified
2026-06-12 15:51:45 +02:00
curo1305 4e37cb0fab docs(09-02): complete admin route shell plan — layout, sidebar, overview view
- AdminLayout.vue: flex sidebar shell with router-view in padded content area
- AdminSidebar.vue: 5 nav links (D-07 order), indigo Admin badge (D-05), no Back-to-app (D-06)
- AdminOverviewView.vue: single-fetch 4-card stats + recent audit table
- getAdminOverview() API function added to api/admin.js
2026-06-12 15:49:07 +02:00
curo1305andClaude Sonnet 4.6 2fd7591eac docs(09): fix plan checker warnings — ORDER BY desc, closed tag, resolved marker
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 15:40:31 +02:00
curo1305andClaude Sonnet 4.6 ba30ada87a docs(09): create phase 9 plan — Admin Panel Rearchitecture
5 plans across 4 waves covering ADMIN-08..12, CODE-06, CODE-09:

- 09-01 (W1): backend GET /api/admin/overview + 8 ADMIN-11 tests
- 09-02 (W1): AdminLayout + AdminSidebar + AdminOverviewView + getAdminOverview API
- 09-03 (W2): extract 4 admin tab components to standalone views
- 09-04 (W3): nested /admin route + to.matched.some guard + D-08/D-09/D-10 redirects + Tailwind safelist (sky+amber) + login redirect + delete AdminView/tabs
- 09-05 (W4): CODE-09 comment purge for Phase 9 + retroactive Phase 8 backend sub-packages + human UAT checkpoint

All locked decisions D-01..D-16 mapped to tasks; safelist corrected to include sky (OneDrive) and amber (audit badges) per RESEARCH.md Pattern 7.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 15:34:31 +02:00
curo1305andClaude Sonnet 4.6 373e009ed8 docs(09): research phase — admin panel rearchitecture
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 13:35:34 +02:00
curo1305 e5bed6e219 docs(state): record phase 9 context session 2026-06-12 13:23:29 +02:00
curo1305 6721e60166 docs(09): capture phase context 2026-06-12 13:23:25 +02:00
curo1305andClaude Sonnet 4.6 a42f0ed623 test(08): UAT complete — 7/7 passed, phase 8 marked complete
All 7 UAT tests passed (cold start, auth, documents, admin, cloud storage,
session revocation, Vite 6 build). Security gate: 0 threats open. Phase 8
transition complete — ROADMAP.md updated, PROJECT.md evolved with Phase 8
decisions, stale handoff deleted. Next: Phase 9 (Admin Panel Rearchitecture).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 11:28:56 +02:00
curo1305andClaude Sonnet 4.6 ee3d2d2d3d docs(phase-08): mark VALIDATION.md complete — Nyquist-compliant 9/9
Audit confirmed all phase-8 requirements are COVERED:
- CR-01/02/03: session revocation tests promoted from stubs → 3 passing
- CODE-01/02/03: route regression — 58 passed, 4 xfailed
- CODE-04: frontend smoke — 136/136 passed
- CODE-08: single CloudConnectionOut definition confirmed
- PERF-01: npm packages verified

Full suite: 405 passed, 6 skipped, 7 xfailed (1 pre-existing env gap: no local python-docx)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 11:24:49 +02:00
curo1305andClaude Sonnet 4.6 cd4f372e46 docs(phase-08): add security threat verification — all 45 threats closed
Register sourced from 8 PLAN.md threat_model blocks (register_authored_at_plan_time: true).
36 mitigate threats verified CLOSED by gsd-security-auditor. 9 accepted risks documented.
threats_open: 0 — phase advancement unblocked.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 11:18:16 +02:00
curo1305andClaude Sonnet 4.6 ace8899211 test(08): complete UAT — 7/7 passed, all regression verified
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 11:07:24 +02:00
curo1305andClaude Sonnet 4.6 6bda133c81 chore(08-08): PERF-01 packages + Vite 6 upgrade + pin requirements.txt
- Upgraded vite 5.4.21 → 6.4.3 (fixes CVE-2026-39363, CVE-2026-39364)
- Upgraded @vitejs/plugin-vue 5.2.4 → 6.0.7 (Vite 6 peer dep)
- Installed @vueuse/core@14.3.0, @vueuse/integrations@14.3.0,
  sortablejs@1.15.7, @tailwindcss/forms@0.5.11,
  rollup-plugin-visualizer@7.0.1, @types/sortablejs@1.15.9
- Wired @tailwindcss/forms plugin in tailwind.config.js (VISUAL-02 ready)
- Pinned backend/requirements.txt to exact == versions per D-17 (32 packages)
- Frontend: 136/136 tests pass on Vite 6; 0 npm audit vulnerabilities
- Backend: 408 passed, 4 skipped, 7 xfailed (baseline 405+1)
- Phase 8 complete (8/8 plans)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 10:54:34 +02:00
curo1305andClaude Sonnet 4.6 8828871ecd wip: phase-08 paused at plan 08/08 — wave 2 complete, 08-08 pending npm verification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 10:34:41 +02:00
curo1305andClaude Sonnet 4.6 9a3ce6ef39 docs(08-04/05/06): add plan summaries — wave 2 backend decomposition complete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 10:29:40 +02:00
curo1305 7e99b6ecc1 docs(08-07): add plan summary — CODE-04 CODE-08 frontend api decomposition complete 2026-06-10 18:45:56 +02:00
curo1305andClaude Sonnet 4.6 f5109b80c3 docs(phase-8): update tracking after wave 1 — plan 08-03 complete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 16:38:35 +02:00
curo1305 aa1c5ee75e docs(08-03): complete plan 03 — useToastStore stub, CR wire-up, xfail promotion
- SUMMARY.md created with test output, forward reference to Phase 10, and self-check
2026-06-08 16:36:41 +02:00
curo1305andClaude Sonnet 4.6 ccb8a0bb77 docs(phase-8): update tracking after wave 0 — plans 08-01 and 08-02 complete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 16:28:35 +02:00
curo1305 98dcf809b2 chore: merge executor worktree (worktree-agent-ad0b098c151ab9e3f) 2026-06-08 16:24:51 +02:00
curo1305andClaude Sonnet 4.6 c636ac956f docs(08-01): complete Wave 0 xfail stubs plan — 3 xpassed, CR-01/02/03 contracts locked
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 16:23:13 +02:00
curo1305 26c11aff4c docs(08-02): complete shared-schemas plan — schemas.py + cloud.py import switch
- backend/api/schemas.py created with CloudConnectionOut (SEC-08 compliant)
- backend/api/cloud.py import switched from api.admin to api.schemas
- 51 cloud + admin tests pass; no behavior change
- Original admin.py definition preserved for plan 08-04 deletion
2026-06-08 16:13:31 +02:00
curo1305andClaude Sonnet 4.6 25e568973f docs(08): create phase 8 plan — 8 plans, 3 waves (stack upgrade + backend decomposition)
Wave 0: CR-01/02/03 test stubs + api/schemas.py (CloudConnectionOut migration)
Wave 1: useToastStore stub + Phase 7.1 frontend completion
Wave 2 (parallel): api/admin/, api/documents/, api/auth/ package splits + client.js decomposition + PERF-01 deps

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 14:59:27 +02:00
curo1305 c20a5d8913 docs(08): research phase — decomposition boundaries, CR status, Vite 6 migration 2026-06-07 11:01:54 +02:00
curo1305andClaude Sonnet 4.6 118f4ee850 docs(08): UI design contract — toast API contract + sessions-revoked interaction spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 10:50:39 +02:00