from research import *
s=begin(1316,'Record the SP cap-to-rectangle reconstruction','How do source rows supply the two rectangle radii?',{},['C1223–C1230','C1314'])
r={'family':'SP cap and equal-gain rectangle','source_object':'Native SP births, MT comparison lifespans, inclusive Flood capacity, source frames','retained_premises':'Flood cap uses 600+1; official Terah 145; standard MT frames 4114 and 14004; Conquest 1446; source wrappers 7 and 10','operation_route':'Accumulate native SP births → impose capacity → retain clipped loss → add post-Flood changes → construct framed radii → apply P and J','complete_result':{'nine_cap_losses':[0,0,0,0,0,115,0,249,124],'total_cap_loss':488,'postflood_loss':120,'radii':[2760,11960],'keyed_radii':[2800,12000],'source_nodes':[4206,13406],'keyed_anchor':1406,'keyed_gap':9200,'gap_after_E':10000},'conserved_or_changed':'Both radii gain 40; their difference is retained until E expands it.','relation_used':'Cap loss identity; 3C=13R for equal P/J gains','additional_conditions':'Wrappers and source frames are retained premises; row mechanism alone does not choose them.','information_loss':'Capping loses excess lifespan; rounding can lose residuals separately.','evidence':['model/SP_rectangle_regular_provenance.json','model/SP_rectangle_cumulative_provenance.json','model/SP_rectangle_source_to_keys.json','model/SP_rectangle_wrapper_residual.json'],'status':'newconditionalmechanismorinterface'}
a=artifact('model/reconstruction_SP_rectangle.json',json.dumps(r,indent=2)+'\n')
finish(s,{'reconstruction':a},'The rectangle now has a continuous source-to-result explanation: located SP losses supply its cumulative radius while located age changes supply its Regular radius; the source wrappers close the equal-gain relation.','Write the Rounded Moses reconstruction entry.',{'contract':set(r)==set(json.loads((ROOT/'model/reconstruction_entry_contract.json').read_text())['required']),'loss_sum':sum(r['complete_result']['nine_cap_losses'])==488,'evidence':all((ROOT/p).exists() for p in r['evidence'])})
