Setul de conturi cu parteneri iese din literali si trece in config/conturi_parteneri.csv, cu categorie si motiv. Comportamentul e neschimbat; lipsa fisierului opreste cu eroare, nu cade pe set gol. CONFIG_CONT_IREG ramane consultativ: tools/divergenta_parteneri.py raporteaza divergenta, nu o aplica. Constatarea (27 conturi in Oracle si nu la noi, 3 la noi si nu in Oracle - 5121, 5124, 5311) e scrisa in docs/decizii_import.md. tests/test_regresie.py compara iesirea codului de azi cu tests/golden/ pe valori de celula, prin anonimizatorul refolosit ca functie. Trece pe FUNDATIA si MASTER; verificat ca pica la o schimbare reala de set de conturi. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYeAtVxeS8m4oXekjX8Am2
4.8 KiB
4.8 KiB
Raport lane contract - etapa 2
1. Facut
1.1 config/conturi_parteneri.csv
config/conturi_parteneri.csv:1-10- 9 conturi, antet exactcont,categorie,motiv. Categoriile (BANCA/SINTETIC/FARA_ANALITICE) corespund exact seturilorPARTENER_BANCA/PARTENER_SINTETIC/PARTENER_FARA_ANALITICEde dinainte (genereaza_xlsx.py:46-50).
1.2 genereaza_xlsx.py (singura modificare permisa)
genereaza_xlsx.py:48-49-CONFIG_PARTENERI, cale absoluta fata de fisierul scriptului.genereaza_xlsx.py:56-70-citeste_conturi_parteneri(): citeste CSV-ul la pornire; fisier lipsa sau categorie necunoscuta ->Stopcu mesaj clar (nu cade pe set gol).genereaza_xlsx.py:77-78- cele trei seturi se incarca din CSV la import.LATURA_CREDIT(:43) nu s-a mutat in CSV - neatins.- Verificat bit-identic: regenerare FUNDATIA/MASTER => 0 diferente de celula fata de
init_FUNDATIA_2025_12.xlsx/init_MASTER_2025_12.xlsxdin radacina (76x39, respectiv 81x39).
1.3 Script divergenta fata de Oracle
sql/export_config_cont_ireg.sql-SELECT cont FROM config_cont_ireg WHERE cu_inregistrari = 1, spool CSV cu o coloana (CONT); nume de coloane luate dindocs/config_cont_ireg.md.config/config_cont_ireg_snapshot.csv- snapshot construit o singura data (21.09.2026) dindocs/config_cont_ireg.md:91, cu comentariu in antet despre sursa si data.tools/divergenta_parteneri.py:17citeste config-ul,:30snapshot-ul (ignora liniile#si antetulcont/CONT),:51tipareste cele doua liste. Nu scrie in config, nu se conecteaza la Oracle, doar stdlib.
1.4 docs/decizii_import.md
docs/decizii_import.md:122- sectiune noua "Divergenta fata de CONFIG_CONT_IREG (constatata 21.09.2026)" cu ambele liste complete si comanda de refacere.
1.5 Anonimizator + poarta de regresie
tests/anonimizeaza_etalon.py:49citeste_corespondenta,:54anonimizeaza_foaie,:99anonimizeaza_fisier- functii importabile;:112anonimizeaza()refoloseste acelasi nucleu. Verificat: golden regenerat dininit_*.xlsx= golden comis pe valori de celula (0 diferente), tabela de corespondenta neschimbata.tests/test_regresie.py:44setUpClass(skip daca lipseste tabela,:46),:78_verifica(comparatie pe valori de celula),:115/:118cele doua teste. Scrie xlsx-urile intr-un director temporar, nu peste cele din radacina.
2. Verificari
- Cens octeti: toate fisierele atinse raman ASCII pur (0 octeti > 0x7F inainte si dupa).
Nu s-a atins niciun
.vc2/.sc2/.prg. - Terminatoare de linie:
sql/export_config_cont_ireg.sqlscris CRLF (27 linii). Fisierele.py/.csvLF, ca restul surselor Python existente. - Comanda de test (output exact):
> py -m unittest discover -s tests -v
test_fundatia (test_regresie.TestRegresieEtalon.test_fundatia) ... ok
test_master (test_regresie.TestRegresieEtalon.test_master) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.416s
OK
- Comanda de divergenta (output exact):
> py tools/divergenta_parteneri.py config/config_cont_ireg_snapshot.csv
Conturi comparate: la noi 9, in Oracle 33
In Oracle, nu la noi (27): 1621, 167, 232, 234, 261, 2678, 2691, 403, 404, 408, 409, 4091, 4093, 4094, 4118, 413, 418, 419, 426, 4511, 456, 457, 471, 472, 4754, 542, 8051
La noi, nu in Oracle (3): 5121, 5124, 5311
- Verificat ca mesajul de esec al testului contine fisier, rand, coloana, asteptat si gasit
(simulat cu un golden modificat):
g.xlsx: rand 3, coloana 2: asteptat 'TAMPER', gasit 12. - Verificat ca
SkipTestse declanseaza cand lipsestetests/_corespondenta_anonimizare.json. - Netinse:
init_FUNDATIA_2025_12.xlsx,init_MASTER_2025_12.xlsx(mtime 00:13),tests/golden/*,tests/_corespondenta_anonimizare.json,docs/verificare_*.md,init_facturi_balanta_note.xlsx.
3. Divergenta constatata fata de Oracle
- In Oracle, nu la noi (27):
1621, 167, 232, 234, 261, 2678, 2691, 403, 404, 408, 409, 4091, 4093, 4094, 4118, 413, 418, 419, 426, 4511, 456, 457, 471, 472, 4754, 542, 8051 - La noi, nu in Oracle (3):
5121, 5124, 5311
Aceeasi divergenta e scrisa in docs/decizii_import.md:122.
4. Nefacut / blocat
- SQL-ul nu s-a rulat pe Oracle (interzis in acest lane). Snapshot-ul e construit din
docs/config_cont_ireg.md.tools/divergenta_parteneri.pyciteste si formatul produs de SQL (antetCONT), deci refacerea din Oracle nu cere modificari. - Nimic blocat. Singura modificare in
genereaza_xlsx.pyeste mutarea seturilor de conturi in CSV.
5. Stare periculoasa
Niciuna: fara commit / git add, fara write-back in binar, fara procese ramase, fisierele
init_*.xlsx din radacina si etalonul neatinse. Toate iesirile de test sunt intr-un director
temporar, sters la finalul testului. Un bash.exe.stackdump aparut in timpul sesiunii a fost sters.