"""Only group 6 / region 288 / position 16, independent real-skip workers.""" from concurrent.futures import ThreadPoolExecutor from pathlib import Path import argparse,hashlib,json,os,re,shutil,subprocess,time import diagnose_context_shadow as shadow ROOT=shadow.ROOT;HERE=Path(__file__).parent BASE=ROOT/'test/local-probe-20260917/worker' ACCESS=ROOT/'test/context-access-20260917/worker' OUT=ROOT/'test/r288-real-skip-20260917' ex=shadow.access.dx.ex replace=shadow.replace def write(path,obj):ex.write(path,obj) def fn(source,name): if name=='ax_test': start=source.index('unsigned ax_test(');end=source.index('\nvoid ax_scalar',start) return source[start:end] if name=='event': start=source.index('static Event *event(');end=source.index('\nstatic int state_pointer',start) return source[start:end] return shadow.access.dx.function(source,name) def core(audit): source=(HERE/'context_shadow_replay.c').read_text(encoding='utf-8') certified=json.loads((shadow.OUT/'worker/build.json').read_text(encoding='utf-8'))['instrumentedHashes']['context_shadow_replay.c'] assert hashlib.sha256(source.encode()).hexdigest()==certified, 'Use the shadow-certified source unchanged.' prefix=source[:source.index('typedef struct {\n unsigned long long total')] prefix=prefix.replace('static void save_environment','static __attribute__((unused)) void save_environment').replace('static void restore_environment','static __attribute__((unused)) void restore_environment') globals=''' static Plan plan; static int phase,position=16,group,configured=16; static unsigned long long jac; static double sim_time,op_inputs[4]; static NativePropertyCache *bound; static NativePipeCache *bound_pipes; static SRContext overlay; static size_t probe_entry_count; static void fatal(const char *s){fprintf(stderr,"real-skip fatal: %s\\n",s);abort();} static void initialize(void){} void sr_native_enter(const char *name){(void)name;if(phase==CANDIDATE)fatal("Candidate called physics");} ''' names=['locate','event','state_pointer','floating_field','ax_access','sr_or','ax_bind','ax_begin','ax_query','ax_match','ax_new','ax_test','ax_scalar','path_of_plan','ax_end','ax_result','from_live','same_medium_key','first_match','map_slot','scalar_lookup','state_read_equal','replay_overlay'] parts=[prefix,globals]+[fn(source,n) for n in names] result='\n'.join(parts).replace('(size_t)slot