from research import *
s=begin(1225,'Derive the Cumulative rectangle radius from the cap','Can the new cap mechanism explain the Cumulative11960 input?',{},['C1223','C1143','C1157','File22 Actual14004'])
pre=json.loads((ROOT/'model/SP_capacity_slack_transfer.json').read_text());cap_loss=sum(pre['lifespan_reductions']);post_loss=2*60;endpoint=14004-cap_loss-post_loss;opening=endpoint+10;radius=opening-1446
a=artifact('model/SP_rectangle_cumulative_provenance.json',json.dumps({'baseline_MT_completion':14004,'cap_generated_loss':cap_loss,'postFlood_Eber_Terah_loss':post_loss,'SP_completion':endpoint,'decade_opening_offset':10,'source_decade_opening':opening,'Exodus_radius':radius,'equation':'(14004-1446)-488-120+10=11960','scope':'Actual completion14004, not Rounded14006; the13406 display is source appointed.'},indent=2)+'\n')
finish(s,{'cumulative_provenance':a,'radius':radius},'The Cumulative input11960 is now traced through the cap-generated488 and the separate Eber/Terah120 reduction, followed by its supplied decade opening. This explains the source mechanism behind the existing endpoint.','Apply the established Keys to the two fully sourced radii and classify what is new.',{'loss608':cap_loss+post_loss==608,'completion13396':endpoint==13396,'opening13406':opening==13406,'radius11960':radius==11960})
