from research import *
s=begin(1153,'Encode every post-Flood row change in the common basis','Does the same pair of operations cover the entire source packet including its exceptions?',{},['C1151–C1152'])
d=json.loads((ROOT/'model/postflood_rows.json').read_text());mt=d['MT_native_OFF']
sp=d['SP_native_OFF_official145'];lx=[r for r in d['LXX_native_ON'] if r['name']!='2nd Cainan']
rows=[]
for t,rr in [('SP',sp),('LXX_OFF',lx)]:
 for a,b in zip(mt,rr):rows.append({'tradition':t,'name':a['name'],'R':b['b']-a['b'],'A':b['L']-a['L'],'delta_r':b['r']-a['r']})
a=artifact('model/postflood_row_operations.json',json.dumps(rows,indent=2)+'\n')
finish(s,{'complete_operations':a,'rows':len(rows),'operation_pairs':sorted(set((r['R'],r['A']) for r in rows))},'All18 shared-row transformations fit the same R/A basis. The exceptional Eber,Nahor andTerah rows receive explicit source coefficients; they are not hidden inside a uniform-century claim.','Test whether three shared amplitudes generate those located coefficients across the whole packet.',{'all18_rows':len(rows)==18,'remainder_identity':all(r['delta_r']==r['A']-r['R'] for r in rows),'matched_order':all(a['name']==b['name']==c['name'] for a,b,c in zip(mt,sp,lx))})
