from research import *
s=begin(1102,'Preserve adopted draft versions and clarify register scope','Can the adoption history replay exactly while retaining subsequent editorial clarification?',{},['C1090–C1095','C1058','independent inverse review','evidence/VERSIONED_INPUTS.json'])
paths=['evidence/input_versions/manuscript_covenant_v1.json','evidence/input_versions/manuscript_covenant_v2.json'];v=[json.loads((ROOT/p).read_text()) for p in paths];diff=[k for k in set(v[0])|set(v[1]) if v[0].get(k)!=v[1].get(k)];bindings=[artifact(p,(ROOT/p).read_text()) for p in paths]
note={'draft_history':'Only the preparatory scope note changed during adoption. C1090–C1094 bind exact v1; C1095 binds exact v2. Both versions are preserved and read-only replay validates their recorded hashes without changing any completed step.','register_correction':'C1058 one-trailing-zero wording applies only to the earlier primary two-component theorem. Completed paths also contain1400 and600, each retaining two zeros. The general single-pass operation and C1059 results were correct.','accepted_source_state_corrections':['C952 continuation tail provenance','C983 derivative placement and local path locator','C1031 SupplementA source attribution','C1070 formal translation scope and NT metric locator']}
a=artifact('model/adoption_and_scope_corrections.json',json.dumps(note,indent=2)+'\n')
finish(s,{'version_bindings':bindings,'changed_metadata_fields':diff,'correction_ledger':a},'Exact adopted draft versions now remain available for replay. The completed-path register wording is also clarified: its1400 and600 components retain two zeros; the earlier two-component theorem has a narrower register.','Assemble the complete reader draft using immutable sections and explicit editorial corrections.',{'only_scope_note_changed':diff==['scope_note'],'bodies_unchanged':v[0]['modules']==v[1]['modules'],'original_hashes':[x['sha256'] for x in bindings]==['2192ba1700420439ca53813be08474790a27a916d2ef9a8d0c97d051171f8aa7','b2355a41f23ad18fd9d780c626b5f92f2acc43f6a384082328e1cb1eeec7cb91'],'general_operation':inv(1400)==4100 and inv(600)==600})
