from research import *
s=begin(1159,'Separate amplitude recovery from row-support recovery','Can the same total data conceal a different internal life field?',{},['C1158','Strategy §6'])
d=json.loads((ROOT/'model/postflood_rows.json').read_text());lx=[r for r in d['LXX_native_ON'] if r['name']!='2nd Cainan'];mt=d['MT_native_OFF']
changes=[r['L']-m['L'] for r,m in zip(lx,mt)];alternative=changes.copy();alternative[1],alternative[3]=alternative[3],alternative[1]
original=[r['L'] for r in lx];other=[m['L']+x for m,x in zip(mt,alternative)]
a=artifact('model/postflood_support_counterexample.json',json.dumps({'source_life_increments':changes,'diagnostic_increments':alternative,'source_lives':original,'diagnostic_lives':other,'same_total':sum(changes),'changed_rows':['Arphaxad','Eber'],'status':'diagnostic reallocation only; source correspondence not altered'},indent=2)+'\n')
finish(s,{'support_counterexample':a,'same_total':sum(changes)},'Exchanging the27 and40 increments at Arphaxad andEber preserves454 and every regular age while changing two lives and an internal cumulative boundary. The complete source support therefore remains essential.','Examine the repeated early remainder block as a source relation within that support.',{'total_preserved':sum(changes)==sum(alternative)==454,'field_not_preserved':original!=other,'valid_numeric_rows':all(l>=r['b'] for l,r in zip(other,lx))})
