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:
File diff suppressed because one or more lines are too long
@@ -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`.
|
||||||
|
|||||||
Reference in New Issue
Block a user