from research import *
family="sp"
p=ROOT/'prep/manuscript_sp.json'
packet=json.loads(p.read_text());modules=packet if isinstance(packet,list) else packet['modules'];m=modules[2]
textbody=m.get('text',m.get('body',''))
for old,new in []:textbody=textbody.replace(old,new)
s=begin(1074,'Manuscript: '+m['title'],'Does this section accurately connect its complete source family to the shared explanation?',{'draft_sha256':hashlib.sha256(p.read_bytes()).hexdigest(),'module_index':2},['C1071','prep/manuscript_sp.json'])
sources=m.get('sources',[]);source_notes=[]
for x in sources:
if isinstance(x,str):source_notes.append(x)
else:source_notes.append(x.get('file','')+' '+(', '.join(x.get('sections',[])) if 'sections' in x else x.get('section','')))
steps=m.get('steps',[])
if not steps and family=='round':steps=['C932–C952','C1058–C1068']
content='### '+m['title']+'\n\n'+textbody+'\n\n*Sources:* '+'; '.join(source_notes)+'.\n\n*Research record:* '+', '.join('C'+str(x) if isinstance(x,int) else str(x) for x in steps)+'.\n'
rel='deliverables/sections/03_sp_3.md'
a=artifact(rel,content)
checks={'recovery':653-601==52 and 720-653==67 and 847-720-65==62,'conditional_Enoch':'independently supplied 65' in textbody,'unconstrained_early':'earlier five' in textbody}
finish(s,{'section':a,'body_words':len(textbody.split()),'source_references':len(source_notes)},"The inverse-age explanation distinguishes three recovered quantities from the held Enoch row, making its conditional and local character clear.",'Reassess the next explanatory section against its source roles and the sealed calculations.',checks)
Evidence
s1074.py
Edition and provenance
s1074.py
SHA-256 631edfd6cb1c5646ec679ee9380e2293236733d83610e4c450aec3fc6053f8bb
C480–C1634/Research_Cycles/C0932_C1131/evidence/s1074.py