from research import *
s=begin(1319,'Record the Covenant reconstruction','What is the generative order of Covenant joins and clutch columns?',{},['C1311','C1314','prep/final_Covenant_draft.md'])
r={'family':'Covenant local chronology and cumulative clutch','source_object':'Local event intervals, selected lifespans, Moses terminal, Covenant state and phase','retained_premises':'Minimal Covenant 1866; author-designated full Covenant 2081; ancestry shift 215; exact phase 7/2; qualified source statuses','operation_route':'Build local Regular events → stack six lifespans above Moses → solve Kohath-to-Levi-death shift → generate half and full clutch columns → add phase','complete_result':{'minimum_spans':[161,299,460],'key_radii':[276,299],'common_key_radius':300,'clutch':14,'half_clutch':7,'rows':7,'columns':3,'phases':2},'conserved_or_changed':'Equal 137 lifespans force the second join after the first; translation preserves row intervals.','relation_used':'First join defines shift, second follows from equal lives, third requires Jacob 147=60+77+10.','additional_conditions':'The third join is a source relation, and 460 is the minimal Covenant-to-Conquest span only.','information_loss':'An endpoint-only description hides the complete seven-row translated field.','evidence':['model/primitive_Covenant_module.json','model/relation_Covenant_joins.json','prep/final_Covenant_claim_index.json'],'status':'inheritedcompleteproof'}
a=artifact('model/reconstruction_Covenant.json',json.dumps(r,indent=2)+'\n')
finish(s,{'reconstruction':a},'The Covenant entry explains which joins are forced and which require a further source equality, while reconstructing all 42 coordinates.','Record the count and NT reconstruction.',{'key_join':276*E==299*J==300,'field_size':7*3*2==42,'evidence':all((ROOT/p).exists() for p in r['evidence'])})
Evidence
s1319.py
Edition and provenance
s1319.py
SHA-256 b0ffdcaffe0a3788bbd20fecc02e04dc11d754e3276c0b940b37df0f08233cda
C480–C1634/Research_Cycles/C1132_C1431_Recovered/evidence/s1319.py