"""Bind consumer proofs and checks to the exact candidate files; no database writes.""" from pathlib import Path import hashlib, json from datetime import datetime, timezone root=Path(__file__).resolve().parent.parent private=root/'storage/app/private/investmoz-v2/portal-audit' def text_file(name): b=(private/name).read_bytes() return b.decode('utf-16' if b.startswith(b'\xff\xfe') else 'utf-8-sig') def read(name):return json.loads(text_file(name)) def sha(file):return hashlib.sha256(file.read_bytes()).hexdigest() active='75352185c2a85c34ab726613db864a598e301a5b342ebbc80ac8e678eed17a94' assert sha(root/'public/build/manifest.json')==active build=read('qa-consumer-c96-build-confirmed.json');assert build['native_exit']==0 regression=text_file('qa-consumer-final-regression.log') assert '"result":"passed","tests":19,"passed":19,"assertions":451' in regression policy=text_file('qa-consumer-private-resource-policy-proof.log') assert '"result":"passed"' in policy and '"assertions":7' in policy types=text_file('qa-consumer-c96-types.log') assert 'tsc --noEmit' in types and 'error TS' not in types proof_names=['entity','stats','business','structures-deep','documents','workflow','workflow-files','reviewer-files','corridor-label'] proofs={} for name in proof_names: file='consumer-'+name+'-chromium-20261010.json';p=read(file) assert p['result']=='passed' and p['active_writes']==0 and p['target']=='desk_restore_20261009_174726_test:55441' assert not p.get('javascript_errors'), (name,p.get('javascript_errors')) proofs[file]=sha(private/file) sources=['app/Http/Controllers/LandAssistanceController.php','app/Services/OpportunityCategoryFields.php', 'resources/js/pages/land-assistance/print.tsx','resources/js/layouts/portal-navigation.tsx', 'resources/js/pages/management/opportunity-resources.tsx','resources/js/pages/investment/business-wizard.tsx', 'resources/js/pages/structures/editor.tsx','tests/Feature/LandAssistanceTest.php', 'tests/Feature/OpportunityCanonicalWorkflowTest.php','public/build-qa-opportunities/manifest.json'] scope={'at':datetime.now(timezone.utc).isoformat(),'target':'desk_restore_20261009_174726_test:55441', 'regression_exit':0,'typescript_exit':0,'build_exit':build['native_exit'],'active_writes':0, 'active_manifest_sha256':active,'tested_sources':{f:sha(root/f)for f in sources},'browser_receipts':proofs, 'corrections':['C91','C92','C93','C94','C95','C96'], 'candidate':'consumer increment only; global activation candidate not fixed', 'previous_acceptance_preserved':['C37 QA18 authentication','A/B internal integrated scenarios 320/390px'], 'separate':['full accessibility','real devices','active activation','other categories and consumers']} (private/'consumer-final-scope-qa.json').write_text(json.dumps(scope,ensure_ascii=False,indent=2),encoding='utf-8') print(json.dumps({'result':'passed','browser_receipts':len(proofs),'source_files':len(sources),'active_build_preserved':True,'active_writes':0}))