from research import *
s=begin(1389,'Bundle the Strategy four-part presentation','Can the final grammar be inspected as one source-bound artifact?',{},['C1385–C1388'])
names=['Primitive_Data_Register','Operation_Inventory','Relation_Ledger','Reconstruction_Ledger'];parts=[]
for name in names:
 p=f'deliverables/490d_{name}_C1431.json';data=(ROOT/p).read_bytes();parts.append({'component':name,'path':p,'sha256':hashlib.sha256(data).hexdigest(),'content':json.loads(data)})
a=artifact('deliverables/490d_Four_Part_Grammar_C1431.json',json.dumps({'title':'A common construction for the selected chronological families','scope':'Source-bound conditional reconstruction; no claim of global minimality','components':parts,'source_manifest':'evidence/SOURCE_MANIFEST.json'},indent=2,ensure_ascii=False)+'\n')
finish(s,{'grammar_bundle':a},'The four requested components are now available as one complete machine-readable presentation, with each component bound to its final source file.','Write the human-readable four-part overview.',{'four':len(parts)==4,'identities':all(hashlib.sha256((ROOT/x['path']).read_bytes()).hexdigest()==x['sha256'] for x in parts)})
