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[5]
textbody=m.get('text',m.get('body',''))
for old,new in []:textbody=textbody.replace(old,new)
s=begin(1077,'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':5},['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/06_sp_6.md'
a=artifact(rel,content)
checks={'current_controllers':'182/753' in textbody and 'Terah 145' in textbody,'Cainan_measures':'130' in textbody and '460' in textbody,'companion_scope':'do not create companion birth positions throughout' in textbody}
finish(s,{'section':a,'body_words':len(textbody.split()),'source_references':len(source_notes)},"The source-authority section preserves current LXX and SP choices, Cainan’s distinct measures, local companion scope and the separation of sensitivity from admitted variants.",'Reassess the next explanatory section against its source roles and the sealed calculations.',checks)

