#!/usr/bin/env python3 """Offline file and claim-boundary verifier. No independent effect-truth attestation.""" import hashlib,json,re,sys from collections import Counter from html.parser import HTMLParser from pathlib import Path PIN='sha256:e59916435390e59ed72c63d6ce368ed7750b23cb5fb28701c4c63972ffdc3425' API='fa0231990d56ad5f329afd3bc9d4bb8a8de50c56c8e54016fdfceb78961474d0' FILES={'index.html','summary.json','METHODS.md','verify_public.py','SHA256SUMS.txt'} CASES={'g1_preflight','g1_epoch_changed_at_commit','g2_preflight','g2_policy_version_changed_at_commit','g3_preflight','g3_context_changed_at_commit','g4_preflight','g4_expired_at_commit','f1_preflight','f1_first_commit','f1_second_evaluation_same_effect_id','f1_second_commit_new_decision_same_effect_id','s1_original_evaluation','s1_superseding_evaluation','s1_successor_commit'} EXPECT={'g1_epoch_changed_at_commit':'REVIEW','g2_policy_version_changed_at_commit':'REVIEW','g3_context_changed_at_commit':'BLOCK','g4_expired_at_commit':'BLOCK','f1_first_commit':'PROCEED','f1_second_commit_new_decision_same_effect_id':'BLOCK','s1_successor_commit':'PROCEED'} def hold(x): raise ValueError('HOLD='+x) class Parse(HTMLParser): def __init__(self):super().__init__();self.links=[];self.rows=[] def handle_starttag(self,t,attrs): a=dict(attrs) if t in ('script','iframe','object','embed','form','img','svg','video','audio','canvas','link'):hold('ACTIVE_HTML') if any(k.lower().startswith('on') for k in a) or 'src' in a:hold('EVENT_HTML') if t=='a':self.links.append(a.get('href','')) if t=='tr' and 'data-case' in a:self.rows.append(a['data-case']) def main(): if len(sys.argv)!=2:hold('DIRECTORY_REQUIRED') d=Path(sys.argv[1]) if d.is_symlink() or not d.is_dir() or {p.name for p in d.iterdir()}!=FILES:hold('FILESET') for p in d.iterdir(): if p.is_symlink() or not p.is_file() or p.stat().st_size>250000:hold('FILETYPE') dig={} for line in (d/'SHA256SUMS.txt').read_text(encoding='ascii').splitlines(): m=re.fullmatch(r'([0-9a-f]{64}) ([A-Za-z0-9_.-]+)',line) if not m or m[2] in dig:hold('MANIFEST') dig[m[2]]=m[1] if set(dig)!=FILES-{'SHA256SUMS.txt'}:hold('MANIFEST_SET') for n,h in dig.items(): if hashlib.sha256((d/n).read_bytes()).hexdigest()!=h:hold('HASH_'+n) j=json.loads((d/'summary.json').read_text(encoding='utf8')) if set(j)!={'package','version','publication_status','public_release_authorized','research_scope','source_model_version','engine_image_id','openapi_sha256','metrics','limits','results'}:hold('TOP_LEVEL') if (j['package']!='E2E_EG_OPEN_LAB_STATIC_PUBLIC_REFERENCE' or j['version']!='0.1.0' or j['publication_status']!='PUBLISHED_STATIC_RESEARCH_REFERENCE' or j['public_release_authorized'] is not True or j['research_scope']!='SCOPED_SYNTHETIC_ENGINE_TRANSCRIPT' or j['source_model_version']!='E2E-Endpoint-Contract/0.2.0' or j['engine_image_id']!=PIN or j['openapi_sha256']!=API):hold('PUBLIC_SCOPE') m=j['metrics'];l=j['limits'] if tuple(m.get(k) for k in ('typed_decisions','source_http_events','source_strict_checks','supported_realized_effects'))!=(15,22,8,0):hold('METRICS') if m.get('dispositions')!={'BLOCK':3,'PROCEED':10,'REVIEW':2}:hold('DISPOSITIONS') expected_limits={'real_effect_executed','third_party_reproduced','independent_physical_oracle','revocation_tested','engine_request_hash_canonicalization_verified','kvm4_host_attested_by_image_node_profile','externally_timestamped_or_signed'} if set(l)!=expected_limits or any(v is not False for v in l.values()):hold('LIMITS') rows=j['results'] if not isinstance(rows,list) or len(rows)!=15 or {r.get('case_id') for r in rows}!=CASES:hold('CASESET') if len({r['case_id'] for r in rows})!=15:hold('DUPLICATES') allowed={'case_id','fact_support','authority_status','execution_disposition','continuity_status','requires_reevaluation'} for r in rows: if (set(r)!=allowed or r['fact_support']!='INDETERMINATE' or r['authority_status'] not in ('AUTHORIZED','UNAUTHORIZED','UNKNOWN') or r['execution_disposition'] not in ('PROCEED','REVIEW','HOLD','BLOCK') or type(r['requires_reevaluation']) is not bool or not isinstance(r['continuity_status'],str) or len(r['continuity_status'])>120):hold('ROW') if r['case_id'] in EXPECT and r['execution_disposition']!=EXPECT[r['case_id']]:hold('EXPECTED_DECISION') if dict(Counter(r['execution_disposition'] for r in rows))!=m['dispositions']:hold('METRIC_CALC') page=(d/'index.html').read_text(encoding='utf8');method=(d/'METHODS.md').read_text(encoding='utf8') if ('STATIC RESEARCH EVIDENCE — MODEL-RELATIVE, NOT CERTIFIED.' not in page or '' not in page or 'default-src \'none\'' not in page or '