"""Verify precise audit updates, preserved sealed deliveries and the reverted active state.""" from pathlib import Path from collections import Counter from datetime import datetime,timezone import csv,hashlib,json,zipfile csv.field_size_limit(20_000_000) ROOT=Path(__file__).resolve().parent.parent DIR=ROOT/'storage/app/private/investmoz-v2/portal-audit' DOC=ROOT/'docs/investmoz/v2/auditoria-portal' OUT=ROOT/'outputs/investmoz-country02-https-activation-20261011' read=lambda p:json.loads(Path(p).read_text(encoding='utf-8-sig')) sha=lambda p:hashlib.sha256(Path(p).read_bytes()).hexdigest() packet=read(DIR/'country-https-active-result-20261011/csv-edits.json') verified=[] for edit in packet['files']: rows=list(csv.reader((DOC/edit['filename']).open(encoding='utf-8-sig',newline=''))) assert len(rows)==len(edit['rows']) patched={p['row']:p['values'] for p in edit['patches']} for i,row in enumerate(rows): expected=list(edit['rows'][i]) for field,value in patched.get(i,{}).items():expected[rows[0].index(field)]=value assert row==expected if i>0:assert row[rows[0].index('Estado')]==edit['rows'][i][rows[0].index('Estado')] assert {rows[i][rows[0].index('ID')] for i in patched}=={'AUD-COUNTRY-02','AUD-OPS-01'} verified.append({'file':edit['filename'],'changed_requirements':2,'states_and_source_references_preserved':True,'sha256':sha(DOC/edit['filename'])}) rows=list(csv.DictReader((DOC/'matriz-requisitos.csv').open(encoding='utf-8-sig',newline=''))) assert len(rows)==len({r['ID'] for r in rows})==3393 assert sum(int(r['Quantidade de linhas de origem']) for r in rows)==6845 baseline=read(DIR/'country-c110-source-latest.json') for name,digest in baseline['baseline_live_sources'].items():assert sha(ROOT/name)==digest,name stage=read(DIR/'country-https-active-stage-latest.json') for file,item in stage['backup_files'].items():assert sha(file)==item['sha256'] for directory in ['investmoz-country02-candidate-20261011','investmoz-country02-c110-20261011','investmoz-country02-https-20261011']: path=ROOT/'outputs'/directory;sealed=read(path/'manifesto-pacote.json') assert sha(path/sealed['archive'])==sealed['archive_sha256'] assert sha(path/'manifesto-candidata.json')==sealed['manifesto_candidata_sha256'] with zipfile.ZipFile(path/sealed['archive']) as archive: assert len(archive.namelist())==sealed['archive_entries'] for name,digest in sealed['verified_members_sha256'].items():assert hashlib.sha256(archive.read(name)).hexdigest()==digest state=read(DIR/'country-https-active-check-reverted-20261011.json') assert state['result']=='passed' and state['country_enabled'] is False assert state['changed_tables']==[] and state['installed_packages']==[] and state['columns']==[] and state['installation_audits']==0 assert state['counts_before']==state['counts_after'] and state['business_rows_preserved'] is True assert state['tables']==288 and state['original_mfa_envelopes_recovered']==2 summary={'result':'passed','at':datetime.now(timezone.utc).isoformat(),'active_installation_performed':False, 'authorization':'13644ed74a48/162daff6ce08 + HTTPS + logout + only050000/COUNTRY02 remains valid', 'authenticated_preview_obtained':False,'active_SQL_changes':0,'original_active_sources_config_manifest_restored':True, 'new_immutable_assets_and_prepared_private_TLS_preserved':True,'sealed_deliveries_unchanged':True, 'backup_readonly_revalidated_at':'2026-10-11T08:03:24+00:00','active_final_readonly_verified_at':state['at'], 'requirements':3393,'source_occurrences':6845,'states':dict(Counter(r['Estado'] for r in rows)), 'AB_C37_and_other_requirement_states_preserved':True,'csv_edits':verified, 'master_write_not_demonstrated_active':'0 legitimate organizations and 0 memberships; no fixtures allowed', 'remaining':'Local CA trust, coordinated normal Laragon Apache reload after restaging, existing authorized manager login/MFA, exact authenticated preview, only050000, audit/flag/profile/logout/new-session proofs'} (OUT/'verificacao-final.json').write_text(json.dumps(summary,ensure_ascii=False,indent=2),encoding='utf-8') print(json.dumps(summary,ensure_ascii=False))