feat(5.15+5.14): CLOSE — fix-uri code-review + embeddings functional

5.15 (propagare design + dashboard editare) si 5.14 (mapare LLM distilata)
inchise dupa /code-review high. 8 buguri reparate TDD:

- HIGH modal nu se deschidea pe randul slim (base.html: trimitere-slim)
- HIGH /repune trunchia prestatii (declaratie incompleta la RAR) -> iterare
  peste existing, codes pozitional
- HIGH embeddings incarca model ~230MB degeaba pe corpus gol -> poarta has_corpus()
- HIGH picker chips gol pe re-render eroare -> conn/account_id pe toate ramurile
- MED obs re-derivat dupa stergere explicita -> _merge_override pastreaza obs=''
- MED mapare salvata fara denumire poluă GOLD -> _record_gold_validation guard
- MED typo nome_prestatie -> nume_prestatie in select /repune
- MED bucketare timp +3h gresita iarna -> SQLite localtime + TZ=Europe/Bucharest

Embeddings WIRE-uit functional (PRD #15, decizie user): ensure_embeddings_corpus
construieste corpus din nomenclator, gated pe AUTOPASS_EMBEDDINGS_ENABLED (default
off). Marime model corectata ~50MB->~230MB (estimare PRD gresita).

Cleanup: hoist load_* din bucla bulk-fix; import re la top.
Regresie: 1256 passed, 1 deselected (live), 0 failed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-06-28 20:48:34 +00:00
parent 9e42e7ed6f
commit 3fc53534e2
53 changed files with 9684 additions and 384 deletions

View File

@@ -231,8 +231,9 @@ def test_camp_apare_o_singura_data(client):
def test_nr_si_vin_pe_randuri_separate(client):
"""Nr. inmatriculare pe rand propriu, VIN dedesubt ambele inputuri latime plina,
nr. inaintea VIN-ului in markup."""
"""VIN si Nr. inmatriculare sunt ambele prezente ca inputuri separate in formular.
US-007 (PRD 5.15): VIN apare PRIMUL in markup (formular slim), nr. inmatriculare
in grila 2-col dupa VIN."""
acct = _create_account_user("u2@test.com")
sid = _insert(acct, status="needs_data", payload=_payload("WVWZZZ1JZXW0U2001", odo=""))
_login(client, "u2@test.com")
@@ -241,7 +242,7 @@ def test_nr_si_vin_pe_randuri_separate(client):
poz_nr = html.find('name="nr_inmatriculare"')
poz_vin = html.find('name="vin"')
assert poz_nr != -1 and poz_vin != -1
assert poz_nr < poz_vin # nr. apare inaintea VIN-ului (rand propriu, VIN dedesubt)
assert poz_vin < poz_nr # US-007: VIN apare primul (slim form), nr. dupa in grila 2-col
def test_un_singur_buton_primar_per_stare(client):