from research import *
s=begin(890,'Freeze the complete Covenant carrier lift','Which new whole families extend the earlier scalar carrier results?',{},['File63 §§7.2–7.9','C831 and C574–586 novelty controls'])
p=json.loads((ROOT/'prep/covenant_inputs.json').read_text())
bindings=json.loads((ROOT/'evidence/SOURCE_BINDINGS.json').read_text())
for v in p['sources'].values():
 names=[n for n,path in bindings.items() if path==v['path']]
 assert len(names)==1
 assert hashlib.sha256((ROOT/'evidence/sources'/names[0]).read_bytes()).hexdigest()==v['sha256']
a=artifact('model/covenant_inputs.json',json.dumps(p,indent=2,ensure_ascii=False)+'\n')
finish(s,{'packet':a,'tables':len(p['literal_tables']),'code_blocks':len(p['literal_code_blocks'])},'The selected new object is the six typed endpoint pairs and their ordered carrier changes, followed by the retained terminal biography. The older143520 scalar completions are inherited context.','Checkpoint60 actions, then reconstruct the six macro heads from the source-appointed multiplier.',{'four_sources':len(p['sources'])==4,'tables':len(p['literal_tables'])==9})
