def run(load,check): cum=load('C365_DATA.json')['cumulative_register'];reg=load('C286_DATA.json')['target_register'];joined=set(load('C360_DATA.json')['survivors']);rows=[] for r in load('C319_DATA.json')['rows']: key=f"{r['a']}{r['b']}:i{r['i']}";S=r['S'];N=r['n'];X=S-950;D=N-950;B=N-S xx=[p for p in cum if p['role']=='Noah birth' and p['Cainan']==1 and p['coordinate']==X];ss=[p for p in cum if p['role']=='Shem' and p['Cainan']==1 and p['coordinate']==S] nn=[p for p in reg if p['tradition']=='SP' and p['role']=='Noah birth' and p['center']==N and p['Cainan']==p['Terah60']==0 and p['full430']==1] dd=[p for p in reg if p['tradition']=='SP' and p['role']=='Noah death' and p['center']==D and p['Cainan']==p['Terah60']==0 and p['full430']==1 and nn and p['rail']==nn[0]['rail'] and p['gear']==nn[0]['gear']] check('long-side normal form '+key,B==19*529+2-r['a'] and X+B==D and S+B==N) check('Noah19K equivalent to cumulative2K '+key,(B==19*529)==(r['sides'][0]==2*529)==(r['a']==2)) good=bool(xx and ss and nn and dd and r['joint_admitted'] and B==19*529) rows.append({'key':key,'a':r['a'],'b':r['b'],'i':r['i'],'required_lifespan_translation':B,'source_Noah_birth':xx,'source_Noah_death_seam':ss,'target_Noah_birth':nn,'target_Noah_death':dd,'joint_admitted':r['joint_admitted'],'fixed19K_source_lift':good,'joined_regular_source_map':key in joined,'conjunction':good and key in joined,'all_K':r['allK']}) sig=lambda field:sorted(r['key'] for r in rows if r[field]) check('six fixed19K controls',sig('fixed19K_source_lift')==['20:i3','20:i4','20:i5','22:i3','22:i4','22:i5']) check('four regular controls',sig('joined_regular_source_map')==['02:i3','02:i5','22:i3','22:i5']) check('two conjunction controls',sig('conjunction')==['22:i3','22:i5']) check('conjunction is existing primary allK subset',all(r['all_K'] for r in rows if r['conjunction'])) return {'step':'C368','rows':rows,'survivors':{k:sig(k) for k in ['fixed19K_source_lift','joined_regular_source_map','conjunction']},'counts':{'controls':20,'fixed19K':6,'joined_regular':4,'conjunction':2},'identities':['N-S=19K+2-a','N-S=17K+(q-S)','fixed19K iff cumulative side2K'], 'interpretation':'The source-biography criterion gives a role interpretation ofa2; the joined regular map selects primaryb2. Their conjunction retains22:i3/i5 but supplies no independent source-prescribed coupling beyond the existing numerical criteria.'}