from research import *
s=begin(1178,'Connect the pre-Flood and post-Flood century changes','Does the same100 amplitude act through different conserved components on declared source blocks?',{},['C1152','C1163','C1177'])
d=json.loads((ROOT/'model/complete_source_row_packet.json').read_text());mt={r['name']:r for r in d['MT']};lx={r['name']:r for r in d['LXX']}
pre=['Adam','Seth','Enosh','Kenan','Mahalalel','Enoch'];post=['Peleg','Reu','Serug'];out={}
for kind,names in [('preFlood',pre),('postFlood',post)]:
 out[kind]=[{'name':n,'delta':[lx[n][k]-mt[n][k] for k in ['b_ledger','r_calculated','L_ledger']]} for n in names]
a=artifact('model/century_operation_across_Flood.json',json.dumps({'blocks':out,'shared_amplitude':100,'preFlood_move':'R100 preserveslife','postFlood_move':'R100 A100 preservesremainder','interpretation':'same amplitude and row grammar, different source-supported invariant'},indent=2)+'\n')
finish(s,{'cross_Flood_century':a},'The six pre-Flood LXX century changes preserve lifespan; the three later changes preserve remainder. The shared100 amplitude connects the blocks through the same row grammar while their different conserved quantities explain different cumulative effects.','Identify the additional source coefficient needed for a complete whole-genealogy model.',{'six_R100':all(x['delta']==[100,-100,0] for x in out['preFlood']),'three_diagonal100':all(x['delta']==[100,0,100] for x in out['postFlood'])})
