from fractions import Fraction as Q from itertools import product def run(load,check): reg=load('C286_DATA.json')['target_register'];controls=load('C319_DATA.json')['rows'];rows=[];ph=[-Q(1,4),Q(1,4)] for r in controls: tag=str((r['a'],r['b'],r['i'])) for off,components in zip(ph,r['components']): check('inherited phase '+tag+str(off),all(Q(x)-v==off for x,v in zip(components,[r['S'],r['q'],r['R'],r['n']]))) N=[z for z in reg if z['tradition']=='SP' and z['role']=='Noah birth' and z['center']==r['n'] and z['Cainan']==0 and z['Terah60']==0 and z['full430']==1][0];g=N['gear'];rail=N['rail'] S=[z for z in reg if z['tradition']=='SP' and z['role']=='Shem birth' and z['gear']==g and z['rail']==rail and z['Cainan']==0 and z['Terah60']==0 and z['full430']==1][0] A=Q(r['R']-500);D=Q(S['center'])+Q(625,529)*(A-S['center']) aa=[z for z in reg if z['tradition']=='MT' and z['role']=='Shem death' and z['center']==A and z['Cainan']==1 and z['Terah60']==1 and z['full430']==1] dd=[z for z in reg if z['tradition']=='MT' and z['role']=='Shem death' and z['center']==D and z['gear']==g and z['Cainan']==0 and z['Terah60']==0 and z['full430']==1] good=bool(aa and dd and r['joint_admitted']) check('translated input width '+tag,S['center']-A==r['sides'][1]) if rail=='companion':check('no MT companion deaths '+tag,not aa and not dd) rows.append({'a':r['a'],'b':r['b'],'i':r['i'],'SP_Shem':S,'translated_input':str(A),'generated_output':str(D),'typed_input_matches':aa,'typed_output_matches':dd,'joint_source_admitted':r['joint_admitted'],'admitted_exact':good}) hit=[r for r in rows if r['admitted_exact']];sig=sorted(f"{r['a']}{r['b']}:i{r['i']}" for r in hit) check('same four primary controls',sig==['02:i3','02:i5','22:i3','22:i5']) squared=[] for r in load('C361_DATA.json')['rows']: z=r['squared_E'];P=z['pivot']['center'];A=z['input']['center'];D=z['output']['center'] for up,ui,uo in product(ph,repeat=3): calc=P+up+Q(625,529)*(A+ui-P-up);ok=calc==D+uo check('squared phase condition '+str((r['i'],up,ui,uo)),ok==(up==ui==uo)) squared.append({'i':r['i'],'offsets':list(map(str,[up,ui,uo])),'exact':ok,'output_error':str(calc-D-uo)}) joined=[] for r in load('C359_DATA.json')['rows']: N,M,R=[x['center'] for x in r['input_records']];_,S,T=[x['center'] for x in r['output_records']] for un,um,ur,us,ut in product(ph,repeat=5): s=N+un+Q(25,23)*(M+um-N-un);t=s+Q(300,299)*(R+ur-M-um);ok=s==S+us and t==T+ut check('joined phase condition '+str((r['i'],un,um,ur,us,ut)),ok==(un==um==ur==us==ut)) joined.append({'i':r['i'],'offsets':list(map(str,[un,um,ur,us,ut])),'exact':ok,'birth_error':str(s-S-us),'death_error':str(t-T-ut)}) check('phase totals',len(squared)==16 and sum(r['exact'] for r in squared)==4 and len(joined)==64 and sum(r['exact'] for r in joined)==4) join_width=(Q(25,23)+Q(300,299))/4;squared_errors=[(Q(625,529)-1)*u for u in ph] check('physical join phase distortion',join_width==Q(625,1196) and join_width-Q(1,2)==Q(27,1196)) check('physical squared phase distortion',squared_errors==[-Q(24,529),Q(24,529)]) return {'step':'C362','source_controls':rows,'source_survivors':sig,'squared_phase_controls':squared,'joined_phase_controls':joined,'counts':{'source_controls':20,'admitted_exact':4,'squared_phase_trials':16,'squared_phase_passes':4,'joined_phase_trials':64,'joined_phase_passes':4},'physical_map_diagnostics':{'joined_Shem_birth_pair_width':str(join_width),'excess_above_halfyear':'27/1196','squared_endpoint_errors':list(map(str,squared_errors))},'interpretation':'Component-preserving comparisons pass only matching inherited offsets. One physical-time map distorts the pair. Flood-close minus500 does not authorize an MT companion death. No phases or source nodes are added.'}