docs(mvp2): close out — 6/6 fases shipped, 476 tests green

Final test totals after MVP2:
- pgTAP:               166 (was 45 → +121)
- Vitest integration:  173 (was 140 → +33)
- Vitest unit:          47 (was 15  → +32)
- Playwright e2e:       89 (was 59  → +30)
- Rate-limit gated:      1
- Total active:        476 (was 259 → +217)
- Skipped:               3 (unchanged: 2 Realtime presence + 1 gated)

Cycle summary:
- Fase 9  — dark mode + max-w-2xl + sync_conflicts + WebKit project
- Fase 10 — H06/H07/H08 + trash restore + account delete + sidebar create
            + reset-from-detail + auto language detection
- Fase 11 — item tags + drag-reorder
- Fase 12 — section visibility (feature flags, JSONB + section_enabled())
- Fase 13 — server admin (/admin, server_admins, audit log, server-layer
            section_enabled extension)
- Fase 14 — PWA auto-update toast + offline polish + version chip

Migrations 015 → 025 (11 new). pgTAP 009 → 017 (9 new files).
Per-fase history docs under docs/history/fase-{9,10,11,12,13,14}-*.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 07:39:54 +02:00
parent 7bf9135f33
commit d9d5f780c1
2 changed files with 9 additions and 9 deletions

View File

@@ -19,14 +19,14 @@
| Fase 6 — Deploy readiness | ✅ Completa (PWA generateSW + manifest + iconos placeholder + Kong rate-limit en invitaciones + rotación JWT dev + rotate-jwt.sh + `.env.erosi.example` + rls-audit.sh + `just lighthouse`). Rate-limit auth retirado — Keycloak brute-force nativa cubre el caso. Push notifications y iconos finales fuera de scope. |
| Fase 7 — Collective-flow E2E tests | ✅ Completa (12 Playwright nuevos O-01..MC-05; 3 bugs latentes corregidos: RPC atómica `create_collective`, restore de `pendingInvitationToken` tras login, hidratación tardía de `$currentCollective` en manage; migración 013 trigger `role/aud` default). |
| Fase 8 — Prod auth hardening | ✅ Completa (migración 014 extiende `role/aud` guard a UPDATE; `logout()` RP-initiated Keycloak end-session + ruta pública `/logged-out`). |
| **MVP2** — Fase 9 → 14 | 📋 Planificada (rama `mvp2`) |
| ↳ Fase 9 — Polish + Dark Mode | 📋 |
| ↳ Fase 10 — Spec completion | 📋 |
| ↳ Fase 11 — Item tags + importance UX | 📋 |
| ↳ Fase 12 — Section visibility | 📋 |
| ↳ Fase 13 — Server administration | 📋 (depende de Fase 12) |
| ↳ Fase 14 — PWA hardening | 📋 (depende de Fase 9.3) |
| Suite de tests (pgTAP + Vitest + Playwright) | ✅ 259 tests verdes (45 pgTAP + 140 integración + 15 unit + 59 E2E) + 1 rate-limit gated (`just test-rate-limit`). 3 skipped en `just test-all`. |
| **MVP2** — Fase 9 → 14 | ✅ Completa (rama `mvp2`, 2026-05-18) |
| ↳ Fase 9 — Polish + Dark Mode | |
| ↳ Fase 10 — Spec completion | |
| ↳ Fase 11 — Item tags + importance UX | |
| ↳ Fase 12 — Section visibility | |
| ↳ Fase 13 — Server administration | |
| ↳ Fase 14 — PWA hardening | |
| Suite de tests (pgTAP + Vitest + Playwright) | ✅ **476 tests verdes** (166 pgTAP + 173 integración + 47 unit + 89 E2E) + 1 rate-limit gated (`just test-rate-limit`). 3 skipped en `just test-all` (2 Realtime presence — upstream `handle_out/3` bug; 1 rate-limit — gated). |
---