"""Negative checks of the evidence validator (not a production reuse guard).""" from copy import deepcopy import json import analyze_context_access as ax def rejected(events): try: ax.analyze_operation(events) except AssertionError: return True return False def main(): examples=json.loads((ax.OUT/'jacobian-200.json').read_text(encoding='utf-8')) original=next(x['events'] for x in examples if x['summary']['group']==6) assert ax.analyze_operation(original)['replayExact'] results={} events=deepcopy(original) index=next(i for i,e in enumerate(events) if e['event']=='write' and e.get('domain')=='pipes' and e.get('field')=='cache->valid') del events[index] results['omitted_equal_value_pipe_valid_store']=rejected(events) events=deepcopy(original) event=next(e for e in events if e['event']=='read' and e.get('field')=='s->rho') event['value']='0000000000000000' results['wrong_consumed_rho']=rejected(events) events=deepcopy(original) event=next(e for e in events if e['event']=='allocate') event['slot']-=1 results['baseline_slot_used_for_shifted_append']=rejected(events) events=deepcopy(original) event=next(e for e in events if e['event']=='write' and e.get('field')=='cache->count') event['value']=(13).to_bytes(8,'little').hex() results['restored_baseline_count']=rejected(events) events=deepcopy(original) event=next(e for e in events if e['event']=='match') event.update(hit=True,slot=0) results['wrong_first_match']=rejected(events) events=deepcopy(original) event=next(e for e in events if e['event']=='valid_test' and e['mask']==8) event['value']=8 results['wrong_valid_bit_result']=rejected(events) assert all(results.values()), results (ax.OUT/'negative-checks.json').write_text(json.dumps(results,indent=2)+'\n',encoding='utf-8') print(json.dumps(results,indent=2)) if __name__=='__main__':main()