from research import *
s=begin(1386,'Prepare the final operation inventory','Are the admitted operations and their supports explicitly identified?',{},['deliverables/Operation_Inventory_C1302.json'])
d=json.loads((ROOT/'deliverables/Operation_Inventory_C1302.json').read_text());d['title']='Admitted operation inventory'
d['reader_notes']=['Each operation carries its source object, measurement, domain, moving support and output role.','Composition is admitted only when the next operation receives the required source information.','A shared operation does not imply that two families share the same inputs.','Single reversal applies once to original source components; its output is not a new reversal input in this cycle.']
a=artifact('deliverables/490d_Operation_Inventory_C1431.json',json.dumps(d,indent=2,ensure_ascii=False)+'\n')
finish(s,{'inventory':a,'operations':d['operation_ids']},'The final inventory names twelve operations and preserves their exact supports, domains and information requirements.','Prepare the final relation ledger.',{'twelve':len(d['operation_ids'])==12,'unique':len(set(d['operation_ids']))==12,'modules':all(hashlib.sha256((ROOT/x['path']).read_bytes()).hexdigest()==x['sha256'] for x in d['modules'])})
