Archive v0.2 (UI Overhaul and Optimization) to milestones/: - milestones/v0.2-ROADMAP.md — full phase archive (Phases 8–11, 33 plans) - milestones/v0.2-REQUIREMENTS.md — all 40 requirements marked complete - milestones/v0.2-MILESTONE-AUDIT.md — audit artifact (passed, 40/40) - MILESTONES.md — new living milestone index - RETROSPECTIVE.md — new living retrospective with v0.2 section - PROJECT.md — full evolution review: v0.2 requirements moved to Validated, 5 new Key Decisions added - STATE.md — updated to milestone-complete status - ROADMAP.md — v0.2 phases collapsed into <details> with progress table updated Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6.8 KiB
6.8 KiB
DocuVault v0.2 Requirements — Archive
Milestone: v0.2 — UI Overhaul and Optimization Archived: 2026-06-17 Total requirements: 40 — all satisfied
CODE — Codebase Quality
- CODE-01: Backend
api/admin.pydecomposed intoapi/admin/package — Phase 8, Complete - CODE-02:
api/documents.pydecomposed intoapi/documents/package — Phase 8, Complete - CODE-03:
api/auth.pydecomposed intoapi/auth/package — Phase 8, Complete - CODE-04: Frontend
api/client.jsdecomposed into domain modules; barrel re-export — Phase 8, Complete - CODE-05: All inline SVG blocks replaced with
<AppIcon name="..." />; path data centralized — Phase 10, Complete - CODE-06: Tailwind
safelistconfigured for all dynamic class name patterns informatters.js— Phase 9, Complete - CODE-07: All unreferenced files, components, stores, and unused imports deleted — Phase 11, Complete
- CODE-08: No duplicated Pydantic model definitions; shared schemas in dedicated modules — Phase 8, Complete
- CODE-09: No WHAT comments remain; WHY-only policy enforced across all touched files — Phase 9, Complete
ADMIN — Admin Panel
- ADMIN-08: Admin panel at
/admin/*;AdminLayout.vueas route component;AdminView.vuedeleted — Phase 9, Complete - ADMIN-09: Admin sidebar: Overview, Users, Quotas, AI Config, Audit Log. No "Back to app" link (D-06 decision) — Phase 9, Complete
- ADMIN-10: Deep-linkable URLs (
/admin/users,/admin/quotas,/admin/ai,/admin/audit); back button works — Phase 9, Complete - ADMIN-11: Admin overview page with user count, platform storage, doc status breakdown, last 10 audit entries — Phase 9, Complete
- ADMIN-12:
to.matched.some(r => r.meta.requiresAdmin)guard on all/admin/*routes — Phase 9, Complete
UX — UX and Interaction
- UX-01:
EmptyState.vuein all zero-content contexts; no plain "No items" text remains — Phase 10, Complete - UX-02:
StorageBrowserdisplays 5-colanimate-pulseskeleton grid rows during loading — Phase 10, Complete - UX-03: Sidebar folder tree and topics list display skeleton placeholders during loading — Phase 10, Complete
- UX-04: Admin user table and audit log table display skeleton table rows during loading — Phase 10, Complete
- UX-05: Pressing
/when no input is focused moves focus to the search bar — Phase 10, Complete - UX-06: Pressing
Escapecloses any open modal and clears active search — Phase 10, Complete - UX-07: Pressing
Uwhen no input is focused triggers the file upload picker — Phase 10, Complete - UX-08: Pressing
Nwhen no input is focused starts the new folder inline input — Phase 10, Complete - UX-09: OS drag-onto-browser shows full-screen overlay; releasing uploads files — Phase 10, Complete
- UX-10: Toast notification system (auto-dismiss 4s, stacking, non-blocking) for upload/delete/share/rename — Phase 10, Complete
- UX-11: Drag-to-move document onto folder row with
ring-2 ring-inset ring-amber-300drop highlight — Phase 10, Complete - UX-12: Single shared
BreadcrumbBar.vueacross all views; updates on every route change — Phase 10, Complete - UX-13: All dropdowns use
Teleport + getBoundingClientRect; no viewport-edge clipping — Phase 10, Complete - UX-14: Inline "New" folder button removed from
AppSidebar.vue; folder creation in file manager only — Phase 10, Complete
VISUAL — Visual Design
- VISUAL-01: Consistent spacing scale; no arbitrary
px-[N]values or inlinestylemargins — Phase 11, Complete - VISUAL-02:
@tailwindcss/formsplugin configured; cross-browser form element baseline styling — Phase 11, Complete - VISUAL-03: All interactive elements have consistent hover,
focus-visible:rings, and active states — Phase 11, Complete - VISUAL-04: Consistent typography scale: one heading size per level, one body size, one label/caption size — Phase 11, Complete
RESP — Responsive Layout
- RESP-01: Sidebar hidden below
lg(1024px); hamburger opens slide-in overlay drawer — Phase 11, Complete - RESP-02: Document list hides Size column below
md, Modified belowsm; compact icon toolbar belowsm— Phase 11, Complete (11-07 gap closure) - RESP-03: Inline icon action buttons ≥36×36px touch target on viewports below
md— Phase 11, Complete - RESP-04: All modal dialogs scrollable on viewports below 640px — Phase 11, Complete
- RESP-05: Admin layout has same responsive behavior (hamburger, drawer) as user layout — Phase 11, Complete
PERF — Performance and Stack
- PERF-01: Frontend dependencies bumped:
vue@^3.5.0,vite@^8.0.16,@vueuse/core@^14.3.0,sortablejs,@tailwindcss/forms,rollup-plugin-visualizer— Phase 8, Complete - PERF-02: Bundle baseline and post-optimization reports committed to
.planning/— Phase 11, Complete (−81 kB / −30.6%) - PERF-03: All non-initial-render routes lazy-loaded; admin views explicitly lazy-loaded — Phase 11, Complete
Traceability
| REQ-ID | Phase | Status |
|---|---|---|
| PERF-01 | Phase 8 | ✓ Complete |
| CODE-01 | Phase 8 | ✓ Complete |
| CODE-02 | Phase 8 | ✓ Complete |
| CODE-03 | Phase 8 | ✓ Complete |
| CODE-04 | Phase 8 | ✓ Complete |
| CODE-08 | Phase 8 | ✓ Complete |
| ADMIN-08 | Phase 9 | ✓ Complete |
| ADMIN-09 | Phase 9 | ✓ Complete (D-06: admin-only, no Back-to-app) |
| ADMIN-10 | Phase 9 | ✓ Complete |
| ADMIN-11 | Phase 9 | ✓ Complete |
| ADMIN-12 | Phase 9 | ✓ Complete |
| CODE-06 | Phase 9 | ✓ Complete |
| CODE-09 | Phase 9 | ✓ Complete |
| UX-01 | Phase 10 | ✓ Complete |
| UX-02 | Phase 10 | ✓ Complete |
| UX-03 | Phase 10 | ✓ Complete |
| UX-04 | Phase 10 | ✓ Complete |
| UX-05 | Phase 10 | ✓ Complete |
| UX-06 | Phase 10 | ✓ Complete |
| UX-07 | Phase 10 | ✓ Complete |
| UX-08 | Phase 10 | ✓ Complete |
| UX-09 | Phase 10 | ✓ Complete |
| UX-10 | Phase 10 | ✓ Complete |
| UX-11 | Phase 10 | ✓ Complete |
| UX-12 | Phase 10 | ✓ Complete |
| UX-13 | Phase 10 | ✓ Complete |
| UX-14 | Phase 10 | ✓ Complete |
| CODE-05 | Phase 10 | ✓ Complete |
| VISUAL-01 | Phase 11 | ✓ Complete |
| VISUAL-02 | Phase 11 | ✓ Complete |
| VISUAL-03 | Phase 11 | ✓ Complete |
| VISUAL-04 | Phase 11 | ✓ Complete |
| RESP-01 | Phase 11 | ✓ Complete |
| RESP-02 | Phase 11 | ✓ Complete |
| RESP-03 | Phase 11 | ✓ Complete |
| RESP-04 | Phase 11 | ✓ Complete |
| RESP-05 | Phase 11 | ✓ Complete |
| CODE-07 | Phase 11 | ✓ Complete |
| PERF-02 | Phase 11 | ✓ Complete |
| PERF-03 | Phase 11 | ✓ Complete |
All 40 requirements satisfied. Archive created 2026-06-17.