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>
This commit is contained in:
curo1305
2026-06-12 10:54:34 +02:00
co-authored by Claude Sonnet 4.6
parent 8828871ecd
commit 6bda133c81
5 changed files with 157 additions and 60 deletions
+21 -23
View File
@@ -2,37 +2,36 @@
gsd_state_version: 1.0
milestone: v0.2
milestone_name: Phases
current_phase: 8
status: executing
last_updated: "2026-06-10T16:45:44.535Z"
last_activity: 2026-06-10
current_phase: 9
status: ready
last_updated: "2026-06-12T00:00:00.000Z"
last_activity: 2026-06-12
progress:
total_phases: 4
completed_phases: 0
total_plans: 8
completed_plans: 4
percent: 0
total_phases: 17
completed_phases: 14
total_plans: 73
completed_plans: 73
percent: 80
---
# Project State
**Project:** DocuVault
**Status:** Ready to execute
**Current Phase:** 8
**Last Updated:** 2026-06-08
**Status:** Phase 8 complete — ready for Phase 9
**Current Phase:** 9
**Last Updated:** 2026-06-12
## Current Position
Phase: 8 (Stack Upgrade & Backend Decomposition) — EXECUTING
Plan: 2 of 8
Status: Ready to execute
Last activity: 2026-06-10
Phase: 9 (Admin Panel Rearchitecture) — NOT STARTED
Status: Ready to plan
Last activity: 2026-06-12
## Phase Status
| Phase | Requirements | Status |
|-------|-------------|--------|
| 8. Stack Upgrade & Backend Decomposition | PERF-01, CODE-01, CODE-02, CODE-03, CODE-04, CODE-08 | Planned (8 plans) |
| 8. Stack Upgrade & Backend Decomposition | PERF-01, CODE-01, CODE-02, CODE-03, CODE-04, CODE-08 | **Complete (8/8 plans)** |
| 9. Admin Panel Rearchitecture | ADMIN-08..12, CODE-06, CODE-09 | Not started |
| 10. UX & Interaction | UX-01..14, CODE-05 | Not started |
| 11. Visual Design, Responsive Layout & Cleanup | VISUAL-01..04, RESP-01..05, CODE-07, PERF-02, PERF-03 | Not started |
@@ -41,11 +40,10 @@ Last activity: 2026-06-10
| Metric | Value |
|---|---|
| Phases complete | 0 / 4 |
| Phases complete | 1 / 4 |
| Requirements mapped | 40 / 40 |
| Plans written | 8 |
| Plans complete | 0 |
| Phase 08-stack-upgrade-backend-decomposition P07 | 5 | 4 tasks | 9 files |
| Plans complete | 8 |
## Accumulated Context
@@ -83,7 +81,7 @@ _Updated at each phase transition._
| Field | Value |
|---|---|
| Last session | 2026-06-08 — Phase 8 planned; 8 plans created |
| Next action | /gsd:execute-phase 8 |
| Last session | 2026-06-12 — Phase 8 complete; all 8 plans executed |
| Next action | /gsd:discuss-phase 9 then /gsd:plan-phase 9 |
| Pending decisions | None |
| Resume file | .planning/phases/08-stack-upgrade-backend-decomposition/ |
| Resume file | .planning/phases/ (phase 9 not yet created) |
@@ -0,0 +1,91 @@
---
phase: 08-stack-upgrade-backend-decomposition
plan: 08
status: complete
completed: 2026-06-12
---
# Plan 08-08 Summary — Dependency Upgrades (Wave 3)
## What Was Done
- Installed all PERF-01 frontend packages; upgraded Vite 5 → 6 resolving 2 moderate CVEs
- Wired `@tailwindcss/forms` plugin in `tailwind.config.js` (required for Phase 11 VISUAL-02)
- Pinned `backend/requirements.txt` from floating `>=` to exact `==` versions per D-17
## Human Checkpoint (Package Legitimacy)
User approved all 8 npm packages after security research instead of manual npmjs.com inspection.
CVE research confirmed:
- **vite 5.4.21 → 6.4.3**: Patched CVE-2026-39363 + CVE-2026-39364 (High, arbitrary file read via dev server). Relevant because `vite.config.js` uses `server.host: '0.0.0.0'`. Vite 8 was evaluated and rejected (breaking Rolldown changes out of phase scope).
- All other packages: no known CVEs in Snyk/OpenCVE as of 2026-06-12.
## Before / After: frontend/package.json
| Package | Before | After |
|---|---|---|
| vite | `^5.2.0` (installed 5.4.21) | `^6.4.3` (installed 6.4.3) |
| @vitejs/plugin-vue | `^5.0.0` (installed 5.2.4) | `^6.0.7` (installed 6.0.7) |
| vue | `^3.4.0` | `^3.5.38` |
| @vueuse/core | — | `^14.3.0` (14.3.0) |
| @vueuse/integrations | — | `^14.3.0` (14.3.0) |
| sortablejs | — | `^1.15.7` (1.15.7) |
| @tailwindcss/forms | — | `^0.5.11` (0.5.11) |
| rollup-plugin-visualizer | — | `^7.0.1` (7.0.1) |
| @types/sortablejs | — | `^1.15.9` (1.15.9) |
## Final backend/requirements.txt (pinned)
```
fastapi==0.128.8
uvicorn[standard]==0.49.0
python-multipart==0.0.32
pydantic-settings==2.14.1
pydantic[email]==2.13.4
anthropic==0.104.0
openai==2.41.0
PyMuPDF==1.27.2.3
python-docx==1.2.0
pytesseract==0.3.13
Pillow==12.2.0
aiofiles==25.1.0
httpx==0.28.1
pytest==9.0.3
pytest-asyncio==1.4.0
sqlalchemy[asyncio]==2.0.49
psycopg[binary]==3.2.13
# alembic pinned to currently-installed 1.16.5 (was >=1.18.4); D-17 mandates pinning to installed
alembic==1.16.5
minio==7.2.20
celery[redis]==5.6.3
redis==6.4.0
aiosqlite==0.22.1
PyJWT==2.13.0
pwdlib[argon2]==0.3.0
pyotp==2.9.0
slowapi==0.1.9
cryptography==48.0.0
google-auth-oauthlib==1.4.0
google-api-python-client==2.197.0
msal==1.37.0
webdavclient3==3.14.7
cachetools==7.1.4
structlog==25.5.0
```
## Test Results
- `cd frontend && npm test` — 136/136 passed on Vite 6 ✅
- `cd frontend && npm run build` — clean production build with Vite 6.4.3 ✅
- `cd frontend && npm audit` — 0 vulnerabilities (was 2 moderate on Vite 5) ✅
- `docker exec backend pytest -v` — 408 passed, 4 skipped, 7 xfailed ✅ (baseline was 405/1)
- `pip install -r requirements.txt --dry-run` — no resolution conflicts ✅
## Acceptance Criteria Met
- [x] All PERF-01 packages installed at correct versions
- [x] `@tailwindcss/forms` wired in `tailwind.config.js` (ready for Phase 11 VISUAL-02)
- [x] Vite 6 production build succeeds
- [x] `backend/requirements.txt` fully `==` pinned per D-17 (0 floating constraints)
- [x] All tests pass
- [x] Human checkpoint approved (CVE-informed, not just npmjs.com visual check)
+34 -33
View File
@@ -1,37 +1,38 @@
fastapi>=0.111
uvicorn[standard]>=0.29
python-multipart>=0.0.27
pydantic-settings>=2.2
pydantic[email]>=2.0
anthropic>=0.95.0
openai>=1.30
PyMuPDF>=1.26.7
python-docx>=1.1
pytesseract>=0.3
Pillow>=10.3
aiofiles>=23.2
httpx>=0.27
pytest>=8.2
pytest-asyncio>=1.3.0
sqlalchemy[asyncio]>=2.0.49
psycopg[binary]>=3.3.4
alembic>=1.18.4
minio>=7.2.20
celery[redis]>=5.5.0
redis>=4.6.0
aiosqlite>=0.20.0
PyJWT>=2.8.0
pwdlib[argon2]>=0.2.1
pyotp>=2.9.0
slowapi>=0.1.9
fastapi==0.128.8
uvicorn[standard]==0.49.0
python-multipart==0.0.32
pydantic-settings==2.14.1
pydantic[email]==2.13.4
anthropic==0.104.0
openai==2.41.0
PyMuPDF==1.27.2.3
python-docx==1.2.0
pytesseract==0.3.13
Pillow==12.2.0
aiofiles==25.1.0
httpx==0.28.1
pytest==9.0.3
pytest-asyncio==1.4.0
sqlalchemy[asyncio]==2.0.49
psycopg[binary]==3.2.13
# alembic pinned to currently-installed 1.16.5 (was >=1.18.4); D-17 mandates pinning to installed
alembic==1.16.5
minio==7.2.20
celery[redis]==5.6.3
redis==6.4.0
aiosqlite==0.22.1
PyJWT==2.13.0
pwdlib[argon2]==0.3.0
pyotp==2.9.0
slowapi==0.1.9
# Cloud Storage Backends (Phase 5)
cryptography>=41.0.0
google-auth-oauthlib>=1.3.1
google-api-python-client>=2.196.0
msal>=1.36.0
webdavclient3>=3.14.7
cachetools>=5.3.0
cryptography==48.0.0
google-auth-oauthlib==1.4.0
google-api-python-client==2.197.0
msal==1.37.0
webdavclient3==3.14.7
cachetools==7.1.4
# Observability (Phase 6 — D-01)
structlog>=25.5.0
structlog==25.5.0
+9 -3
View File
@@ -9,19 +9,25 @@
"test": "vitest run"
},
"dependencies": {
"@tailwindcss/forms": "^0.5.11",
"@vueuse/core": "^14.3.0",
"@vueuse/integrations": "^14.3.0",
"pinia": "^2.1.0",
"qrcode": "^1.5.4",
"vue": "^3.4.0",
"sortablejs": "^1.15.7",
"vue": "^3.5.38",
"vue-router": "^4.3.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.0",
"@types/sortablejs": "^1.15.9",
"@vitejs/plugin-vue": "^6.0.7",
"@vue/test-utils": "^2.4.10",
"autoprefixer": "^10.4.0",
"happy-dom": "^20.9.0",
"postcss": "^8.4.0",
"rollup-plugin-visualizer": "^7.0.1",
"tailwindcss": "^3.4.0",
"vite": "^5.2.0",
"vite": "^6.4.3",
"vitest": "^4.1.7"
}
}
+2 -1
View File
@@ -1,8 +1,9 @@
/** @type {import('tailwindcss').Config} */
import forms from '@tailwindcss/forms'
export default {
content: ['./index.html', './src/**/*.{vue,js}'],
theme: {
extend: {},
},
plugins: [],
plugins: [forms],
}