chore: curatare agresiva comentarii — scoatere referinte US/PRD din cod si template-uri
Eliminat zgomotul de trasabilitate (US-xxx, PRD x.x, Rn, OV-x, Tn, decizii/naratiune istorica) din 41 fisiere app/ + template-uri. Pastrate comentariile care documenteaza invarianti si logica ne-evidenta (idempotenta/hash, reconciliere anti-duplicat, RAR 500 esec definitiv, creds per cont, WAF User-Agent, 422 fara echo de parola, scope NULL->1), curatate doar de tokeni. Verificare: pentru cele 27 module .py curatate, structura de cod (tokeni non-comentariu/ non-string) e IDENTICA fata de HEAD -> doar comentarii/docstring-uri schimbate. Singura schimbare de cod e in tests/test_web_responsive.py (scos 3 assert pe markeri US-006/007/008, inlocuite de asertiunile structurale alaturate). 0 tokeni US/PRD reziduali in app/. Regresie: 896 passed, 1 deselected. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
"""Modele Pydantic pentru suprafata API.
|
||||
|
||||
ATENTIE: validarea completa (regex VIN ^[A-HJ-NPR-Z0-9]{17}$, nrInmatriculare,
|
||||
dataPrestatie ∈ [2024-12-01, azi] TZ Bucuresti, R-ODO/I-ODO -> odometruInitial
|
||||
obligatoriu, odometruInitial <= odometruFinal, normalizare strip/upper) este
|
||||
**T3** — aici sunt doar formele de baza. Vezi plan.md sect. 2 + roadmap T3.
|
||||
Aici sunt doar formele de baza + normalizare strip/upper. Validarea completa de
|
||||
continut (regex VIN, interval data, R-ODO/I-ODO -> odometruInitial, ordine
|
||||
odometru) este in app.validation.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -20,7 +19,7 @@ class RarCredentials(BaseModel):
|
||||
|
||||
|
||||
class PrestatieItem(BaseModel):
|
||||
"""O operatie de declarat. Contract hibrid (decis 2026-06-15):
|
||||
"""O operatie de declarat. Contract hibrid:
|
||||
|
||||
ROAAUTO poate trimite FIE `cod_prestatie` (cod RAR direct, ex. OE-1), FIE
|
||||
`cod_op_service` (cod intern ROAAUTO) + `denumire` — pe care gateway-ul le
|
||||
@@ -55,7 +54,7 @@ class PrezentareIn(BaseModel):
|
||||
Pydantic doar NORMALIZEAZA aici (strip/upper pe vin/nrInm). Validarea de
|
||||
continut (regex VIN, interval data, R-ODO/I-ODO, odometru) e in
|
||||
app.validation.validate_prezentare si NU resping cererea — marcheaza
|
||||
`needs_data` (plan.md sect. 3).
|
||||
`needs_data`.
|
||||
"""
|
||||
|
||||
vin: str
|
||||
@@ -102,12 +101,12 @@ class SubmissionResult(BaseModel):
|
||||
status: str
|
||||
id_prezentare: int | None = None
|
||||
deduped: bool = False # True daca idempotency a intors un submission existent
|
||||
# US-012 (decizie /autoplan #19): camp ADITIV. True cand un rand `error` cu aceeasi
|
||||
# cheie de continut a fost RE-ACTIVAT (re-clasificat + creds actualizate) la resubmit.
|
||||
# `deduped` pastreaza semantica actuala (clientii vechi care testeaza `deduped` nu se sparg).
|
||||
# Camp aditiv. True cand un rand `error` cu aceeasi cheie de continut a fost
|
||||
# RE-ACTIVAT (re-clasificat + creds actualizate) la resubmit. `deduped` pastreaza
|
||||
# semantica actuala (clientii vechi care testeaza `deduped` nu se sparg).
|
||||
reactivated: bool = False
|
||||
# Raspuns ONEST pentru randuri blocate (PRD 5.7): orice status != 'queued' isi
|
||||
# expune motivul, ca integratorul sa nu trateze un needs_data/needs_mapping drept succes.
|
||||
# Raspuns ONEST pentru randuri blocate: orice status != 'queued' isi expune
|
||||
# motivul, ca integratorul sa nu trateze un needs_data/needs_mapping drept succes.
|
||||
# erori = validare de continut (needs_data), 3 niveluri [{field, cod, problema, cauza, fix, message}].
|
||||
# Pe ramura on_unmapped_error='error' pastreaza COD_NEMAPAT (compat).
|
||||
# nemapate = coduri fara mapare RAR (needs_mapping / respins), 3 niveluri + cod_op_service/denumire.
|
||||
@@ -122,7 +121,7 @@ class PrezentariResponse(BaseModel):
|
||||
|
||||
|
||||
class ValidarePrezentariRequest(BaseModel):
|
||||
"""Body pentru POST /v1/prezentari/valideaza — dry-run fara enqueue (PRD 5.2)."""
|
||||
"""Body pentru POST /v1/prezentari/valideaza — dry-run fara enqueue."""
|
||||
|
||||
rar_credentials: RarCredentials | None = None
|
||||
prezentari: list[PrezentareIn] = Field(..., min_length=1)
|
||||
|
||||
Reference in New Issue
Block a user