docs: marcheaza T1 + schelet repo done in roadmap

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-06-15 12:04:34 +00:00
parent f1b5f1f80f
commit 97798a3cbc

View File

@@ -186,14 +186,15 @@ necunoscute în nomenclator. Confirmi, apoi scrie în SQLite. Surse: `mapare_pre
Nimic din cod nu e scris încă (`app/`, `tools/` nu există). Ordine recomandată:
- [ ] **T1 (P1, BLOCANT) — verificare contract live.** Un singur `POST /prezentari/postPrezentare` real pe **test**
cu o prezentare minimă validă (status FINALIZATA, sistemReparat `"null"`, fără b64Image/odometruInitial). Capturează:
mesajele de eroare exacte pe constrângeri (VIN cu O/I/Q, dată < 2024-12-01), forma exactă a răspunsului, `data.id`,
acceptarea `sistemReparat:"null"`. **Fă-l ÎNAINTE de a construi suprafața** poate invalida design-ul validării/erorilor.
Verify: 200 + record vizibil în `getAllPrezentariFinalizate`.
- [x] **T1 (P1, BLOCANT) — verificare contract live.** ✅ 2026-06-15. `postPrezentare` real pe test (record `data.id=68514`).
Capturate: format eroare `data:[{field,message}]` + 3 mesaje exacte (VIN O/I/Q, dată veche, dată viitoare),
forma răspuns success, `idPrezentare==id`, `idAgent` server-side, `sistemReparat:"null"` acceptat, `b64Image`/`odometruInitial` omise OK.
**Descoperire: WAF cere `User-Agent` (altfel 403).** Toate detaliile în `docs/api-rar-contract.md`.
- [ ] **T5 (P1) — `tools/import_dbf.py`** dry-run + raport pe `mapare_prestatii.DBF` / `prestatii_rar.DBF`, apoi import în SQLite.
Verify: raport rânduri valide/orfane/coduri necunoscute; import idempotent.
- [ ] **Schelet repo** `app/api/v1`, `app/rar_client.py`, `app/worker`, `app/web`, SQLite (WAL), `docker compose up`, `/healthz` verde.
Verify: raport rânduri valide/orfane/coduri necunoscute; import idempotent. (Stub creat — neimplementat.)
- [x] **Schelet repo** — ✅ 2026-06-15. `app/api/v1`, `app/rar_client.py` (cu User-Agent), `app/worker`, `app/web`, SQLite (WAL),
`Dockerfile` + `docker compose`, `/healthz` verde. Verificat: login prin client OK, nomenclator 18 coduri,
worker heartbeat → `worker_alive=True`, enqueue + dedup idempotency funcționale.
- [ ] **T3 (P1) — validare Pydantic completă** (VIN `^[A-HJ-NPR-Z0-9]{17}$`, nrInm, dată ∈ [2024-12-01,azi] TZ Bucharest,
R-ODO/I-ODO→odometruInitial, `odometruInitial<=odometruFinal`, normalize strip/upper). Verify: unit tests per regulă.
- [ ] **T4 (P1) — payload builder** cu `status:"FINALIZATA"`, `sistemReparat:"null"`, fără `tipPrestatie`, `odometruFinal` string.