Files
MagnetismHeroes/.dryforge/002/execution-support/record-new-completion.py
T
2026-10-10 01:27:54 +09:00

28 lines
1.5 KiB
Python

import hashlib
import json
from pathlib import Path
root = Path('C:/git/MagnetismHeroes')
state_path = root / '.dryforge/execution.json'
state = json.loads(state_path.read_text(encoding='utf-8-sig'))
proof = root / 'artifacts/verification/VisualUpgrade/FinalProduct'
record = json.loads((proof / 'completion.json').read_text(encoding='utf-8-sig'))
audit = json.loads((proof / 'root-final-product-audit.json').read_text(encoding='utf-8-sig'))
assert record['status'] == 'passed' and audit['status'] == 'PASS'
assert record['sourceCommit'] == audit['testedProductSourceCommit']
state['completion'] = {
'productSourceCommit': record['sourceCommit'],
'record': 'artifacts/verification/VisualUpgrade/FinalProduct/completion.json',
'recordSha256': hashlib.sha256((proof / 'completion.json').read_bytes()).hexdigest(),
'fourPhasesExitZero': True,
'productFilesUnchanged': audit['productFileHashesUnchanged'],
'editMode': 103, 'playMode': 53, 'androidGates': 226,
'apkSha256': audit['apkSha256'],
'failedAttemptsPreserved': audit['failedAttemptsPreserved'],
}
review_path = root / '.dryforge/reviews/horizon-fix-conformance.json'
state['final_followup']['reviewSha256'] = hashlib.sha256(review_path.read_bytes()).hexdigest()
state['tasks']['T6'] = 'new_four_phases_passed_documentation_refresh_running'
state_path.write_text(json.dumps(state, ensure_ascii=False, indent=2) + '\n', encoding='utf-8')
print(json.dumps({'status': 'recorded', 'completion': 'passed', 'finalUserGate': 'pending'}))