Files
TheTree_mock/docs/plans/original-completion-2026-10-02/checkpoints/current-native-diagnostic-r321-r323/054-thetree-plan-r323.py
T

20 lines
3.4 KiB
Python

# coding: utf-8
from pathlib import Path
import importlib.util,json,hashlib,shutil,uuid
R=Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');A=R/'artifacts/original-completion-2026-10-02';O=A/'p23-02-current-native-diagnostic-r323';C=A/'p23-02-current-native-diagnostic-candidate-r321';B=A/'p23-02-current-native-diagnostic-build-r322'
def mod(name,p):
s=importlib.util.spec_from_file_location(name,p);m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m
r=mod('prepare323',R/'tools/run_all_tests.py')
def pin(p):return dict(path=str(p),bytes=p.stat().st_size,sha256=r.sha(p))
assert r.read(B/'execution.json')['passed'] and shutil.disk_usage(A).free>=528*1048576
old=r.read(A/'p23-02-native-guest-bulk-impact-whole-r317-r03/input.json');stage=Path(old['stage']);parent=Path(old['parent']);assert r.inventory(stage,stage=True)==old['expected_stage'];assert r.inventory(parent,stage=True)==old['expected_baseline_stage']
private=Path('/private/tmp')/('thetree-native-diagnostic-r322-'+uuid.uuid4().hex);private.mkdir();lib=private/'libtree_numeric_core.macos.template_debug.dylib'
with lib.open('xb') as f:f.write((B/'libtree_numeric_core.macos.template_debug.dylib').read_bytes())
assert lib.read_bytes()==(B/'libtree_numeric_core.macos.template_debug.dylib').read_bytes()
with (O/'candidate.gdextension').open('x') as f:f.write('[configuration]\nentry_symbol = "tree_numeric_core_init"\ncompatibility_minimum = "4.4"\nreloadable = false\n\n[libraries]\nmacos.debug.arm64 = "'+str(lib)+'"\n')
v=old.copy();fixed={k:q for k,q in old['pins'].items() if k in ['engine','helper','run_all','profile_guard','modified_budget','original_budget','original_path','fixture','oracle','original_clock','QA_base','local_input','local_review','local_root','provider_review','provider_root']}
for k,p in dict(config_candidate=O/'candidate.gdextension',new_library=B/'libtree_numeric_core.macos.template_debug.dylib',library_candidate=lib,prepare=Path(__file__),runner=A/'p23-02-current-native-diagnostic-r323.py',QA=O/'whole.gd',QA_original=A/'p23-02-native-guest-bulk-impact-whole-r317/whole.gd',candidate_input=C/'input.json',candidate_guest=C/'scripts/guest_service.gd',candidate_runtime=C/'scripts/simulation_runtime.gd',starter_candidate=O/'candidate-guarded.gd',build_execution=B/'execution.json',build_input=B/'input.json',diagnostic_cpp=C/'source/tree_numeric_core.cpp',diagnostic_profile=C/'source/native_profile.hpp',diagnostic_api=C/'source/native_profile_api.inc',diagnostic_batch=C/'source/guest_candidate_batch.inc',static_review=A/'p23-02-current-native-diagnostic-static-independent-review-r321.json',static_root=A/'p23-02-current-native-diagnostic-static-root-verification-r321.json').items():fixed[k]=pin(p)
v.update(pins=fixed,source_before=r.source_refs(R),default_before=r.default_player(R),doc4_before={n:r.sha(R/'docs/plans/original-completion-2026-10-02'/n) for n in old['doc4_before']},support_inventory=r.inventory(r.SUPPORT),engine_processes=1,compiler_processes=0,stage_clones=0,full_regression_runs=0,expected_whole_checks=17,scope='One instrumented current313-r02 native tick646->647 and original whole11487732-byte equality; no pair or acceptance.',expected_total_seconds=[2,30],library_copies=1)
with (O/'input.json').open('x') as f:json.dump(v,f,ensure_ascii=False,indent=2);f.write('\n')
print(json.dumps(dict(plan=str(O/'input.json'),pins=len(fixed),private_copy=str(lib),free=shutil.disk_usage(A).free)))