docs(5.20): ROADMAP 5.20 LIVRAT + VERIFY PASS + raport VERIFY in PRD

Stadiu Implementare: 5.20 -> LIVRAT (13/13 stories, comituri per story).
PRD sectiunea 8: raport VERIFY (comituri, DROP cu garda 6a-6d, suita
1455 passed, 3 esecuri ne-legate incl. flake nocturn miez-noapte RO).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-07-02 21:05:08 +00:00
parent b1d825e66b
commit cccd032ae4
2 changed files with 31 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@@ -476,3 +476,33 @@ Codex: indisponibil (N/A). DX scor initial: ~6/10 (model API solid + aditiv, dar
| Eroare tinta indisponibila | proza, fara cod | `cod: RAR_MEDIU_INDISPONIBIL` + fix | | Eroare tinta indisponibila | proza, fara cod | `cod: RAR_MEDIU_INDISPONIBIL` + fix |
| Citeste rezultatul | `rar_env` (nume #2) | `rar_env` (acelasi) | | Citeste rezultatul | `rar_env` (nume #2) | `rar_env` (acelasi) |
| Doc | contract fara field/endpoint | contract complet | | Doc | contract fara field/endpoint | contract complet |
## 8. Raport VERIFY — LIVRAT 2026-07-02
Toate 13 stories implementate TDD (RED->GREEN) prin subagenti sonnet; Opus a coordonat,
verificat si comis (git interzis subagentilor; commit dupa fiecare story, dupa incidentul
`git stash` care a distrus munca necomisa in sesiunea anterioara).
### Comituri (in ordine)
- `1648960` US-008 — configurare doua medii per cont + confirmare Productie unica (L.142) + selector default validat post-update.
- `3eaf1ca` fix test stale `test_list_accounts_ordonat_fara_creds` (coloane `requested_plan`/`consent_at`, ne-legat de 5.20).
- `d1978e2` US-011 — statusbar indicator mediu default + toggle la >=2 medii (HTMX, account-scoped) + retragere `badge-env` global din header pt utilizatorul logat.
- `0a1df31` US-010 — badge mediu (`PRODUCȚIE` fill de atentie / `Testare` outline) in liste/preview/detaliu/jurnal + `labels.eticheta_env` + `rar_env` in audit export si `GET /v1/prezentari(/{id})`; statusbar aliniat la aceeasi conventie.
- `3d3eb71` US-012 — audit `rar_env_activat`/`rar_env_dezactivat`/`rar_env_default_schimbat`/`rar_env_blocat` + teste e2e import->queued pe env corect (ambele canale).
- `b1d825e` US-013 — retragerea `accounts.rar_creds_enc`: ~15 citiri mutate pe sloturile per-env, `POST/DELETE /v1/conturi/rar-creds` env-aware (contract aditiv), DROP cu garda.
### DROP cu garda (US-013, cele 4 auto-fixuri)
- **6a**: eliminat `ADD COLUMN rar_creds_enc` din `db.py` (fara ping-pong re-ADD dupa DROP); `schema.sql` fara coloana pe DB fresh.
- **6b**: intreg DROP-ul in `try/except` fail-safe (nu crapa boot-ul ambelor procese) + garda `sqlite_version >= 3.35`.
- **6c**: re-backfill old->new (ancora globala `AUTOPASS_RAR_ENV`) imediat inainte de assert.
- **Garda orfane**: DROP anulat daca vreun `rar_creds_enc` non-null nu a aterizat in niciun slot per-env (fail-safe, fara pierdere de date).
- **Backup** criptat `accounts_rar_creds_enc_backup` inainte de DROP.
- **6d**: verificare prin `PRAGMA table_info(accounts)` (NU grep — `submissions` are aceeasi coloana, ramane neatinsa).
- Idempotenta la boot repetat verificata manual (boot fresh dropeaza; al doilea boot fara re-ADD, fara crash).
### Rezultat suita
`python3 -m pytest -q -m "not live"` -> **1455 passed, 1 deselected (live)**. Cele 3 esecuri sunt NE-legate de 5.20:
- `test_web_responsive::test_login_branded_nu_schelet`, `test_landing_limita_60` — pre-existente (landing/login, semnalate din checkpoint).
- `test_web_status::test_granita_miez_noapte_local_ro` — flake nocturn: testul construieste boundary = `UTC-ziua-trecuta 22:00` si compara cu `date('now','localtime')` in RO; esueaza in fereastra de dupa miezul noptii RO (rulare la 21:02 UTC = 00:02 RO). Bug de test (nu de cod: `_status_counts`/SQL neatins de 5.20), de reparat deterministic separat.
grep `rar_creds_enc` in `app/` = doar referinte pe `submissions` (efemer per-cerere). Contract API actualizat in `docs/api-rar-contract.md`.