diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/README.md b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/README.md new file mode 100644 index 0000000..97a3ad7 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/README.md @@ -0,0 +1,11 @@ +# P23-02 native ready-route r302–r305 checkpoint + +コミット時点の未採用候補と有限検証を保存する。制作実装と採用親 r274/library275 は保持。候補 r302 は exact builtin Path の compact parent 経路復元と typed route の複製を native で行い、条件外では元の GDScript helper に戻る。候補ソース・準備 author・実行 driver・版付き input・レビュー・全文 fixture とログを manifest で固定する。 + +r302 静的レビュー、r303 の bridge compile/link と実出力の独立レビュー、r304-r02 局所 252成功/0失敗を保存。局所は既存15ケースと新しい ready-route 8ケースを含み、直接の原 Path helper 比較、型・readonly・所有と複製後の変更分離を列挙条件で確認した。未変更の tag 1028 行列は重複実行していない。r304 は connector がない準備不備を実行前レビューで拒否し、未実行の記録を保持。r304-r02 は既存 connector と batch active 確認を加えて実行した。 + +r305 は S6 と同一条件で代表 whole を比較する driver の準備・実行前独立レビュー・root pin 照合まで。コミット時点で未実行。whole 同値、全体速度利益、50ms/P95/D10、必須最終版全回帰、一般再入、invalid shape/index/type fallback、途中の custom/script 置換は未受入。candidate r302/library303 は未採用。テスト成功数を成果単位完了へ換算しない。 + +正式完了追加0。30パッケージ/88成果、正式9/着手19/予定60、部分点なし。P23-02 は着手中、原17条件 C01–C09/X1–X8 は全て未受入。Windows C08/X8 のみブロック。手動 Ctrl 保持 wheel と左保持 drag は延期・免除なし。次に閉じる1件は引き続き P23-02。次の検証は準備済み r305 の1比較を行い、全体利益と同値から候補の扱いを決める。 + +現在の正式台帳 r301 と過去証拠を変更せず、この checkpoint に現在の候補段階を追加保存する。完了や採用を宣言する台帳更新は行っていない。大きな JSON は gzip 復元後の全文一致を検証した。SDK、engine、stage、生成 object と dylib は同梱せず、元ローカル artifacts の版付き参照と出力 hash を保持するため、単独実行パッケージではない。保存 GDScript は親 .gdignore により本体走査から除外される。 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-build-r303.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-build-r303.py new file mode 100644 index 0000000..96a8b33 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-build-r303.py @@ -0,0 +1,16 @@ +from pathlib import Path +import ast,json +R=Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');A=R/'artifacts/original-completion-2026-10-02';old=A/'p23-02-native-pure-tag-projection-build-r275.py';p=A/'p23-02-native-ready-route-build-r303.py';assert not p.exists() +text=old.read_text() +for oldname,newname in [('p23-02-native-pure-tag-projection-candidate-r274','p23-02-native-ready-route-candidate-r302'),('p23-02-native-pure-tag-projection-static-independent-review-r274','p23-02-native-ready-route-static-independent-review-r302'),('p23-02-native-pure-tag-projection-static-root-verification-r274','p23-02-native-ready-route-static-root-verification-r302'),('p23-02-native-pure-tag-projection-build-preexecution-independent-review-r275','p23-02-native-ready-route-build-preexecution-independent-review-r303'),('p23-02-native-pure-tag-projection-build-preexecution-root-verification-r275','p23-02-native-ready-route-build-preexecution-root-verification-r303'),('p23-02-native-pure-tag-projection-build-preview-r275','p23-02-native-ready-route-build-preview-r303'),('p23-02-native-pure-tag-projection-build-r275','p23-02-native-ready-route-build-r303')]:text=text.replace(oldname,newname) +text=text.replace('r274 pure builtin tag projection','r302 builtin compact ready-route materialization').replace('current canonical184','current canonical301').replace('Exact modified r265-r03 WALK provider bridge','Exact modified r302 compact ready-route materialization bridge');ast.parse(text);p.write_text(text) +v=json.loads((A/'p23-02-native-pure-tag-projection-build-preview-r275.json').read_text()) +def rewrite(x): + if isinstance(x,str):return x.replace('p23-02-native-pure-tag-projection-candidate-r274','p23-02-native-ready-route-candidate-r302').replace('p23-02-native-pure-tag-projection-build-r275','p23-02-native-ready-route-build-r303') + if isinstance(x,list):return [rewrite(y) for y in x] + if isinstance(x,dict):return {k:rewrite(y) for k,y in x.items()} + return x +v=rewrite(v);v['scope']='Same authenticated compiler/options/SDK archive as275; only r302 candidate and r303 output paths changed. 1 bridge compile +1 link, SDK compile0, engine0, unadopted.' +p=A/'p23-02-native-ready-route-build-preview-r303.json' +with p.open('x') as f:json.dump(v,f,ensure_ascii=False,indent=2);f.write('\n') +print('prepared303 build runner/preview; no compiler/engine runs') diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-impact-whole-r305.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-impact-whole-r305.py new file mode 100644 index 0000000..e652a62 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-impact-whole-r305.py @@ -0,0 +1,21 @@ +from pathlib import Path +import ast,importlib.util,json,shutil,sys +sys.dont_write_bytecode=True +R=Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');A=R/'artifacts/original-completion-2026-10-02';D=R/'docs/plans/original-completion-2026-10-02';O=A/'p23-02-native-ready-route-impact-whole-r305';driver=A/'p23-02-native-ready-route-impact-whole-r305.py' +s=importlib.util.spec_from_file_location('prep305',R/'tools/run_all_tests.py');r=importlib.util.module_from_spec(s);s.loader.exec_module(r) +def pin(p):return dict(path=str(p),bytes=p.stat().st_size,sha256=r.sha(p)) +assert not O.exists() and not driver.exists();assert shutil.disk_usage(A).free>=528*1048576 +old=A/'p23-02-native-pure-tag-impact-whole-r281';plan=r.read(old/'input.json');current=r.read(A/'p23-02-native-ready-route-local-r304-r02/input.json');baseline=r.read(A/'p23-02-native-pure-tag-local-r278-r04/input.json');review=A/'p23-02-native-ready-route-local-actual-independent-review-r304-r02.json';root=A/'p23-02-native-ready-route-local-r304-r02/actual-root-verification.json' +assert r.read(review)['finite_local_equivalence_accepted'] and not r.read(review)['blockers'];assert r.read(root)['passed'] and r.read(root)['review_sha256']==r.sha(review);assert plan['expected_stage']==current['expected_stage']==baseline['expected_stage'];stage=Path(plan['stage']);parent=Path(plan['parent']);assert r.inventory(stage,stage=True)==r.inventory(parent,stage=True)==plan['expected_stage'];O.mkdir() +baseconf=baseline['pins']['config'];newconf=current['pins']['config'];qa=(old/'whole.gd').read_text().replace('r265-r03/library266-r02 versus r274/library275','r274/library275 versus r302/library303').replace('baseline r265-r03/library266-r02 versus pure tag r274/library275','baseline r274/library275 versus ready-route r302/library303');whole=O/'whole.gd';whole.write_text(qa) +s6=(old/'s6-guarded.gd').read_text();oldconf=plan['pins']['config_candidate']['path'];assert s6.count(oldconf)==1;(O/'s6-guarded.gd').write_text(s6.replace(oldconf,newconf['path'])) +for mode,conf in [('baseline',baseconf),('candidate',newconf)]: + text=(old/'candidate-guarded.gd').read_text();text=text.replace(text.splitlines()[0],'extends '+json.dumps(str(whole)),1);encoded=json.dumps(oldconf);assert text.count(encoded)==1;text=text.replace(encoded,json.dumps(conf['path']));(O/(mode+'-guarded.gd')).write_text(text) +oldrunner=A/'p23-02-native-pure-tag-impact-whole-r281.py';runner=oldrunner.read_text().replace('p23-02-native-pure-tag-impact-whole-r281','p23-02-native-ready-route-impact-whole-r305').replace('p23-02-native-pure-tag-impact-whole-preexecution-independent-review-r281','p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305');ast.parse(runner);driver.write_text(runner) +pins={k:plan['pins'][k] for k in ['engine','helper','run_all','profile_guard','modified_budget','original_budget','original_path','fixture','oracle','original_s6','original_clock','QA_base','whole_original_input','whole_prior_review','prior_combined_input','prior_combined_review']} +pins.update(config_baseline=baseconf,library_baseline=baseline['pins']['copied_library'],config_candidate=newconf,new_library=current['pins']['original_library'],library_candidate=current['pins']['copied_library']) +paths=dict(prepare=Path(__file__),runner=driver,QA=whole,QA_original=old/'whole.gd',prior_driver=oldrunner,prior_input=old/'input.json',prior_review=A/'p23-02-native-pure-tag-impact-whole-actual-independent-review-r281.json',prior_root=old/'actual-root-verification.json',current_local_input=A/'p23-02-native-ready-route-local-r304-r02/input.json',local_review=review,local_root=root,candidate_input=A/'p23-02-native-ready-route-candidate-r302/input.json',host_review=A/'p23-02-native-ready-route-build-actual-independent-review-r303.json',host_root=A/'p23-02-native-ready-route-build-actual-root-verification-r303.json',baseline_local_input=A/'p23-02-native-pure-tag-local-r278-r04/input.json',baseline_local_review=A/'p23-02-native-pure-tag-local-actual-independent-review-r278-r04.json',baseline_local_root=A/'p23-02-native-pure-tag-local-r278-r04/actual-root-verification.json',current_matrix=A/'p23-02-current-progress-disposition-r301.json',provider_review=A/'p23-02-native-provider-fallback-static-independent-review-r280.json',provider_root=A/'p23-02-native-provider-fallback-static-root-verification-r280.json') +for mode in ['s6','baseline','candidate']:paths['starter_'+mode]=O/(mode+'-guarded.gd') +for k,p in paths.items():pins[k]=pin(p) +for q in pins.values():assert pin(Path(q['path']))==q +plan.update(pins=pins,source_before=r.source_refs(R),default_before=r.default_player(R),doc4_before={n:r.sha(D/n) for n in ['IMPLEMENTATION_PLAN.md','PROGRESS_INTEGRATION.md','work_packages.json','progress_snapshot.json']},support_inventory=r.inventory(r.SUPPORT),expected_total_seconds=[8,60],scope='Original unchanged S6/GameClock24 on r302/library303; only if pass one adjacent baseline274/library275 versus candidate302/library303 cold646 paused speed1 whole64715 each. Same physical209/parent239 original1299 stage, Budget257 transient same all three phases, original Path/Guest without counters. Full11487732bytes original oracle required. Current301 source/default/D4/SUPPORT/stages preserved; restoration after owned end. Existing private libraries/configs reused, no SDK/bridgecompile/librarycopy/stageclone/localrepeat/full172. One finite timing pair is not stable/P95/D10/50ms/Main/render/OS/x3/Windows/adoption/unit acceptance. Unsupported shape/index conversion and mid-call custom/script replacement remain uncovered before adoption.');r.write(O/'input.json',plan);print(dict(prepared=True,pins=len(pins),engine_runs=0,compiler_runs=0,free_bytes=shutil.disk_usage(A).free)) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304-r02.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304-r02.py new file mode 100644 index 0000000..98c1a43 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304-r02.py @@ -0,0 +1,83 @@ +from pathlib import Path +import ast,json,importlib.util,sys,shutil,uuid +sys.dont_write_bytecode=True +R=Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');A=R/'artifacts/original-completion-2026-10-02';D=R/'docs/plans/original-completion-2026-10-02';O=A/'p23-02-native-ready-route-local-r304-r02';QA=A/'p23-02-native-ready-route-local-r304-r02.gd';driver=A/'p23-02-native-ready-route-local-r304-r02.py';assert not O.exists() and not QA.exists() +s=importlib.util.spec_from_file_location('prep304',R/'tools/run_all_tests.py');r=importlib.util.module_from_spec(s);s.loader.exec_module(r) +def pin(p):return dict(path=str(p),bytes=p.stat().st_size,sha256=r.sha(p)) +review=A/'p23-02-native-ready-route-build-actual-independent-review-r303.json';root=A/'p23-02-native-ready-route-build-actual-root-verification-r303.json';assert r.read(review)['host_build_accepted'] and not r.read(review)['blockers'];assert r.read(root)['passed'] and r.read(root)['review_sha256']==r.sha(review);assert shutil.disk_usage(A).free>=528*1048576 +stage=A/'p23-02-native-reconstruction-local-r209/stage';parent=A/'p23-02-native-local-names-candidate-r239/stage';inventory=r.inventory(stage,stage=True);assert inventory==r.inventory(parent,stage=True);O.mkdir() +base=A/'p23-02-native-guest-pipeline-boundaries-r195.gd';text=base.read_text() +classes='''const ROUTE_CASES := ["ordinary", "goal_only", "cycle_limit", "negative_terminal", "readonly_cells", "readonly_indices", "untyped_cells", "noncompact"] +var route_records: Array = [] +func route_setup(label: String) -> Dictionary: + setup("ordinary") + var p=runtime.path_service + check(p.configure_connector(&"finite.route.connector",Vector3i.ZERO,Vector3i(1,0,0)),label+" finite default-cost connector configured") + var goal := Vector3i.ZERO if label == "goal_only" else Vector3i(2,0,0) + var goals: Array=[goal] + p.begin_guest_path_query_batch(Vector3i.ZERO,goals) + var active: bool=not p._query_batch.is_empty() and p._query_batch[&"start"]==Vector3i.ZERO and p._query_batch[&"targets"].has(goal) + check(active,label+" actual ready batch start and target active") + if not active: return {} + var layers: Array[int]=[0,1] + var access: Array[StringName]=[] + var tree: Dictionary=p._build_guest_query_tree_compact(Vector3i.ZERO,p._query_batch[&"targets"],layers,access) + if label == "cycle_limit": + var parents: PackedInt64Array=tree[&"parent_indices"] + parents[1]=2;parents[2]=1;tree[&"parent_indices"]=parents + elif label == "negative_terminal": + var parents: PackedInt64Array=tree[&"parent_indices"] + parents[2]=-99;tree[&"parent_indices"]=parents + elif label == "readonly_cells": tree[&"cells"].make_read_only() + elif label == "readonly_indices": tree[&"indices"].make_read_only() + elif label == "untyped_cells": + var cells: Array=[];cells.append_array(tree[&"cells"]);tree[&"cells"]=cells + elif label == "noncompact": + tree[&"compact"]=false + tree[&"parents"]={Vector3i(1,0,0):Vector3i.ZERO,Vector3i(2,0,0):Vector3i(1,0,0)} + tree[&"costs"]={Vector3i.ZERO:0,Vector3i(1,0,0):100,Vector3i(2,0,0):200} + p._query_batch[&"tree"]=tree;p._query_batch[&"ready"]=true;p._query_batch[&"arithmetic_wrapped"]=false + return {"path":p,"goal":goal,"goals":goals,"layers":layers,"access":access,"tree":tree} +func route_case(label: String) -> void: + var input: Dictionary=route_setup(label) + if input.is_empty(): return + var p=input["path"] + var before: PackedByteArray=var_to_bytes(input["tree"]) + var actual: Dictionary=core.nearest_guest_access(p,Vector3i.ZERO,input["goals"],input["goal"],input["layers"],input["access"],Callable(Time,"get_ticks_usec")) + check(bool(actual.get(&"supported",false)),label+" ready route actual native selected") + check(var_to_bytes(input["tree"])==before and (label!="readonly_cells" or input["tree"][&"cells"].is_read_only()) and (label!="readonly_indices" or input["tree"][&"indices"].is_read_only()),label+" ready route original tree and readonly unchanged") + var got_bytes: PackedByteArray=var_to_bytes(actual) + var after: PackedByteArray=var_to_bytes(state()) + var route: Array=actual[&"path"] + var key: String=p._cache_key(Vector3i.ZERO,input["goal"],input["layers"],input["access"]) + var cached: Array=p._path_cache[key] + check(route.is_typed() and route.get_typed_builtin()==TYPE_VECTOR3I and not route.is_read_only() and cached.is_typed() and cached.get_typed_builtin()==TYPE_VECTOR3I and not cached.is_read_only() and not is_same(route,cached),label+" fresh writable typed path and separate cache copy") + var cache_before: PackedByteArray=var_to_bytes(p._path_cache) + route[0]=Vector3i(99,99,0) + check(var_to_bytes(p._path_cache)==cache_before,label+" returned path mutation leaves cache unchanged") + var returned_before: PackedByteArray=var_to_bytes(route) + cached[0]=Vector3i(77,77,0) + check(var_to_bytes(route)==returned_before,label+" cache copy mutation leaves returned path unchanged") + input=route_setup(label) + if input.is_empty(): return + p=input["path"];before=var_to_bytes(input["tree"]) + var expected: Dictionary=p._query_nearest_guest_access_without_native(Vector3i.ZERO,input["goals"],input["goal"]) + check(var_to_bytes(expected)==got_bytes,label+" full original ordered typed ready-route result") + check(var_to_bytes(state())==after,label+" full Runtime cache counters errors and signals equal") + check(var_to_bytes(input["tree"])==before,label+" original fallback tree unchanged") + route_records.append({"case":label,"expected":expected,"actual":bytes_to_var(got_bytes)}) +''' +assert text.count('func run() -> void:')==1;text=text.replace('func run() -> void:',classes+'\nfunc run() -> void:',1) +assert text.count('\tcore=null')==1;text=text.replace('\tcore=null','\tfor label: String in ROUTE_CASES: route_case(label)\n\tvar route_payload := typed("ready-route-fixtures",route_records)\n\tcore=null',1) +text=text.replace('"case_count":CASES.size(),','"case_count":CASES.size(),"ready_route_cases":ROUTE_CASES.size(),"ready_route_fixtures":route_payload,',1).replace('Guest pipeline boundaries: ','Ready route local: ');QA.write_text(text) +oldO=A/'p23-02-native-pure-tag-local-r278-r04';oldplan=r.read(oldO/'input.json');oldconfig=Path(oldplan['pins']['config']['path']);oldlib=oldplan['pins']['copied_library']['path'];newlib=Path(r.read(A/'p23-02-native-ready-route-build-r303/execution.json')['library']['path']);ascii_dir=Path('/private/tmp')/('TheTree-ready-route-r304-r02-'+uuid.uuid4().hex);ascii_dir.mkdir();copy=ascii_dir/'candidate.dylib';shutil.copyfile(newlib,copy);assert copy.read_bytes()==newlib.read_bytes();ct=oldconfig.read_text();assert ct.count(oldlib)==2;config=O/'candidate.gdextension';config.write_text(ct.replace(oldlib,str(copy))) +starter=O/'candidate-guarded.gd';st=Path(oldplan['pins']['starter_boundaries']['path']).read_text();st=st.replace(json.dumps(str(Path(oldplan['pins']['QA']['path'])))[1:-1],json.dumps(str(QA))[1:-1]).replace(json.dumps(str(oldconfig))[1:-1],json.dumps(str(config))[1:-1]);assert 'r278-r04.gd' not in st;starter.write_text(st) +oldrunner=A/'p23-02-native-pure-tag-local-r278-r04.py';runner=oldrunner.read_text().replace('p23-02-native-pure-tag-local-r278-r04','p23-02-native-ready-route-local-r304-r02').replace('p23-02-native-pure-tag-local-preexecution-independent-review-r278-r04','p23-02-native-ready-route-local-preexecution-independent-review-r304-r02').replace('r274-library275','r302-library303') +runner=runner.replace("assert report['case_count']==15 and report['tag_matrix_cases']==1028 and report['callback_cases']==2", "assert report['case_count']==15 and report['ready_route_cases']==8") +runner=runner.replace("unpack(report['tag_fixtures'])", "unpack(report['ready_route_fixtures'])") +runner=runner.replace('Fifteen original boundary fixtures plus1028 tag combinations and2 actual script-change callback fixtures compare','Fifteen original projection boundary fixtures plus8 compact ready-route boundary fixtures compare').replace('tag matrix full Runtime state is compared only for empty/all-tag, while all cases compare full candidates and recorded Path effects.','ready route cases compare full Runtime and Path state, ownership, typed/readonly, cache and ordered results; invalid shape and mid-call script-change execution remains uncovered.') +ast.parse(runner);driver.write_text(runner) +legacy=r.read(A/'p23-02-native-guest-pipeline-boundaries-r195/input.json');pins={k:oldplan['pins'][k] for k in ['engine','helper','run_all','profile_guard']};pins.update({k:legacy['pins'][k] for k in ['fixture','oracle']}) +paths=dict(QA=QA,QA_parent=base,QA_base=A/'p23-02-build-preview-monitor-compressed-r06.gd',runner=driver,author=Path(__file__),starter_boundaries=starter,config=config,original_library=newlib,copied_library=copy,host_review=review,host_root=root,host_execution=A/'p23-02-native-ready-route-build-r303/execution.json',candidate_input=A/'p23-02-native-ready-route-candidate-r302/input.json',source_cpp=A/'p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp',original_runtime=stage/'autoload/simulation_runtime.gd',original_path=stage/'scripts/world/path_service.gd',original_budget=stage/'scripts/core/performance_budget.gd',old_config=oldconfig,old_starter=Path(oldplan['pins']['starter_boundaries']['path']),prior_input=oldO/'input.json',prior_driver=oldrunner,current_matrix=A/'p23-02-current-progress-disposition-r301.json',rejected_predecessor=A/'p23-02-native-ready-route-local-preexecution-independent-review-r304.json',rejected_input=A/'p23-02-native-ready-route-local-r304/input.json') +for k,p in paths.items():pins[k]=pin(p) +r.write(O/'input.json',dict(pins=pins,stage=str(stage),parent=str(parent),expected_stage=inventory,source_before=r.source_refs(R),default_before=r.default_player(R),doc4_before={n:r.sha(D/n) for n in ['IMPLEMENTATION_PLAN.md','PROGRESS_INTEGRATION.md','work_packages.json','progress_snapshot.json']},support_inventory=r.inventory(r.SUPPORT),specs=[dict(name='boundaries',label='Ready route local: ',expected_checks=252)],capacity_floor_bytes=528*1048576,maximum_growth_bytes=16*1048576,expected_seconds=[3,30],watchdog_seconds=90,engine_processes=1,compiler_runs=0,stage_clones=0,expected_checks_basis='original139 +8*(2 graph setup+4 connector/batch setup+8 assertions)+1 route codec=252',ready_route_cases=8,scope='New binary local differential vs original Runtime loop and original Path nearest helper, cycle/limit/readonly/typed/cache ownership; no whole/performance/adoption/unit acceptance. Invalid shape/index conversion, mid-call custom/script replacement remain uncovered and required before adoption. Unchanged1028 pure tag matrix not repeated, no claim old full binary evidence applies to302.',unit_accepted=False));print(dict(prepared=True,pins=len(pins),cases=8,expected_checks=252,engine_runs=0)) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304.py new file mode 100644 index 0000000..ab66a01 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304.py @@ -0,0 +1,76 @@ +from pathlib import Path +import ast,json,importlib.util,sys,shutil,uuid +sys.dont_write_bytecode=True +R=Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');A=R/'artifacts/original-completion-2026-10-02';D=R/'docs/plans/original-completion-2026-10-02';O=A/'p23-02-native-ready-route-local-r304';QA=A/'p23-02-native-ready-route-local-r304.gd';driver=A/'p23-02-native-ready-route-local-r304.py';assert not O.exists() and not QA.exists() +s=importlib.util.spec_from_file_location('prep304',R/'tools/run_all_tests.py');r=importlib.util.module_from_spec(s);s.loader.exec_module(r) +def pin(p):return dict(path=str(p),bytes=p.stat().st_size,sha256=r.sha(p)) +review=A/'p23-02-native-ready-route-build-actual-independent-review-r303.json';root=A/'p23-02-native-ready-route-build-actual-root-verification-r303.json';assert r.read(review)['host_build_accepted'] and not r.read(review)['blockers'];assert r.read(root)['passed'] and r.read(root)['review_sha256']==r.sha(review);assert shutil.disk_usage(A).free>=528*1048576 +stage=A/'p23-02-native-reconstruction-local-r209/stage';parent=A/'p23-02-native-local-names-candidate-r239/stage';inventory=r.inventory(stage,stage=True);assert inventory==r.inventory(parent,stage=True);O.mkdir() +base=A/'p23-02-native-guest-pipeline-boundaries-r195.gd';text=base.read_text() +classes='''const ROUTE_CASES := ["ordinary", "goal_only", "cycle_limit", "negative_terminal", "readonly_cells", "readonly_indices", "untyped_cells", "noncompact"] +var route_records: Array = [] +func route_setup(label: String) -> Dictionary: + setup("ordinary") + var p=runtime.path_service + var goal := Vector3i.ZERO if label == "goal_only" else Vector3i(2,0,0) + var goals: Array=[goal] + p.begin_guest_path_query_batch(Vector3i.ZERO,goals) + var layers: Array[int]=[0,1] + var access: Array[StringName]=[] + var tree: Dictionary=p._build_guest_query_tree_compact(Vector3i.ZERO,p._query_batch[&"targets"],layers,access) + if label == "cycle_limit": + var parents: PackedInt64Array=tree[&"parent_indices"] + parents[1]=2;parents[2]=1;tree[&"parent_indices"]=parents + elif label == "negative_terminal": + var parents: PackedInt64Array=tree[&"parent_indices"] + parents[2]=-99;tree[&"parent_indices"]=parents + elif label == "readonly_cells": tree[&"cells"].make_read_only() + elif label == "readonly_indices": tree[&"indices"].make_read_only() + elif label == "untyped_cells": + var cells: Array=[];cells.append_array(tree[&"cells"]);tree[&"cells"]=cells + elif label == "noncompact": + tree[&"compact"]=false + tree[&"parents"]={Vector3i(1,0,0):Vector3i.ZERO,Vector3i(2,0,0):Vector3i(1,0,0)} + tree[&"costs"]={Vector3i.ZERO:0,Vector3i(1,0,0):100,Vector3i(2,0,0):200} + p._query_batch[&"tree"]=tree;p._query_batch[&"ready"]=true;p._query_batch[&"arithmetic_wrapped"]=false + return {"path":p,"goal":goal,"goals":goals,"layers":layers,"access":access,"tree":tree} +func route_case(label: String) -> void: + var input: Dictionary=route_setup(label) + var p=input["path"] + var before: PackedByteArray=var_to_bytes(input["tree"]) + var actual: Dictionary=core.nearest_guest_access(p,Vector3i.ZERO,input["goals"],input["goal"],input["layers"],input["access"],Callable(Time,"get_ticks_usec")) + check(bool(actual.get(&"supported",false)),label+" ready route actual native selected") + check(var_to_bytes(input["tree"])==before and (label!="readonly_cells" or input["tree"][&"cells"].is_read_only()) and (label!="readonly_indices" or input["tree"][&"indices"].is_read_only()),label+" ready route original tree and readonly unchanged") + var got_bytes: PackedByteArray=var_to_bytes(actual) + var after: PackedByteArray=var_to_bytes(state()) + var route: Array=actual[&"path"] + var key: String=p._cache_key(Vector3i.ZERO,input["goal"],input["layers"],input["access"]) + var cached: Array=p._path_cache[key] + check(route.is_typed() and route.get_typed_builtin()==TYPE_VECTOR3I and not route.is_read_only() and cached.is_typed() and cached.get_typed_builtin()==TYPE_VECTOR3I and not cached.is_read_only() and not is_same(route,cached),label+" fresh writable typed path and separate cache copy") + var cache_before: PackedByteArray=var_to_bytes(p._path_cache) + route[0]=Vector3i(99,99,0) + check(var_to_bytes(p._path_cache)==cache_before,label+" returned path mutation leaves cache unchanged") + var returned_before: PackedByteArray=var_to_bytes(route) + cached[0]=Vector3i(77,77,0) + check(var_to_bytes(route)==returned_before,label+" cache copy mutation leaves returned path unchanged") + input=route_setup(label);p=input["path"];before=var_to_bytes(input["tree"]) + var expected: Dictionary=p._query_nearest_guest_access_without_native(Vector3i.ZERO,input["goals"],input["goal"]) + check(var_to_bytes(expected)==got_bytes,label+" full original ordered typed ready-route result") + check(var_to_bytes(state())==after,label+" full Runtime cache counters errors and signals equal") + check(var_to_bytes(input["tree"])==before,label+" original fallback tree unchanged") + route_records.append({"case":label,"expected":expected,"actual":bytes_to_var(got_bytes)}) +''' +assert text.count('func run() -> void:')==1;text=text.replace('func run() -> void:',classes+'\nfunc run() -> void:',1) +assert text.count('\tcore=null')==1;text=text.replace('\tcore=null','\tfor label: String in ROUTE_CASES: route_case(label)\n\tvar route_payload := typed("ready-route-fixtures",route_records)\n\tcore=null',1) +text=text.replace('"case_count":CASES.size(),','"case_count":CASES.size(),"ready_route_cases":ROUTE_CASES.size(),"ready_route_fixtures":route_payload,',1).replace('Guest pipeline boundaries: ','Ready route local: ');QA.write_text(text) +oldO=A/'p23-02-native-pure-tag-local-r278-r04';oldplan=r.read(oldO/'input.json');oldconfig=Path(oldplan['pins']['config']['path']);oldlib=oldplan['pins']['copied_library']['path'];newlib=Path(r.read(A/'p23-02-native-ready-route-build-r303/execution.json')['library']['path']);ascii_dir=Path('/private/tmp')/('TheTree-ready-route-r304-'+uuid.uuid4().hex);ascii_dir.mkdir();copy=ascii_dir/'candidate.dylib';shutil.copyfile(newlib,copy);assert copy.read_bytes()==newlib.read_bytes();ct=oldconfig.read_text();assert ct.count(oldlib)==2;config=O/'candidate.gdextension';config.write_text(ct.replace(oldlib,str(copy))) +starter=O/'candidate-guarded.gd';st=Path(oldplan['pins']['starter_boundaries']['path']).read_text();st=st.replace(json.dumps(str(Path(oldplan['pins']['QA']['path'])))[1:-1],json.dumps(str(QA))[1:-1]).replace(json.dumps(str(oldconfig))[1:-1],json.dumps(str(config))[1:-1]);assert 'r278-r04.gd' not in st;starter.write_text(st) +oldrunner=A/'p23-02-native-pure-tag-local-r278-r04.py';runner=oldrunner.read_text().replace('p23-02-native-pure-tag-local-r278-r04','p23-02-native-ready-route-local-r304').replace('p23-02-native-pure-tag-local-preexecution-independent-review-r278-r04','p23-02-native-ready-route-local-preexecution-independent-review-r304').replace('r274-library275','r302-library303') +runner=runner.replace("assert report['case_count']==15 and report['tag_matrix_cases']==1028 and report['callback_cases']==2", "assert report['case_count']==15 and report['ready_route_cases']==8") +runner=runner.replace("unpack(report['tag_fixtures'])", "unpack(report['ready_route_fixtures'])") +runner=runner.replace('Fifteen original boundary fixtures plus1028 tag combinations and2 actual script-change callback fixtures compare','Fifteen original projection boundary fixtures plus8 compact ready-route boundary fixtures compare').replace('tag matrix full Runtime state is compared only for empty/all-tag, while all cases compare full candidates and recorded Path effects.','ready route cases compare full Runtime and Path state, ownership, typed/readonly, cache and ordered results; invalid shape and mid-call script-change execution remains uncovered.') +ast.parse(runner);driver.write_text(runner) +legacy=r.read(A/'p23-02-native-guest-pipeline-boundaries-r195/input.json');pins={k:oldplan['pins'][k] for k in ['engine','helper','run_all','profile_guard']};pins.update({k:legacy['pins'][k] for k in ['fixture','oracle']}) +paths=dict(QA=QA,QA_parent=base,QA_base=A/'p23-02-build-preview-monitor-compressed-r06.gd',runner=driver,author=Path(__file__),starter_boundaries=starter,config=config,original_library=newlib,copied_library=copy,host_review=review,host_root=root,host_execution=A/'p23-02-native-ready-route-build-r303/execution.json',candidate_input=A/'p23-02-native-ready-route-candidate-r302/input.json',source_cpp=A/'p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp',original_runtime=stage/'autoload/simulation_runtime.gd',original_path=stage/'scripts/world/path_service.gd',original_budget=stage/'scripts/core/performance_budget.gd',old_config=oldconfig,old_starter=Path(oldplan['pins']['starter_boundaries']['path']),prior_input=oldO/'input.json',prior_driver=oldrunner,current_matrix=A/'p23-02-current-progress-disposition-r301.json') +for k,p in paths.items():pins[k]=pin(p) +r.write(O/'input.json',dict(pins=pins,stage=str(stage),parent=str(parent),expected_stage=inventory,source_before=r.source_refs(R),default_before=r.default_player(R),doc4_before={n:r.sha(D/n) for n in ['IMPLEMENTATION_PLAN.md','PROGRESS_INTEGRATION.md','work_packages.json','progress_snapshot.json']},support_inventory=r.inventory(r.SUPPORT),specs=[dict(name='boundaries',label='Ready route local: ',expected_checks=220)],capacity_floor_bytes=528*1048576,maximum_growth_bytes=16*1048576,expected_seconds=[3,30],watchdog_seconds=90,engine_processes=1,compiler_runs=0,stage_clones=0,expected_checks_basis='original139 +8*(2 graph setup+8 assertions)+1 route codec=220',ready_route_cases=8,scope='New binary local differential vs original Runtime loop and original Path nearest helper, cycle/limit/readonly/typed/cache ownership; no whole/performance/adoption/unit acceptance. Invalid shape/index conversion, mid-call custom/script replacement remain uncovered and required before adoption. Unchanged1028 pure tag matrix not repeated, no claim old full binary evidence applies to302.',unit_accepted=False));print(dict(prepared=True,pins=len(pins),cases=8,expected_checks=220,engine_runs=0)) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-r302.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-r302.py new file mode 100644 index 0000000..875d2e5 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-r302.py @@ -0,0 +1,64 @@ +from pathlib import Path +import hashlib,json +R=Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');A=R/'artifacts/original-completion-2026-10-02';P=A/'p23-02-native-pure-tag-projection-candidate-r274';C=A/'p23-02-native-ready-route-candidate-r302';assert not C.exists();(C/'source').mkdir(parents=True) +text=(P/'source/tree_numeric_core.cpp').read_text();changes=[] +def replace(old,new): + global text + assert text.count(old)==1;text=text.replace(old,new);changes.append((old,new)) +replace(' const StringName k__build_guest_query_tree_compact', ' const StringName k__adjacency{"_adjacency",false};\n const StringName k_cells{"cells",false};\n const StringName k_parent_indices{"parent_indices",false};\n const StringName k__build_guest_query_tree_compact') +replace(' else if (settled.has(goal)) route = Array(path->call(n.k__guest_tree_reconstruct_path, tree, goal));',''' else if (settled.has(goal)) { + if (!reconstruct_builtin_compact_route(n,path,tree,goal,route)) + route = Array(path->call(n.k__guest_tree_reconstruct_path, tree, goal)); + }''') +replace(' cache[key] = path->call(n.k__copy_path, route);',''' // Fresh Array storage with copy-on-write value backing, matching the + // original typed _copy_path result. Recheck script at this call position. + cache[key] = builtin(n,path,"res://scripts/world/path_service.gd") && + route.is_typed() && route.get_typed_builtin()==Variant::VECTOR3I ? + Variant(route.duplicate(false)) : Variant(path->call(n.k__copy_path,route));''') +needle='''public: +private: + // One existing builtin provider operation''' +helper=''' // Translate only the builtin compact parent walk. Preflight reads have no + // callback or public writes. Unsupported shapes retain original dispatch at + // the original position; all temporary ownership is confined to this call. + static bool reconstruct_builtin_compact_route(const ProjectionNames &n,Object *path, + const Dictionary &tree,const Vector3i &goal,TypedArray &output) { + if (!builtin(n,path,"res://scripts/world/path_service.gd")) return false; + const Variant compact=tree.get(n.k_compact,Variant()); + if (compact.get_type()!=Variant::BOOL || !static_cast(compact)) return false; + const Variant raw_indices=tree.get(n.k_indices,Variant()); + const Variant raw_cells=tree.get(n.k_cells,Variant()); + const Variant raw_parents=tree.get(n.k_parent_indices,Variant()); + const Variant raw_adjacency=path->get(n.k__adjacency); + if (raw_indices.get_type()!=Variant::DICTIONARY || raw_cells.get_type()!=Variant::ARRAY || + raw_parents.get_type()!=Variant::PACKED_INT64_ARRAY || raw_adjacency.get_type()!=Variant::DICTIONARY) return false; + const Dictionary indices=raw_indices; + if (!indices.has(goal) || indices[goal].get_type()!=Variant::INT) return false; + const Array cells=raw_cells; + const PackedInt64Array parents=raw_parents; + const Dictionary adjacency=raw_adjacency; + const int64_t maximum_length=adjacency.size()+int64_t(1); + int64_t current=indices[goal]; + TypedArray reversed; + reversed.push_back(goal); + while (true) { + // The original evaluates parent before its maximum-length condition. + if (current<0 || current>=parents.size()) return false; + if (parents[current]<0 || reversed.size()>maximum_length) break; + current=parents[current]; + if (current<0 || current>=cells.size() || cells[current].get_type()!=Variant::VECTOR3I) return false; + reversed.push_back(cells[current]); + } + reversed.reverse(); + output=reversed; + return true; + } +''' +replace(needle,helper+needle) +cpp=C/'source/tree_numeric_core.cpp';cpp.write_text(text);header=C/'source/tree_core.hpp';header.write_bytes((P/'source/tree_core.hpp').read_bytes()) +restored=text +for old,new in reversed(changes):assert restored.count(new)==1;restored=restored.replace(new,old) +assert restored==(P/'source/tree_numeric_core.cpp').read_text() +def pin(p):raw=p.read_bytes();return dict(path=str(p),bytes=len(raw),sha256=hashlib.sha256(raw).hexdigest()) +paths=[P/'source/tree_numeric_core.cpp',P/'source/tree_core.hpp',cpp,header,Path(__file__),A/'p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd',A/'p23-02-native-residual-symbol-map-r273-r04/execution.json',A/'p23-02-native-residual-sampling-r272-r03/actual-root-verification.json',A/'p23-02-integer-window-codec-array-source-r289/array.cpp',A/'p23-02-integer-window-codec-array-source-r289/source.json',A/'p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json',A/'p23-02-current-progress-disposition-r301.json'] +(C/'input.json').write_text(json.dumps(dict(pins={str(p):pin(p) for p in paths},scope='One compact ready-route reconstruction and fresh typed cache-copy bundle against retained r274/library275. Original parent order/maximum-length/cycle bound/error fallback/counters/callback positions/ownership/cache publication retained. Exact builtin Path rechecked at each original helper call; invalid shape and custom script use original helpers. Same graph/route/value policies; no persistent cache or scheduler/time/price/content change. Source-only uncompiled, unadopted. Historical sample273 on prior implementation is a location hypothesis only, not current timing acceptance.',parent_inverse_byteexact=True,changes=len(changes),compiler_runs=0,engine_runs=0,candidate_adopted=False,unit_accepted=False,unverified=['Compile/parse/type and fresh writable typed Array result','Finite compact parent/cycle/bounds/readonly/alias/custom script fallback behavior','Whole representative runtime/results/50ms/P95/D10','Mandatory final172/normal OS/Windows/original17']),ensure_ascii=False,indent=2)+'\n');print(dict(source_ready=True,changes=len(changes),bytes=cpp.stat().st_size,compiler_runs=0,engine_runs=0)) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/manifest.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/manifest.json new file mode 100644 index 0000000..45739b6 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/manifest.json @@ -0,0 +1,602 @@ +{ + "schema": 1, + "unit": "P23-02", + "status": "unadopted_candidate_finite_local_accepted_whole_not_executed", + "formal_completion_added": 0, + "entries": [ + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29", + "stored_bytes": 21696, + "stored_sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b", + "stored_bytes": 12307, + "stored_sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-independent-review-r303.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-independent-review-r303.json", + "bytes": 26409, + "sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3", + "stored_bytes": 26409, + "stored_sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-root-verification-r303.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-root-verification-r303.json", + "bytes": 15934, + "sha256": "663118f678a57086846c172bea33a10cb8e943e2de1d6546f9ee47e183b0be37", + "stored_bytes": 15934, + "stored_sha256": "663118f678a57086846c172bea33a10cb8e943e2de1d6546f9ee47e183b0be37", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5", + "stored_bytes": 3085, + "stored_sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297", + "stored_bytes": 16465, + "stored_sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json", + "bytes": 26171, + "sha256": "0e3700d6c1a1ca02fbad985c1e97c88a2502eeb01951bb48e28d3e71e76dc917", + "stored_bytes": 26171, + "stored_sha256": "0e3700d6c1a1ca02fbad985c1e97c88a2502eeb01951bb48e28d3e71e76dc917", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305.py", + "bytes": 7671, + "sha256": "ff28c27307333335b57846203a1834c10c2b004fbf5dfb2571df7ce9b7475bd4", + "stored_bytes": 7671, + "stored_sha256": "ff28c27307333335b57846203a1834c10c2b004fbf5dfb2571df7ce9b7475bd4", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json", + "bytes": 28290, + "sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b", + "stored_bytes": 28290, + "stored_sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json", + "bytes": 17299, + "sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023", + "stored_bytes": 17299, + "stored_sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d", + "stored_bytes": 16416, + "stored_sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373", + "stored_bytes": 11882, + "stored_sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432", + "stored_bytes": 7152, + "stored_sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.gd", + "bytes": 11460, + "sha256": "8a2426704468655b2489234c617d5153f2d2148f4d0aa7a7a39d9e73f8dd39c1", + "stored_bytes": 11460, + "stored_sha256": "8a2426704468655b2489234c617d5153f2d2148f4d0aa7a7a39d9e73f8dd39c1", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.py", + "bytes": 7140, + "sha256": "55257a66bcd2cd244f4c31455e77d21e0137924a0833cbc9f2f30902c2a9cca3", + "stored_bytes": 7140, + "stored_sha256": "55257a66bcd2cd244f4c31455e77d21e0137924a0833cbc9f2f30902c2a9cca3", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618", + "stored_bytes": 11389, + "stored_sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b", + "stored_bytes": 5118, + "stored_sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f", + "stored_bytes": 6602, + "stored_sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480", + "stored_bytes": 3299, + "stored_sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59", + "stored_bytes": 56783, + "stored_sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/ended.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/ended.json", + "bytes": 1845, + "sha256": "370c6b6d432225979111945ed2f9f9d40c120c5551b9108d16990321596980d3", + "stored_bytes": 1845, + "stored_sha256": "370c6b6d432225979111945ed2f9f9d40c120c5551b9108d16990321596980d3", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/started.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/started.json", + "bytes": 2944, + "sha256": "8e6834d088396d9575765bd131f854460b40defd8ca7332328bb4a30b05c8d39", + "stored_bytes": 2944, + "stored_sha256": "8e6834d088396d9575765bd131f854460b40defd8ca7332328bb4a30b05c8d39", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stderr.log", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stored_bytes": 0, + "stored_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stdout.log", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stored_bytes": 0, + "stored_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062-phase.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062-phase.json", + "bytes": 621, + "sha256": "0690f5bac45d8d8c82fa1bfe39440d218e0a31a6e7d26f7f2d31360b63d66056", + "stored_bytes": 621, + "stored_sha256": "0690f5bac45d8d8c82fa1bfe39440d218e0a31a6e7d26f7f2d31360b63d66056", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088", + "stored_bytes": 7142, + "stored_sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/input.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/input.json.gz", + "bytes": 658203, + "sha256": "034ff3aef70b9b8f8ada839f97127f65c2705983766a064f53a5f429f01da1a1", + "stored_bytes": 137740, + "stored_sha256": "810bb03f13faeb336f97e9ab31e96769d2a44dd98327996ed088c6ceac290f4e", + "encoding": "gzip" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/ended.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/ended.json", + "bytes": 1339, + "sha256": "641e3e8a4dc2d13fc4fbed5f50d7ae7615f5ce9682d2f4eb2abf285a051e2767", + "stored_bytes": 1339, + "stored_sha256": "641e3e8a4dc2d13fc4fbed5f50d7ae7615f5ce9682d2f4eb2abf285a051e2767", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/started.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/started.json", + "bytes": 2030, + "sha256": "5076e31b509e64e37ec08a28337647170e31be5dd5cf0613edd2a9b08bccb833", + "stored_bytes": 2030, + "stored_sha256": "5076e31b509e64e37ec08a28337647170e31be5dd5cf0613edd2a9b08bccb833", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stderr.log", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stored_bytes": 0, + "stored_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stdout.log", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stored_bytes": 0, + "stored_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link-phase.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link-phase.json", + "bytes": 614, + "sha256": "1ffd3c3a655d75f8ae4bad908d70c32fa2cc9f9720aa58156b610a61efe508c6", + "stored_bytes": 614, + "stored_sha256": "1ffd3c3a655d75f8ae4bad908d70c32fa2cc9f9720aa58156b610a61efe508c6", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate-guarded.gd", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate-guarded.gd", + "bytes": 1116, + "sha256": "256bb7a392c2b38b049ca0a39cde0a4bbd271b45ff50197bbda97ba4abdbff1a", + "stored_bytes": 1116, + "stored_sha256": "256bb7a392c2b38b049ca0a39cde0a4bbd271b45ff50197bbda97ba4abdbff1a", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate.gdextension", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate.gdextension", + "bytes": 319, + "sha256": "13c4bd2ac8206197095df408b974ba955ecf047ed525119a1651a68195b7bd38", + "stored_bytes": 319, + "stored_sha256": "13c4bd2ac8206197095df408b974ba955ecf047ed525119a1651a68195b7bd38", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/input.json.gz", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de", + "stored_bytes": 165211, + "stored_sha256": "4e90f26db243b10149b2b7cb1f35a3d41f8a3f6bdcfc367691d5f303b31a88e3", + "encoding": "gzip" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/preexecution-root-verification.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/preexecution-root-verification.json", + "bytes": 9355, + "sha256": "e500e883c7da60307fddf77f861dc75916cd0dd009048bb795cdf569d8ef037d", + "stored_bytes": 9355, + "stored_sha256": "e500e883c7da60307fddf77f861dc75916cd0dd009048bb795cdf569d8ef037d", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json", + "bytes": 15302, + "sha256": "d69adddf6ec16948caf7f2e85634059a7befeac7ba8ddd48d2352b9a75c7462e", + "stored_bytes": 15302, + "stored_sha256": "d69adddf6ec16948caf7f2e85634059a7befeac7ba8ddd48d2352b9a75c7462e", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json", + "bytes": 351, + "sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54", + "stored_bytes": 351, + "stored_sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json", + "bytes": 1793, + "sha256": "eb8d321fa42560813f05a1bd32a8abdce4dd9cbc4d86d005d5248cf8eb917746", + "stored_bytes": 1793, + "stored_sha256": "eb8d321fa42560813f05a1bd32a8abdce4dd9cbc4d86d005d5248cf8eb917746", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log", + "bytes": 13479, + "sha256": "29c80683e381332a409ac7e852aabb09ff4594273ebc30b3a26b233f5dcdd0db", + "stored_bytes": 13479, + "stored_sha256": "29c80683e381332a409ac7e852aabb09ff4594273ebc30b3a26b233f5dcdd0db", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json", + "bytes": 964, + "sha256": "d676912bce39e81174b0f66bec033c670fa15db3d4f6ed49d831ec2554c4ec97", + "stored_bytes": 964, + "stored_sha256": "d676912bce39e81174b0f66bec033c670fa15db3d4f6ed49d831ec2554c4ec97", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/process.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/process.json", + "bytes": 6723, + "sha256": "28ba2ddcea2a9911983521e2c44e98d3e2992fdbc5d407e3e383a529ce8beda3", + "stored_bytes": 6723, + "stored_sha256": "28ba2ddcea2a9911983521e2c44e98d3e2992fdbc5d407e3e383a529ce8beda3", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/started.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/started.json", + "bytes": 2422, + "sha256": "917ba2cc75dc38e9c3c3033c17e283756c9e83f3946429a8126cbc4cf5a1cb83", + "stored_bytes": 2422, + "stored_sha256": "917ba2cc75dc38e9c3c3033c17e283756c9e83f3946429a8126cbc4cf5a1cb83", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stored_bytes": 0, + "stored_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log", + "bytes": 13629, + "sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08", + "stored_bytes": 13629, + "stored_sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "bytes": 709, + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5", + "stored_bytes": 709, + "stored_sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "bytes": 332, + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d", + "stored_bytes": 332, + "stored_sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json", + "bytes": 1309, + "sha256": "4d3d129656268ed4c9f03737a3b94049886e43d4f51b9d312c869aedc9ac7c2d", + "stored_bytes": 1309, + "stored_sha256": "4d3d129656268ed4c9f03737a3b94049886e43d4f51b9d312c869aedc9ac7c2d", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json", + "bytes": 8183, + "sha256": "09cffa8ba3a51722dc67d4acc91610cb92d997fa690a7bf7356185ad5ca7517d", + "stored_bytes": 8183, + "stored_sha256": "09cffa8ba3a51722dc67d4acc91610cb92d997fa690a7bf7356185ad5ca7517d", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json", + "bytes": 912, + "sha256": "b95335c1c492cca6fa9fd8d474242eccccdee8f1c7c4e9c47c7426a8392fdb45", + "stored_bytes": 912, + "stored_sha256": "b95335c1c492cca6fa9fd8d474242eccccdee8f1c7c4e9c47c7426a8392fdb45", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed", + "stored_bytes": 1124, + "stored_sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642", + "stored_bytes": 327, + "stored_sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/execution.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/execution.json", + "bytes": 12210, + "sha256": "7cd220b4cfa9bceecfa8b39eacc0f9e019ad0983009c2596fe07020a2ccf0664", + "stored_bytes": 12210, + "stored_sha256": "7cd220b4cfa9bceecfa8b39eacc0f9e019ad0983009c2596fe07020a2ccf0664", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/input.json.gz", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858", + "stored_bytes": 165347, + "stored_sha256": "22d37f665b3d01c48b13f2d67f6cbf3a6ca04c93b3696e7697a65bae0a273393", + "encoding": "gzip" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json", + "bytes": 9990, + "sha256": "7d9db13c588c163fed16849eda32d94d180fe9e3a4350c70551be1aef4eebcab", + "stored_bytes": 9990, + "stored_sha256": "7d9db13c588c163fed16849eda32d94d180fe9e3a4350c70551be1aef4eebcab", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd", + "bytes": 1445, + "sha256": "a7c3f9c4d744e49808f4b3be1e9e105dec6b7e3ede4c83627986c459d67bbb91", + "stored_bytes": 1445, + "stored_sha256": "a7c3f9c4d744e49808f4b3be1e9e105dec6b7e3ede4c83627986c459d67bbb91", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd", + "bytes": 1448, + "sha256": "437cae63b5bebbb183fa87464770bdd7deb8b1c99a3309573c501cac92955125", + "stored_bytes": 1448, + "stored_sha256": "437cae63b5bebbb183fa87464770bdd7deb8b1c99a3309573c501cac92955125", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/input.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/input.json.gz", + "bytes": 976234, + "sha256": "0ec0212b04a1f16bbe8789976a359d62a69d68035063558a0e7e0250a381b3e5", + "stored_bytes": 229318, + "stored_sha256": "c5688c125ee132d4a6d0aa264d5076dcc5a70fd954c1bb8634c67bfe3994dc06", + "encoding": "gzip" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json", + "bytes": 15532, + "sha256": "82736532d59d3d1edaf93f806cef1ed1213b1feec4fd2e24bba06d741589ad0e", + "stored_bytes": 15532, + "stored_sha256": "82736532d59d3d1edaf93f806cef1ed1213b1feec4fd2e24bba06d741589ad0e", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd", + "bytes": 1514, + "sha256": "6fbefbad8edde64461b3d751e1e27104b7bb65957e17216073638442a89d41c3", + "stored_bytes": 1514, + "stored_sha256": "6fbefbad8edde64461b3d751e1e27104b7bb65957e17216073638442a89d41c3", + "encoding": "identity" + }, + { + "source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/whole.gd", + "bytes": 4442, + "sha256": "729de52998f376ad249194d4eb3a0073e246fb9c0839d6271593b118badb46fa", + "stored_bytes": 4442, + "stored_sha256": "729de52998f376ad249194d4eb3a0073e246fb9c0839d6271593b118badb46fa", + "encoding": "identity" + }, + { + "source": "/private/tmp/thetree-prepare-ready-route-build-r303.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294", + "stored_bytes": 2388, + "stored_sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294", + "encoding": "identity" + }, + { + "source": "/private/tmp/thetree-prepare-ready-route-impact-whole-r305.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-impact-whole-r305.py", + "bytes": 5761, + "sha256": "51e9a5615fb687aecfcc5efcd88475a5647e58db9e41d76b3c27f749ceb4fe0d", + "stored_bytes": 5761, + "stored_sha256": "51e9a5615fb687aecfcc5efcd88475a5647e58db9e41d76b3c27f749ceb4fe0d", + "encoding": "identity" + }, + { + "source": "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890", + "stored_bytes": 10741, + "stored_sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890", + "encoding": "identity" + }, + { + "source": "/private/tmp/thetree-prepare-ready-route-local-r304.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304.py", + "bytes": 10105, + "sha256": "9ac1d42a5593b7e0ec668cbb53bc03003b827bf84fea2bf5003e6a196a6c0d03", + "stored_bytes": 10105, + "stored_sha256": "9ac1d42a5593b7e0ec668cbb53bc03003b827bf84fea2bf5003e6a196a6c0d03", + "encoding": "identity" + }, + { + "source": "/private/tmp/thetree-prepare-ready-route-r302.py", + "checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5", + "stored_bytes": 6099, + "stored_sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5", + "encoding": "identity" + } + ] +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-independent-review-r303.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-independent-review-r303.json new file mode 100644 index 0000000..b342f52 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-independent-review-r303.json @@ -0,0 +1,288 @@ +{ + "schema": 1, + "review": "r303 bounded actual independent host build review", + "host_build_accepted": true, + "blockers": [], + "evidence_sha256": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-independent-review-r77.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-independent-review-r77.json", + "bytes": 16092, + "sha256": "75d3bbff767fb88af266c4b1b9da37d96294ab72b9e07fcac9a3e7e567a29d49" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/input.json", + "bytes": 900666, + "sha256": "d2381f455e44d8355f54de0c52ed08d6ffbadbd68836848a87e96073c41e80e9" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/sdk/bin/libgodot-cpp.macos.template_debug.arm64.a": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/sdk/bin/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2251696, + "sha256": "f429c29496622a7bfd460ebf249bb3930a515ca4fedd7efc6d347acab8015c35" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-r77/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-r77/execution.json", + "bytes": 62521, + "sha256": "58eb89af57b5d445058adfacff053171765433570a5d406d324a476ede7695f1" + }, + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++": { + "path": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "bytes": 141373024, + "sha256": "7def90dd8829726686213a747fc5bff1583df933dae5edc55d755479e0bfe00a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/compile_commands.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/compile_commands.json", + "bytes": 46759, + "sha256": "43cbba9c13c03bc8539efac1eaaf4da9b5d3d6a9af3875d8cc3a3994e1a59745" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-actual-independent-review-r133.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-actual-independent-review-r133.json", + "bytes": 199445, + "sha256": "c3cbeb45c1353dfea5f8181d10cc60f8a9b81db55d766ac5db902ac28c159a61" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/input.json", + "bytes": 838584, + "sha256": "bf6dafe0a55c9ffb0310ef5ede6471aac93f9dee4f4fe6ad84e20e998202514e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2284912, + "sha256": "4d54f0980c3f445f3013cddb859135b619f28a91205fc8b9fbc9d10bc76c52c3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76.py", + "bytes": 14637, + "sha256": "e8cfbc4cea630e0cb245d825ac5daf9730e309c4895bcbc949a744f41a2d760a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-independent-review-r303.json", + "bytes": 26409, + "sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3" + }, + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.json": { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.json", + "bytes": 7774, + "sha256": "f8d005f09381389167f9e0aeaa169bc9e7dff162ef22ca2fd8e98df7ff1acafe" + }, + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.plist": { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.plist", + "bytes": 5388, + "sha256": "e5c7c40b8c5dc1a9f99f8b9fa51870f8fe180421225b8201d0c4c826aad11bdc" + }, + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef": { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef", + "bytes": 1607, + "sha256": "53c4fc868f6439e48e52bbc9445a48eab1e597bbfad037ab7480216cb0c6832f" + }, + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libc++.tbd": { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libc++.tbd", + "bytes": 155867, + "sha256": "5539059b5e609a9518358e42234cc9a439ae0f54e5e8ca136686a8c9ebc35c1a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/input.json", + "bytes": 658203, + "sha256": "034ff3aef70b9b8f8ada839f97127f65c2705983766a064f53a5f429f01da1a1" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-root-verification-r303.json", + "bytes": 15934, + "sha256": "663118f678a57086846c172bea33a10cb8e943e2de1d6546f9ee47e183b0be37" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5" + }, + "/private/tmp/thetree-prepare-ready-route-build-r303.py": { + "path": "/private/tmp/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "bytes": 267672, + "sha256": "19574a4e5a283d805bc2699ca586c75732cfd7c336ef5be890ba5331f3c32c17" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062-phase.json", + "bytes": 621, + "sha256": "0690f5bac45d8d8c82fa1bfe39440d218e0a31a6e7d26f7f2d31360b63d66056" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/started.json", + "bytes": 2944, + "sha256": "8e6834d088396d9575765bd131f854460b40defd8ca7332328bb4a30b05c8d39" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/ended.json", + "bytes": 1845, + "sha256": "370c6b6d432225979111945ed2f9f9d40c120c5551b9108d16990321596980d3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link-phase.json", + "bytes": 614, + "sha256": "1ffd3c3a655d75f8ae4bad908d70c32fa2cc9f9720aa58156b610a61efe508c6" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/started.json", + "bytes": 2030, + "sha256": "5076e31b509e64e37ec08a28337647170e31be5dd5cf0613edd2a9b08bccb833" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/ended.json", + "bytes": 1339, + "sha256": "641e3e8a4dc2d13fc4fbed5f50d7ae7615f5ce9682d2f4eb2abf285a051e2767" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + "canonical_doc4_context_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + }, + "library": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "object": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "bytes": 267672, + "sha256": "19574a4e5a283d805bc2699ca586c75732cfd7c336ef5be890ba5331f3c32c17" + }, + "SDK_archive_reused": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2284912, + "sha256": "4d54f0980c3f445f3013cddb859135b619f28a91205fc8b9fbc9d10bc76c52c3" + }, + "verification": { + "bridge_compilations": 1, + "link_attempts": 1, + "SDK_compilations": 0, + "Godot_loaded": false, + "exact_preview_argv": true, + "phases": [ + { + "phase": "compile-062", + "pid": 57046, + "exit_code": 0, + "duration_seconds": 1.7274599580000007 + }, + { + "phase": "link", + "pid": 57061, + "exit_code": 0, + "duration_seconds": 0.4242618339999993 + } + ], + "strict_stdout_stderr_empty": true, + "owned_sessions_ended": true, + "foreign_signals": 0, + "all_fixed_pins_fresh": true, + "source_files_fresh_equal": 1299, + "default_fresh_equal": true, + "candidate_sdk_base_inventory_fresh_equal": true, + "arm64_macho_dylib": true, + "export": "_tree_numeric_core_init", + "dependencies_same_saved_receipt": true, + "output_growth_within_16MiB": true + }, + "accepted_scope": "Host-only compile row062 and link of exact r302 source to unchanged SDK133 archive; no SDK compilation or old object reuse. Current301 metadata/source/default/candidate and SDK inputs preserved.", + "remaining": [ + "New binary Godot ABI/load, public nearest/project native selection, compact parent/cycle/index/conversion fallback and writable typed cache-copy ownership.", + "Finite local/whole647/gameplay/save equivalence and callback/script/reentry boundary verification.", + "Stable benefit/50ms/P95/D10/final172/OS/Windows/production adoption/unit acceptance." + ], + "performance_accepted": false, + "native_load_accepted": false, + "finite_local_equivalence_accepted": false, + "unit_accepted": false, + "candidate_adopted": false, + "reviewer_execution": { + "compiler": 0, + "link": 0, + "engine": 0, + "tests": 0, + "validator": 0, + "author": 0, + "existing_edits": 0, + "new_agents": 0 + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-root-verification-r303.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-root-verification-r303.json new file mode 100644 index 0000000..1232636 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-root-verification-r303.json @@ -0,0 +1,218 @@ +{ + "passed": true, + "review_sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29", + "verified_entries": [ + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-independent-review-r77.json", + "bytes": 16092, + "sha256": "75d3bbff767fb88af266c4b1b9da37d96294ab72b9e07fcac9a3e7e567a29d49" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/input.json", + "bytes": 900666, + "sha256": "d2381f455e44d8355f54de0c52ed08d6ffbadbd68836848a87e96073c41e80e9" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/sdk/bin/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2251696, + "sha256": "f429c29496622a7bfd460ebf249bb3930a515ca4fedd7efc6d347acab8015c35" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-r77/execution.json", + "bytes": 62521, + "sha256": "58eb89af57b5d445058adfacff053171765433570a5d406d324a476ede7695f1" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "bytes": 141373024, + "sha256": "7def90dd8829726686213a747fc5bff1583df933dae5edc55d755479e0bfe00a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/compile_commands.json", + "bytes": 46759, + "sha256": "43cbba9c13c03bc8539efac1eaaf4da9b5d3d6a9af3875d8cc3a3994e1a59745" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-actual-independent-review-r133.json", + "bytes": 199445, + "sha256": "c3cbeb45c1353dfea5f8181d10cc60f8a9b81db55d766ac5db902ac28c159a61" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/input.json", + "bytes": 838584, + "sha256": "bf6dafe0a55c9ffb0310ef5ede6471aac93f9dee4f4fe6ad84e20e998202514e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2284912, + "sha256": "4d54f0980c3f445f3013cddb859135b619f28a91205fc8b9fbc9d10bc76c52c3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76.py", + "bytes": 14637, + "sha256": "e8cfbc4cea630e0cb245d825ac5daf9730e309c4895bcbc949a744f41a2d760a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-independent-review-r303.json", + "bytes": 26409, + "sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.json", + "bytes": 7774, + "sha256": "f8d005f09381389167f9e0aeaa169bc9e7dff162ef22ca2fd8e98df7ff1acafe" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.plist", + "bytes": 5388, + "sha256": "e5c7c40b8c5dc1a9f99f8b9fa51870f8fe180421225b8201d0c4c826aad11bdc" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef", + "bytes": 1607, + "sha256": "53c4fc868f6439e48e52bbc9445a48eab1e597bbfad037ab7480216cb0c6832f" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libc++.tbd", + "bytes": 155867, + "sha256": "5539059b5e609a9518358e42234cc9a439ae0f54e5e8ca136686a8c9ebc35c1a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/input.json", + "bytes": 658203, + "sha256": "034ff3aef70b9b8f8ada839f97127f65c2705983766a064f53a5f429f01da1a1" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-root-verification-r303.json", + "bytes": 15934, + "sha256": "663118f678a57086846c172bea33a10cb8e943e2de1d6546f9ee47e183b0be37" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "bytes": 267672, + "sha256": "19574a4e5a283d805bc2699ca586c75732cfd7c336ef5be890ba5331f3c32c17" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062-phase.json", + "bytes": 621, + "sha256": "0690f5bac45d8d8c82fa1bfe39440d218e0a31a6e7d26f7f2d31360b63d66056" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/started.json", + "bytes": 2944, + "sha256": "8e6834d088396d9575765bd131f854460b40defd8ca7332328bb4a30b05c8d39" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/ended.json", + "bytes": 1845, + "sha256": "370c6b6d432225979111945ed2f9f9d40c120c5551b9108d16990321596980d3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link-phase.json", + "bytes": 614, + "sha256": "1ffd3c3a655d75f8ae4bad908d70c32fa2cc9f9720aa58156b610a61efe508c6" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/started.json", + "bytes": 2030, + "sha256": "5076e31b509e64e37ec08a28337647170e31be5dd5cf0613edd2a9b08bccb833" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/ended.json", + "bytes": 1339, + "sha256": "641e3e8a4dc2d13fc4fbed5f50d7ae7615f5ce9682d2f4eb2abf285a051e2767" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + ], + "unit_accepted": false, + "performance_accepted": false +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-independent-review-r303.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-independent-review-r303.json new file mode 100644 index 0000000..e23cf25 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-independent-review-r303.json @@ -0,0 +1,319 @@ +{ + "schema": 1, + "review": "r303 bounded host build preexecution independent review", + "execution_allowed": true, + "blockers": [], + "evidence_sha256": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/source/tree_numeric_core.cpp", + "bytes": 50531, + "sha256": "a226d928a894c7ca88a26a56ed5e9abe93b4b5097f8e2671566be6b304ba01d5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_numeric_core.cpp", + "bytes": 54002, + "sha256": "ce20a90adb8a410dc1b6cbf607b7bfa8bf21eaef158c5c6bfc7a9bbcc703d2b2" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd", + "bytes": 611530, + "sha256": "b4201726a735e9d979bd1ffae626ecd43ad2b76e4c7d1b51430884609bf2f4dc" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-symbol-map-r273-r04/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-symbol-map-r273-r04/execution.json", + "bytes": 239284, + "sha256": "5894ace631e88d5b02e58cfe654af9f140beb6bf032458b516b830e0b643c62a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-sampling-r272-r03/actual-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-sampling-r272-r03/actual-root-verification.json", + "bytes": 25953, + "sha256": "22462a79745aa07629fa30ee7ad2297db4bdefd2c4a340a2fea30fd4e615ec20" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-r275.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-r275.py", + "bytes": 16495, + "sha256": "3f3c7118f9ad880a9f8ea0ed7f98940bd8a18a2edacf354fb9028ffba03f16de" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02.py", + "bytes": 16425, + "sha256": "df4009c713d138a819cf2ec4a78aaf874df6a273824553661733ad519b386946" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-preview-r275.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-preview-r275.json", + "bytes": 3379, + "sha256": "43d7ddf26df4b28e48699bae16de16442946890c3e302cd15e94a9e3cd84b8e8" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/input.json", + "bytes": 4511, + "sha256": "6bd46c589bc57ab5afad1d7195f7293ec450aafeed055e394a3a880744666ca3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-static-independent-review-r274.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-static-independent-review-r274.json", + "bytes": 8909, + "sha256": "f13ed2a32320d85c02011943633be7a4e01f2409f019fadab8dde1680d58f642" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-static-root-verification-r274.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-static-root-verification-r274.json", + "bytes": 5150, + "sha256": "8570795a1f86ac90c053d208ccfad2c9966d912c26fe46380a22a2dd946de860" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-actual-independent-review-r266-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-actual-independent-review-r266-r02.json", + "bytes": 23678, + "sha256": "63eebafd26d536dc5c7bdf9d4dd0880d75fe9f701a7a4da84225cade7d83ff2f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02/input.json", + "bytes": 658416, + "sha256": "1a97069005f62b1186925cc62cd53055f90a04851f70b44cffed9381e2697ce7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02/execution.json", + "bytes": 7154, + "sha256": "91c5e7ccedaf123b54d57258aa4d5eb8eb445067f9afefc4ce8c0aac2a115ee0" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-independent-review-r77.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-independent-review-r77.json", + "bytes": 16092, + "sha256": "75d3bbff767fb88af266c4b1b9da37d96294ab72b9e07fcac9a3e7e567a29d49" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/input.json", + "bytes": 900666, + "sha256": "d2381f455e44d8355f54de0c52ed08d6ffbadbd68836848a87e96073c41e80e9" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/sdk/bin/libgodot-cpp.macos.template_debug.arm64.a": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/sdk/bin/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2251696, + "sha256": "f429c29496622a7bfd460ebf249bb3930a515ca4fedd7efc6d347acab8015c35" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-r77/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-r77/execution.json", + "bytes": 62521, + "sha256": "58eb89af57b5d445058adfacff053171765433570a5d406d324a476ede7695f1" + }, + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++": { + "path": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "bytes": 141373024, + "sha256": "7def90dd8829726686213a747fc5bff1583df933dae5edc55d755479e0bfe00a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/input.json", + "bytes": 10538, + "sha256": "f7a872726566563f07462a13b5caf0f49fca12c4eabc627326ab79842f19fc72" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-static-independent-review-r265-r03.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-static-independent-review-r265-r03.json", + "bytes": 16528, + "sha256": "ee61c1b689b92e12c653701f801b99cccf94ef64e3aeb018c06c7a14259d1778" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/compile_commands.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/compile_commands.json", + "bytes": 46759, + "sha256": "43cbba9c13c03bc8539efac1eaaf4da9b5d3d6a9af3875d8cc3a3994e1a59745" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-actual-independent-review-r133.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-actual-independent-review-r133.json", + "bytes": 199445, + "sha256": "c3cbeb45c1353dfea5f8181d10cc60f8a9b81db55d766ac5db902ac28c159a61" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/input.json", + "bytes": 838584, + "sha256": "bf6dafe0a55c9ffb0310ef5ede6471aac93f9dee4f4fe6ad84e20e998202514e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2284912, + "sha256": "4d54f0980c3f445f3013cddb859135b619f28a91205fc8b9fbc9d10bc76c52c3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76.py", + "bytes": 14637, + "sha256": "e8cfbc4cea630e0cb245d825ac5daf9730e309c4895bcbc949a744f41a2d760a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-static-root-verification-r265-r03.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-static-root-verification-r265-r03.json", + "bytes": 13035, + "sha256": "e5bf37bdd96f9ffc8890b07345a1698a6840313690d7b2b0d5b3d5266f04c86a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-preexecution-independent-review-r266-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-preexecution-independent-review-r266-r02.json", + "bytes": 43675, + "sha256": "ee4156fd9425ca632317ee4821059842b5c34f4146421dba90e8b00036192845" + }, + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.json": { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.json", + "bytes": 7774, + "sha256": "f8d005f09381389167f9e0aeaa169bc9e7dff162ef22ca2fd8e98df7ff1acafe" + }, + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.plist": { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.plist", + "bytes": 5388, + "sha256": "e5c7c40b8c5dc1a9f99f8b9fa51870f8fe180421225b8201d0c4c826aad11bdc" + }, + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef": { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef", + "bytes": 1607, + "sha256": "53c4fc868f6439e48e52bbc9445a48eab1e597bbfad037ab7480216cb0c6832f" + }, + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libc++.tbd": { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libc++.tbd", + "bytes": 155867, + "sha256": "5539059b5e609a9518358e42234cc9a439ae0f54e5e8ca136686a8c9ebc35c1a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5" + }, + "/private/tmp/thetree-prepare-ready-route-build-r303.py": { + "path": "/private/tmp/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-preexecution-independent-review-r275.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-preexecution-independent-review-r275.json", + "bytes": 21406, + "sha256": "38639f46a7dedb6926351ba5ded85cb0740ff4988e7ecff0360817696257b76a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-actual-independent-review-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-actual-independent-review-r301.json", + "bytes": 38167, + "sha256": "0aefd18bc6d12b9f50dae3faf7d53f7120c384906708bab519a506e8432a5dd6" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/private/tmp/thetree-prepare-ready-route-r302.py": { + "path": "/private/tmp/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/array.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/array.cpp", + "bytes": 27906, + "sha256": "ad9ebc6db6a962c817e2dbcee7f9c529dccd042090137e00dcf1a0594696f70b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/source.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/source.json", + "bytes": 291, + "sha256": "cd89af6dd2258fe71036edf9f92ce6302d823b68c257405e2a56795726e87834" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json", + "bytes": 21552, + "sha256": "54576596f82b8aceca440c1a5514ce811125e977c64c210675feecbb3901929f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + } + }, + "canonical_doc4_context_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + }, + "verification": { + "driver_full_inverse_to_accepted275": true, + "preview_plan_full_inverse_to275": true, + "compile_database_rows": 63, + "bridge_compile_count": 1, + "link_count": 1, + "SDK_compile_count": 0, + "old_bridge_object_reuse": false, + "no_existing_output_directory": true, + "current_free_bytes": 1216536576, + "admission_bytes": 553648128, + "runtime_floor_bytes": 536870912, + "maximum_output_growth_bytes": 16777216, + "owned_watchdog_each_seconds": 90, + "fresh_foreign_Godot_count": 0, + "static302_root_bound_sha": true + }, + "allowed_scope": "Only candidate302 bridge compile row062 and one link against unchanged authenticated SDK133 archive, serial owned sessions, strict stderr-empty, preserved candidate/source/default/doc301/SDK inputs and arm64/export/dependency checks. Fresh runtime floor/foreign-process and all direct/current pin gates remain mandatory.", + "remaining": [ + "Actual compile/link/owned exit and binary receipt independent review.", + "Separate ABI/load/local compact parent/cycle/conversion/fallback/cache-copy ownership verification.", + "Whole647/game equivalence, stable benefit, 50ms/P95/D10/final172/OS/Windows/adoption/unit acceptance." + ], + "inference_limits": [ + "Prior275 SDK/compiler/ownership evidence reused by fresh hashes and full driver inverse, not a renewed SDK audit.", + "Static support does not prove compilation, runtime ownership or performance.", + "Prior275/host canonical271 context is historical, not compared as live301.", + "Preparation free-space observation is momentary; driver enforces admission floor+growth and live floor/growth guards." + ], + "reviewer_execution": { + "engine": 0, + "compiler": 0, + "link": 0, + "tests": 0, + "validator": 0, + "author": 0, + "existing_file_edits": 0, + "new_agents": 0 + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-root-verification-r303.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-root-verification-r303.json new file mode 100644 index 0000000..2b17f02 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-root-verification-r303.json @@ -0,0 +1,278 @@ +{ + "passed": true, + "review_sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3", + "verified_entries": [ + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/source/tree_numeric_core.cpp", + "bytes": 50531, + "sha256": "a226d928a894c7ca88a26a56ed5e9abe93b4b5097f8e2671566be6b304ba01d5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_numeric_core.cpp", + "bytes": 54002, + "sha256": "ce20a90adb8a410dc1b6cbf607b7bfa8bf21eaef158c5c6bfc7a9bbcc703d2b2" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd", + "bytes": 611530, + "sha256": "b4201726a735e9d979bd1ffae626ecd43ad2b76e4c7d1b51430884609bf2f4dc" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-symbol-map-r273-r04/execution.json", + "bytes": 239284, + "sha256": "5894ace631e88d5b02e58cfe654af9f140beb6bf032458b516b830e0b643c62a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-sampling-r272-r03/actual-root-verification.json", + "bytes": 25953, + "sha256": "22462a79745aa07629fa30ee7ad2297db4bdefd2c4a340a2fea30fd4e615ec20" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-r275.py", + "bytes": 16495, + "sha256": "3f3c7118f9ad880a9f8ea0ed7f98940bd8a18a2edacf354fb9028ffba03f16de" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02.py", + "bytes": 16425, + "sha256": "df4009c713d138a819cf2ec4a78aaf874df6a273824553661733ad519b386946" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-preview-r275.json", + "bytes": 3379, + "sha256": "43d7ddf26df4b28e48699bae16de16442946890c3e302cd15e94a9e3cd84b8e8" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/input.json", + "bytes": 4511, + "sha256": "6bd46c589bc57ab5afad1d7195f7293ec450aafeed055e394a3a880744666ca3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-static-independent-review-r274.json", + "bytes": 8909, + "sha256": "f13ed2a32320d85c02011943633be7a4e01f2409f019fadab8dde1680d58f642" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-static-root-verification-r274.json", + "bytes": 5150, + "sha256": "8570795a1f86ac90c053d208ccfad2c9966d912c26fe46380a22a2dd946de860" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-actual-independent-review-r266-r02.json", + "bytes": 23678, + "sha256": "63eebafd26d536dc5c7bdf9d4dd0880d75fe9f701a7a4da84225cade7d83ff2f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02/input.json", + "bytes": 658416, + "sha256": "1a97069005f62b1186925cc62cd53055f90a04851f70b44cffed9381e2697ce7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-r266-r02/execution.json", + "bytes": 7154, + "sha256": "91c5e7ccedaf123b54d57258aa4d5eb8eb445067f9afefc4ce8c0aac2a115ee0" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-independent-review-r77.json", + "bytes": 16092, + "sha256": "75d3bbff767fb88af266c4b1b9da37d96294ab72b9e07fcac9a3e7e567a29d49" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/input.json", + "bytes": 900666, + "sha256": "d2381f455e44d8355f54de0c52ed08d6ffbadbd68836848a87e96073c41e80e9" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/sdk/bin/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2251696, + "sha256": "f429c29496622a7bfd460ebf249bb3930a515ca4fedd7efc6d347acab8015c35" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-validation-r77/execution.json", + "bytes": 62521, + "sha256": "58eb89af57b5d445058adfacff053171765433570a5d406d324a476ede7695f1" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "bytes": 141373024, + "sha256": "7def90dd8829726686213a747fc5bff1583df933dae5edc55d755479e0bfe00a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/input.json", + "bytes": 10538, + "sha256": "f7a872726566563f07462a13b5caf0f49fca12c4eabc627326ab79842f19fc72" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-static-independent-review-r265-r03.json", + "bytes": 16528, + "sha256": "ee61c1b689b92e12c653701f801b99cccf94ef64e3aeb018c06c7a14259d1778" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76/compile_commands.json", + "bytes": 46759, + "sha256": "43cbba9c13c03bc8539efac1eaaf4da9b5d3d6a9af3875d8cc3a3994e1a59745" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-actual-independent-review-r133.json", + "bytes": 199445, + "sha256": "c3cbeb45c1353dfea5f8181d10cc60f8a9b81db55d766ac5db902ac28c159a61" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/input.json", + "bytes": 838584, + "sha256": "bf6dafe0a55c9ffb0310ef5ede6471aac93f9dee4f4fe6ad84e20e998202514e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2284912, + "sha256": "4d54f0980c3f445f3013cddb859135b619f28a91205fc8b9fbc9d10bc76c52c3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-bridge-build-r76.py", + "bytes": 14637, + "sha256": "e8cfbc4cea630e0cb245d825ac5daf9730e309c4895bcbc949a744f41a2d760a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-static-root-verification-r265-r03.json", + "bytes": 13035, + "sha256": "e5bf37bdd96f9ffc8890b07345a1698a6840313690d7b2b0d5b3d5266f04c86a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-build-preexecution-independent-review-r266-r02.json", + "bytes": 43675, + "sha256": "ee4156fd9425ca632317ee4821059842b5c34f4146421dba90e8b00036192845" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.json", + "bytes": 7774, + "sha256": "f8d005f09381389167f9e0aeaa169bc9e7dff162ef22ca2fd8e98df7ff1acafe" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/SDKSettings.plist", + "bytes": 5388, + "sha256": "e5c7c40b8c5dc1a9f99f8b9fa51870f8fe180421225b8201d0c4c826aad11bdc" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef", + "bytes": 1607, + "sha256": "53c4fc868f6439e48e52bbc9445a48eab1e597bbfad037ab7480216cb0c6832f" + }, + { + "path": "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libc++.tbd", + "bytes": 155867, + "sha256": "5539059b5e609a9518358e42234cc9a439ae0f54e5e8ca136686a8c9ebc35c1a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-preexecution-independent-review-r275.json", + "bytes": 21406, + "sha256": "38639f46a7dedb6926351ba5ded85cb0740ff4988e7ecff0360817696257b76a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-actual-independent-review-r301.json", + "bytes": 38167, + "sha256": "0aefd18bc6d12b9f50dae3faf7d53f7120c384906708bab519a506e8432a5dd6" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/array.cpp", + "bytes": 27906, + "sha256": "ad9ebc6db6a962c817e2dbcee7f9c529dccd042090137e00dcf1a0594696f70b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/source.json", + "bytes": 291, + "sha256": "cd89af6dd2258fe71036edf9f92ce6302d823b68c257405e2a56795726e87834" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json", + "bytes": 21552, + "sha256": "54576596f82b8aceca440c1a5514ce811125e977c64c210675feecbb3901929f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + ], + "unit_accepted": false, + "performance_accepted": false +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preview-r303.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preview-r303.json new file mode 100644 index 0000000..bfd17b8 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preview-r303.json @@ -0,0 +1,61 @@ +{ + "plan": [ + [ + "compile-062", + [ + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "-o", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "-c", + "-std=c++17", + "-isystem", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/include", + "-isystem", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/gen/include", + "-Wall", + "-Wextra", + "-Werror", + "-fexceptions", + "-arch", + "arm64", + "-isysroot", + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk", + "-fvisibility=hidden", + "-O3", + "-fPIC", + "-DMACOS_ENABLED", + "-DUNIX_ENABLED", + "-DTHREADS_ENABLED", + "-DDEBUG_ENABLED", + "-DNDEBUG", + "-DGDEXTENSION", + "-I/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp" + ] + ], + [ + "link", + [ + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "-o", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "-arch", + "arm64", + "-isysroot", + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk", + "-fvisibility=hidden", + "-Wl,-S", + "-Wl,-x", + "-Wl,-dead_strip", + "-shared", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a" + ] + ] + ], + "planned_bridge_compilations": 1, + "planned_SDK_compilations": 0, + "Godot_loaded": false, + "source_candidate": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302", + "scope": "Same authenticated compiler/options/SDK archive as275; only r302 candidate and r303 output paths changed. 1 bridge compile +1 link, SDK compile0, engine0, unadopted." +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303.py new file mode 100644 index 0000000..24df3ce --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303.py @@ -0,0 +1,181 @@ +# coding: utf-8 +"""Compile only r302 builtin compact ready-route materialization bridge against authenticated unchanged r133 SDK archive; no Godot execution.""" +from pathlib import Path +import importlib.util, json, os, platform, shutil, subprocess, sys, time, signal, shlex +sys.dont_write_bytecode=True +R=Path(__file__).resolve().parents[2];A=R/'artifacts/original-completion-2026-10-02' +C=A/'p23-02-native-ready-route-candidate-r302';O=A/'p23-02-native-ready-route-build-r303' +BASE=A/'p23-02-native-bridge-build-r76';BASE_SDK=BASE/'sdk';SDK_C=A/'p23-02-native-sdk-lifetime-candidate-r131';SDK=SDK_C/'sdk';HOST=A/'p23-02-native-sdk-lifetime-build-r133' +FLOOR=512*1048576;GROWTH=16*1048576 +def mod(name,path): + spec=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m);return m +def main(): + r=mod('buffer_build_runner',R/'tools/run_all_tests.py');outer=mod('buffer_build_owned',r.SUPPORT/'owned_outer.py') + build_helper_path=A/'p23-02-native-bridge-build-r76.py' + build_helper=mod('retained_build_ownership',build_helper_path) + def pin(p):return dict(path=str(p),bytes=p.stat().st_size,sha256=r.sha(p)) + D=R/'docs/plans/original-completion-2026-10-02';names=['IMPLEMENTATION_PLAN.md','PROGRESS_INTEGRATION.md','work_packages.json','progress_snapshot.json'] + preexecution_review=A/'p23-02-native-ready-route-build-preexecution-independent-review-r303.json' + preexecution=r.read(preexecution_review) + assert preexecution['execution_allowed'] and not preexecution['blockers'] + for group in ['evidence_sha256','canonical_doc4_context_pins']: + values=preexecution[group] + for q in values.values() if isinstance(values,dict) else values: + p=Path(q['path']);assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'] + assert r.read(A/'p23-02-native-ready-route-build-preexecution-root-verification-r303.json')['passed'] + source=r.source_refs(R);player=r.default_player(R);docs={n:r.sha(D/n) for n in names} + assert {n:v['sha256'] for n,v in source.items()}==r.read(A/'p23-02-final-candidate-r32-source-adoption-r03/source-after.json') + assert platform.machine()=='arm64' and not O.exists() and not outer.native.helper['live_engines']() + assert shutil.disk_usage(A).free>=FLOOR+GROWTH + review=A/'p23-02-native-bridge-build-validation-independent-review-r77.json' + assert r.sha(review)=='75d3bbff767fb88af266c4b1b9da37d96294ab72b9e07fcac9a3e7e567a29d49' + auth=r.read(review)['evidence_sha256'] + base_input=BASE/'input.json';archive=BASE_SDK/'bin/libgodot-cpp.macos.template_debug.arm64.a' + accepted_receipt=A/'p23-02-native-bridge-build-validation-r77/execution.json' + for p in [base_input,archive,accepted_receipt]: + v=auth[str(p)];assert p.stat().st_size==v['bytes'] and r.sha(p)==v['sha256'] + old=r.read(base_input);compiler=Path(old['compiler_pins']['clang++']['path']) + assert pin(compiler)==old['compiler_pins']['clang++'] + for p in old['macos_sdk']['pins']:assert pin(Path(p['path']))==p + sdk_path=old['macos_sdk']['path'] + assert str(Path(subprocess.run(['/usr/bin/xcrun','--sdk','macosx','--show-sdk-path'],capture_output=True,text=True,check=True,timeout=10).stdout.strip()).resolve())==sdk_path + candidate_input=C/'input.json';candidate_review=A/'p23-02-native-ready-route-static-independent-review-r302.json' + candidate_root=r.read(A/'p23-02-native-ready-route-static-root-verification-r302.json') + assert candidate_root['passed'] and candidate_root['review_sha256']==r.sha(candidate_review) + v=r.read(candidate_input);support=r.read(candidate_review) + assert support['implementation_supported'] and not support['blockers'] + # Authenticate candidate evidence; current canonical301 context pins must still match at preexecution. + for path,q in support['evidence_sha256'].items(): + p=Path(q.get('path',path));assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'] + canonical_context=support['canonical_doc4_context_pins'] + for q in canonical_context.values() if isinstance(canonical_context,dict) else canonical_context: + p=Path(q['path']);assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'] + host_review=A/'p23-02-native-sdk-lifetime-build-actual-independent-review-r133.json' + assert r.sha(host_review)=='c3cbeb45c1353dfea5f8181d10cc60f8a9b81db55d766ac5db902ac28c159a61' + host_support=r.read(host_review);assert host_support['host_build_accepted'] and not host_support['blockers'] + host_input=HOST/'input.json';new_archive=HOST/'libgodot-cpp.macos.template_debug.arm64.a' + for p in [host_input,new_archive]: + q=host_support['evidence_sha256'][str(p)];assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'] + host=r.read(host_input);sdk_inventory=host['SDK_inventory'];assert r.inventory(SDK)==sdk_inventory + sdk_candidate_inventory=host['candidate_inventory'];assert r.inventory(SDK_C)==sdk_candidate_inventory + accepted_inventory=r.read(accepted_receipt)['original_r76_inventory'] + parent_sdk_inventory={key[len('sdk/'):]:value for key,value in accepted_inventory.items() if key.startswith('sdk/')} + assert parent_sdk_inventory and r.inventory(BASE_SDK)==parent_sdk_inventory + source_inventory=r.inventory(C/'source') + assert pin(C/'source/tree_numeric_core.cpp')==v['pins'][str(C/'source/tree_numeric_core.cpp')] and pin(C/'source/tree_core.hpp')==v['pins'][str(C/'source/tree_core.hpp')] + candidate_inventory=r.inventory(C);base_source_inventory=r.inventory(BASE/'source') + compile_db=BASE/'compile_commands.json' + authenticated_compile_db=auth[str(compile_db)] + assert compile_db.stat().st_size==authenticated_compile_db['bytes'] and r.sha(compile_db)==authenticated_compile_db['sha256'] + commands=r.read(compile_db);assert len(commands)==63 + fixed=[review,base_input,archive,accepted_receipt,compiler,candidate_input,candidate_review,C/'source/tree_numeric_core.cpp',C/'source/tree_core.hpp',compile_db,host_review,host_input,new_archive,build_helper_path,Path(__file__)] + fixed += [A/'p23-02-native-ready-route-static-root-verification-r302.json'] + fixed += [preexecution_review] + fixed += [Path(p['path']) for p in old['macos_sdk']['pins']] + pins={str(p):pin(p) for p in fixed} + O.mkdir();(O/'objects').mkdir();library=O/'libtree_numeric_core.macos.template_debug.dylib' + compile_plan=[];sdk_objects=[];bridge_object=None + for i,row in enumerate(commands): + if row['file'].startswith('sdk/'):continue + argv=shlex.split(row['command']);assert argv[0]=='clang++' and '-c' in argv + argv[0]=str(compiler);out_index=argv.index('-o')+1;assert argv[out_index]==row['output'] + obj=O/'objects'/('%03d-'%i+Path(row['output']).name);argv[out_index]=str(obj) + for j,t in enumerate(argv): + if t.startswith('sdk/'):argv[j]=str(SDK_C/t) + elif t.startswith('source/'):argv[j]=str(C/t) + elif t.startswith('-Isdk/'):argv[j]='-I'+str(SDK_C/t[2:]) + elif t=='-Isource':argv[j]='-I'+str(C/t[2:]) + source_file=C/row['file'];assert source_file.is_file();pins[str(source_file)]=pin(source_file) + compile_plan.append(('compile-%03d'%i,argv)) + if row['file'].startswith('sdk/'):sdk_objects.append(obj) + else:assert row['file']=='source/tree_numeric_core.cpp' and bridge_object is None;bridge_object=obj + assert len(sdk_objects)==0 and len(compile_plan)==1 and bridge_object is not None + link_argv=[str(compiler),'-o',str(library),'-arch','arm64','-isysroot',sdk_path,'-fvisibility=hidden','-Wl,-S','-Wl,-x','-Wl,-dead_strip','-shared',str(bridge_object),str(new_archive)] + plan=compile_plan+[('link',link_argv)] + assert json.loads(json.dumps(plan))==r.read(A/'p23-02-native-ready-route-build-preview-r303.json')['plan'] + r.write(O/'input.json',dict(source_before=source,default_player_before=player,doc4_before=docs,pins=pins,SDK_path=str(SDK),SDK_inventory=sdk_inventory,parent_SDK_inventory=parent_sdk_inventory,SDK_identity_source=pin(accepted_receipt),candidate_inventory=candidate_inventory,base_source_inventory=base_source_inventory,plan=plan,capacity_floor_bytes=FLOOR,maximum_growth_bytes=GROWTH,expected_duration_seconds=[2,30],watchdog_seconds_each=90,serial=True,authenticated_compile_database=authenticated_compile_db,full_input_inventory_before_and_after_each_phase=True,planned_bridge_compilations=1,planned_SDK_compilations=0,SDK_archive_reused=pin(new_archive),old_bridge_object_reused=False,Godot_loaded=False,unit_accepted=False)) + env=r.fresh_environment(os.environ) + for key in list(env): + if key.startswith('CCACHE_') or key in ['CFLAGS','CXXFLAGS','CCFLAGS','LDFLAGS','CPATH','CPLUS_INCLUDE_PATH','LIBRARY_PATH','SDKROOT','MACOSX_DEPLOYMENT_TARGET']: + env.pop(key) + phases=[];error=None;cleanup=[];cleanup_errors=[];binary_checks={};spawned=[] + def verify_protected_inputs(): + assert r.inventory(C)==candidate_inventory + assert r.inventory(SDK)==sdk_inventory and r.inventory(SDK_C)==sdk_candidate_inventory + assert r.inventory(BASE/'source')==base_source_inventory + assert r.inventory(BASE_SDK)==parent_sdk_inventory + for path,q in pins.items():assert pin(Path(path))==q + + def run_build_phase(name,argv): + # Compiler diagnostics have no Godot banner. Use retained build ownership, + # not the engine-specific diagnostic parser or a synthesized banner. + folder=O/name;folder.mkdir();process=None;phase_error=None;phase_cleanup=[];errors=[];remaining=None + started=time.monotonic();timed_out=False;exit_code=None + try: + with (folder/'stdout.log').open('wb') as stdout,(folder/'stderr.log').open('wb') as stderr: + process=subprocess.Popen(argv,cwd=folder,env=env,stdout=stdout,stderr=stderr,start_new_session=True) + spawned.append(dict(phase=name,pid=process.pid,argv=argv)) + initial=build_helper.group_members(process.pid) + if process.poll() is None: + assert os.getpgid(process.pid)==process.pid and os.getsid(process.pid)==process.pid + assert any(q['pid']==process.pid and q['ppid']==os.getpid() for q in initial) + r.write(folder/'started.json',dict(pid=process.pid,owner_pid=os.getpid(),pgid=process.pid,argv=argv,started_utc=r.now(),initial_members=initial,owned_new_session=True)) + print(json.dumps(dict(build_phase=name,pid=process.pid)),flush=True) + while process.poll() is None: + if time.monotonic()-started>90: + timed_out=True;raise TimeoutError('owned compiler watchdog90s') + assert shutil.disk_usage(A).free>=FLOOR + assert sum(p.stat().st_size for p in O.rglob('*') if p.is_file())<=GROWTH + time.sleep(0.1) + exit_code=process.wait(timeout=5) + except BaseException as caught:phase_error=type(caught).__name__+': '+str(caught) + finally: + if process is not None: + try: + phase_cleanup,remaining=build_helper.cleanup_owned_parent(process,process.pid,errors) + except BaseException as caught: + errors.append('retained cleanup exception: '+repr(caught)) + # An unexpected helper exception never skips exact-Popen cleanup. + # No group is discovered or signalled by this fallback. + for sig in [signal.SIGTERM,signal.SIGKILL]: + try: + if process.poll() is None:process.send_signal(sig) + except BaseException as failure:errors.append('tracked signal: '+repr(failure)) + try:process.wait(timeout=3) + except BaseException as failure:errors.append('tracked wait: '+repr(failure)) + try:exit_code=process.wait(timeout=5) + except BaseException as caught:errors.append('final tracked wait: '+repr(caught)) + r.write(folder/'ended.json',dict(pid=process.pid,argv=argv,pgid=process.pid,ended_utc=r.now(),exit_code=exit_code,duration_seconds=time.monotonic()-started,cleanup=phase_cleanup,remaining=remaining,cleanup_errors=errors,foreign_process_or_group_signals=0)) + result=dict(pid=process.pid if process else None,exit_code=exit_code,timed_out=timed_out,error_lines=[phase_error] if phase_error else [],duration_seconds=time.monotonic()-started) + capture=dict(passed=process is not None and phase_error is None and not errors and remaining==[],cleanup=phase_cleanup,cleanup_errors=errors,all_captured_ended=process is not None and process.poll() is not None,foreign_process_or_group_signals=0) + return result,capture + try: + for name,argv in plan: + assert shutil.disk_usage(A).free>=FLOOR+GROWTH and not outer.native.helper['live_engines']() + # Authenticate every header/source and retained parent before and after each owned phase. + verify_protected_inputs() + result,capture=run_build_phase(name,argv) + post_input_error=None + try:verify_protected_inputs() + except BaseException as caught:post_input_error=type(caught).__name__+': '+str(caught) + row=dict(name=name,result=result,capture=capture,full_input_inventory_before_verified=True,full_input_inventory_after_verified=post_input_error is None,post_input_error=post_input_error);phases.append(row);r.write(O/(name+'-phase.json'),row) + assert post_input_error is None, post_input_error + assert result is not None and result['exit_code']==0 and not result['error_lines'] and not result['timed_out'] and capture['passed'] + assert (O/name/'stderr.log').read_bytes()==b'' + assert sum(p.stat().st_size for p in O.rglob('*') if p.is_file())<=GROWTH + assert library.is_file() and bridge_object.is_file() and new_archive.is_file() + for name,argv in [('file',['/usr/bin/file',str(library)]),('arch',['/usr/bin/lipo','-archs',str(library)]),('dependencies',['/usr/bin/otool','-L',str(library)]),('exports',['/usr/bin/nm','-gU',str(library)])]: + q=subprocess.run(argv,capture_output=True,text=True,check=True,timeout=10) + assert not q.stderr;binary_checks[name]=q.stdout + assert binary_checks['arch'].strip()=='arm64' and '_tree_numeric_core_init' in binary_checks['exports'] and 'dynamically linked shared library' in binary_checks['file'] + except BaseException as caught:error=type(caught).__name__+': '+str(caught) + finally: + cleanup=[row['capture']['cleanup'] for row in phases] + cleanup_errors=[message for row in phases for message in row['capture']['cleanup_errors']] + preserved=r.source_refs(R)==source and r.default_player(R)==player and {n:r.sha(D/n) for n in names}==docs and r.inventory(C)==candidate_inventory and r.inventory(SDK)==sdk_inventory and r.inventory(SDK_C)==sdk_candidate_inventory and r.inventory(BASE/'source')==base_source_inventory and r.inventory(BASE_SDK)==parent_sdk_inventory + for name_pin,q in pins.items():preserved=preserved and pin(Path(name_pin))==q + assert preserved + passed=error is None and len(phases)==2 and not cleanup_errors + r.write(O/'execution.json',dict(passed=passed,error=error,phases=phases,cleanup=cleanup,cleanup_errors=cleanup_errors,binary_checks=binary_checks,object=pin(bridge_object) if bridge_object.exists() else None,library=pin(library) if library.exists() else None,original_inputs_preserved=preserved,bridge_compilations=sum(q['phase']=='compile-062' for q in spawned),link_attempts=sum(q['phase']=='link' for q in spawned),spawned_children=spawned,SDK_compilations=sum(q['phase'].startswith('compile-') and q['phase']!='compile-062' for q in spawned),SDK_archive_reused=pin(new_archive),SDK_archive_rebuilt=False,old_bridge_object_reused=False,Godot_loaded=False,selected=False,unit_accepted=False,performance_accepted=False,limits=['Exact modified r302 compact ready-route materialization bridge one-object compile and link to authenticated unchanged r133 SDK archive only; no SDK recompilation, Godot load, protocol, performance or unit acceptance.'])) + print(json.dumps(dict(passed=passed,error=error)),flush=True);return 0 if passed else 1 +if __name__=='__main__':raise SystemExit(main()) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062-phase.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062-phase.json new file mode 100644 index 0000000..01d29df --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062-phase.json @@ -0,0 +1,28 @@ +{ + "name": "compile-062", + "result": { + "pid": 57046, + "exit_code": 0, + "timed_out": false, + "error_lines": [], + "duration_seconds": 1.7274599580000007 + }, + "capture": { + "passed": true, + "cleanup": [ + { + "attempt": 0, + "pgid": 57046, + "members_before": [], + "group_signal": null, + "tracked_parent_signal": null + } + ], + "cleanup_errors": [], + "all_captured_ended": true, + "foreign_process_or_group_signals": 0 + }, + "full_input_inventory_before_verified": true, + "full_input_inventory_after_verified": true, + "post_input_error": null +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/ended.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/ended.json new file mode 100644 index 0000000..3ef9d6e --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/ended.json @@ -0,0 +1,49 @@ +{ + "pid": 57046, + "argv": [ + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "-o", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "-c", + "-std=c++17", + "-isystem", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/include", + "-isystem", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/gen/include", + "-Wall", + "-Wextra", + "-Werror", + "-fexceptions", + "-arch", + "arm64", + "-isysroot", + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk", + "-fvisibility=hidden", + "-O3", + "-fPIC", + "-DMACOS_ENABLED", + "-DUNIX_ENABLED", + "-DTHREADS_ENABLED", + "-DDEBUG_ENABLED", + "-DNDEBUG", + "-DGDEXTENSION", + "-I/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp" + ], + "pgid": 57046, + "ended_utc": "2026-10-12T00:11:26.519218+00:00", + "exit_code": 0, + "duration_seconds": 1.7271206249999995, + "cleanup": [ + { + "attempt": 0, + "pgid": 57046, + "members_before": [], + "group_signal": null, + "tracked_parent_signal": null + } + ], + "remaining": [], + "cleanup_errors": [], + "foreign_process_or_group_signals": 0 +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/started.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/started.json new file mode 100644 index 0000000..7774ee9 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/started.json @@ -0,0 +1,45 @@ +{ + "pid": 57046, + "owner_pid": 56991, + "pgid": 57046, + "argv": [ + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "-o", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "-c", + "-std=c++17", + "-isystem", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/include", + "-isystem", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/gen/include", + "-Wall", + "-Wextra", + "-Werror", + "-fexceptions", + "-arch", + "arm64", + "-isysroot", + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk", + "-fvisibility=hidden", + "-O3", + "-fPIC", + "-DMACOS_ENABLED", + "-DUNIX_ENABLED", + "-DTHREADS_ENABLED", + "-DDEBUG_ENABLED", + "-DNDEBUG", + "-DGDEXTENSION", + "-I/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp" + ], + "started_utc": "2026-10-12T00:11:24.827341+00:00", + "initial_members": [ + { + "pid": 57046, + "ppid": 56991, + "pgid": 57046, + "args": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os -c -std=c++17 -isystem /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/include -isystem /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/gen/include -Wall -Wextra -Werror -fexceptions -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -fvisibility=hidden -O3 -fPIC -DMACOS_ENABLED -DUNIX_ENABLED -DTHREADS_ENABLED -DDEBUG_ENABLED -DNDEBUG -DGDEXTENSION -I/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp" + } + ], + "owned_new_session": true +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stderr.log b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stdout.log b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stdout.log new file mode 100644 index 0000000..e69de29 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/execution.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/execution.json new file mode 100644 index 0000000..76ce6f6 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/execution.json @@ -0,0 +1,173 @@ +{ + "passed": true, + "error": null, + "phases": [ + { + "name": "compile-062", + "result": { + "pid": 57046, + "exit_code": 0, + "timed_out": false, + "error_lines": [], + "duration_seconds": 1.7274599580000007 + }, + "capture": { + "passed": true, + "cleanup": [ + { + "attempt": 0, + "pgid": 57046, + "members_before": [], + "group_signal": null, + "tracked_parent_signal": null + } + ], + "cleanup_errors": [], + "all_captured_ended": true, + "foreign_process_or_group_signals": 0 + }, + "full_input_inventory_before_verified": true, + "full_input_inventory_after_verified": true, + "post_input_error": null + }, + { + "name": "link", + "result": { + "pid": 57061, + "exit_code": 0, + "timed_out": false, + "error_lines": [], + "duration_seconds": 0.4242618339999993 + }, + "capture": { + "passed": true, + "cleanup": [ + { + "attempt": 0, + "pgid": 57061, + "members_before": [], + "group_signal": null, + "tracked_parent_signal": null + } + ], + "cleanup_errors": [], + "all_captured_ended": true, + "foreign_process_or_group_signals": 0 + }, + "full_input_inventory_before_verified": true, + "full_input_inventory_after_verified": true, + "post_input_error": null + } + ], + "cleanup": [ + [ + { + "attempt": 0, + "pgid": 57046, + "members_before": [], + "group_signal": null, + "tracked_parent_signal": null + } + ], + [ + { + "attempt": 0, + "pgid": 57061, + "members_before": [], + "group_signal": null, + "tracked_parent_signal": null + } + ] + ], + "cleanup_errors": [], + "binary_checks": { + "file": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib: Mach-O 64-bit dynamically linked shared library arm64\n", + "arch": "arm64\n", + "dependencies": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib:\n\t/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib (compatibility version 0.0.0, current version 0.0.0)\n\t/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 2100.43.0)\n\t/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1356.0.0)\n", + "exports": "0000000000000828 T _tree_numeric_core_init\n" + }, + "object": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "bytes": 267672, + "sha256": "19574a4e5a283d805bc2699ca586c75732cfd7c336ef5be890ba5331f3c32c17" + }, + "library": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "original_inputs_preserved": true, + "bridge_compilations": 1, + "link_attempts": 1, + "spawned_children": [ + { + "phase": "compile-062", + "pid": 57046, + "argv": [ + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "-o", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "-c", + "-std=c++17", + "-isystem", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/include", + "-isystem", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-candidate-r131/sdk/gen/include", + "-Wall", + "-Wextra", + "-Werror", + "-fexceptions", + "-arch", + "arm64", + "-isysroot", + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk", + "-fvisibility=hidden", + "-O3", + "-fPIC", + "-DMACOS_ENABLED", + "-DUNIX_ENABLED", + "-DTHREADS_ENABLED", + "-DDEBUG_ENABLED", + "-DNDEBUG", + "-DGDEXTENSION", + "-I/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp" + ] + }, + { + "phase": "link", + "pid": 57061, + "argv": [ + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "-o", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "-arch", + "arm64", + "-isysroot", + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk", + "-fvisibility=hidden", + "-Wl,-S", + "-Wl,-x", + "-Wl,-dead_strip", + "-shared", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a" + ] + } + ], + "SDK_compilations": 0, + "SDK_archive_reused": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a", + "bytes": 2284912, + "sha256": "4d54f0980c3f445f3013cddb859135b619f28a91205fc8b9fbc9d10bc76c52c3" + }, + "SDK_archive_rebuilt": false, + "old_bridge_object_reused": false, + "Godot_loaded": false, + "selected": false, + "unit_accepted": false, + "performance_accepted": false, + "limits": [ + "Exact modified r302 compact ready-route materialization bridge one-object compile and link to authenticated unchanged r133 SDK archive only; no SDK recompilation, Godot load, protocol, performance or unit acceptance." + ] +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/input.json.gz b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/input.json.gz new file mode 100644 index 0000000..5d21783 Binary files /dev/null and b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/input.json.gz differ diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link-phase.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link-phase.json new file mode 100644 index 0000000..9229770 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link-phase.json @@ -0,0 +1,28 @@ +{ + "name": "link", + "result": { + "pid": 57061, + "exit_code": 0, + "timed_out": false, + "error_lines": [], + "duration_seconds": 0.4242618339999993 + }, + "capture": { + "passed": true, + "cleanup": [ + { + "attempt": 0, + "pgid": 57061, + "members_before": [], + "group_signal": null, + "tracked_parent_signal": null + } + ], + "cleanup_errors": [], + "all_captured_ended": true, + "foreign_process_or_group_signals": 0 + }, + "full_input_inventory_before_verified": true, + "full_input_inventory_after_verified": true, + "post_input_error": null +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/ended.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/ended.json new file mode 100644 index 0000000..7d214f0 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/ended.json @@ -0,0 +1,35 @@ +{ + "pid": 57061, + "argv": [ + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "-o", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "-arch", + "arm64", + "-isysroot", + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk", + "-fvisibility=hidden", + "-Wl,-S", + "-Wl,-x", + "-Wl,-dead_strip", + "-shared", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a" + ], + "pgid": 57061, + "ended_utc": "2026-10-12T00:11:27.401517+00:00", + "exit_code": 0, + "duration_seconds": 0.4239313339999988, + "cleanup": [ + { + "attempt": 0, + "pgid": 57061, + "members_before": [], + "group_signal": null, + "tracked_parent_signal": null + } + ], + "remaining": [], + "cleanup_errors": [], + "foreign_process_or_group_signals": 0 +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/started.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/started.json new file mode 100644 index 0000000..4b10a64 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/started.json @@ -0,0 +1,31 @@ +{ + "pid": 57061, + "owner_pid": 56991, + "pgid": 57061, + "argv": [ + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++", + "-o", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "-arch", + "arm64", + "-isysroot", + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk", + "-fvisibility=hidden", + "-Wl,-S", + "-Wl,-x", + "-Wl,-dead_strip", + "-shared", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a" + ], + "started_utc": "2026-10-12T00:11:27.015789+00:00", + "initial_members": [ + { + "pid": 57061, + "ppid": 56991, + "pgid": 57061, + "args": "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -o /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -fvisibility=hidden -Wl,-S -Wl,-x -Wl,-dead_strip -shared /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/objects/062-tree_numeric_core.os /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-sdk-lifetime-build-r133/libgodot-cpp.macos.template_debug.arm64.a" + } + ], + "owned_new_session": true +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stderr.log b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stdout.log b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stdout.log new file mode 100644 index 0000000..e69de29 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/input.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/input.json new file mode 100644 index 0000000..3ab3802 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/input.json @@ -0,0 +1,77 @@ +{ + "pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_numeric_core.cpp", + "bytes": 54002, + "sha256": "ce20a90adb8a410dc1b6cbf607b7bfa8bf21eaef158c5c6bfc7a9bbcc703d2b2" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/private/tmp/thetree-prepare-ready-route-r302.py": { + "path": "/private/tmp/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-symbol-map-r273-r04/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-symbol-map-r273-r04/execution.json", + "bytes": 239284, + "sha256": "5894ace631e88d5b02e58cfe654af9f140beb6bf032458b516b830e0b643c62a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-sampling-r272-r03/actual-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-sampling-r272-r03/actual-root-verification.json", + "bytes": 25953, + "sha256": "22462a79745aa07629fa30ee7ad2297db4bdefd2c4a340a2fea30fd4e615ec20" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/array.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/array.cpp", + "bytes": 27906, + "sha256": "ad9ebc6db6a962c817e2dbcee7f9c529dccd042090137e00dcf1a0594696f70b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/source.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/source.json", + "bytes": 291, + "sha256": "cd89af6dd2258fe71036edf9f92ce6302d823b68c257405e2a56795726e87834" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json", + "bytes": 21552, + "sha256": "54576596f82b8aceca440c1a5514ce811125e977c64c210675feecbb3901929f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + } + }, + "scope": "One compact ready-route reconstruction and fresh typed cache-copy bundle against retained r274/library275. Original parent order/maximum-length/cycle bound/error fallback/counters/callback positions/ownership/cache publication retained. Exact builtin Path rechecked at each original helper call; invalid shape and custom script use original helpers. Same graph/route/value policies; no persistent cache or scheduler/time/price/content change. Source-only uncompiled, unadopted. Historical sample273 on prior implementation is a location hypothesis only, not current timing acceptance.", + "parent_inverse_byteexact": true, + "changes": 4, + "compiler_runs": 0, + "engine_runs": 0, + "candidate_adopted": false, + "unit_accepted": false, + "unverified": [ + "Compile/parse/type and fresh writable typed Array result", + "Finite compact parent/cycle/bounds/readonly/alias/custom script fallback behavior", + "Whole representative runtime/results/50ms/P95/D10", + "Mandatory final172/normal OS/Windows/original17" + ] +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp new file mode 100644 index 0000000..a440355 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp @@ -0,0 +1,75 @@ +#pragma once +// Standalone numeric prototype; not connected to Godot or production. +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace the_tree_native { +using I = std::int64_t; +struct Edge { I neighbor, cost; }; +struct Result { + std::string status = "usable"; + std::vector costs, parents, discovered, parent_discovered, settled; +}; +I signed_add(I a, I b) { + const auto sum = static_cast(a) + static_cast(b); + if (sum <= static_cast(std::numeric_limits::max())) return static_cast(sum); + return std::numeric_limits::min() + static_cast(sum - (std::uint64_t(1) << 63)); +} +template +Result search(I n, I start, const std::vector& goals, EdgeProvider&& edge_provider) { + Result r; + if (start < 0 || start >= n) { r.status = "unusable"; return r; } + r.costs.assign(n, std::numeric_limits::max()); + r.parents.assign(n, -1); + std::vector finalized(n, 0), pending(n, 0); + bool unknown_goal = false; + I remaining = 0; + for (I goal : goals) { + if (goal < 0 || goal >= n) { unknown_goal = true; continue; } + if (!pending[goal]) { pending[goal] = 1; ++remaining; } + } + r.costs[start] = 0; r.discovered.push_back(start); + std::map> frontier; + frontier[0].push_back(start); + while (!frontier.empty()) { + auto it = frontier.begin(); + const I entry_cost = it->first; + auto active = std::move(it->second); + frontier.erase(it); + std::sort(active.begin(), active.end()); + for (I current : active) { + if (finalized[current] || entry_cost != r.costs[current]) continue; + finalized[current] = 1; + r.settled.push_back(current); + if (pending[current]) { pending[current] = 0; --remaining; } + if (!remaining && !unknown_goal) return r; + for (const Edge& edge : edge_provider(current)) { + if (edge.cost <= 0) { r.status = "unusable"; return r; } + const I neighbor = edge.neighbor; + if (neighbor < 0 || neighbor >= n) { r.status = "unusable"; return r; } + const I cost = signed_add(r.costs[current], edge.cost); + if (cost < r.costs[current]) { r.status = "wrapped"; return r; } + const I known = r.costs[neighbor]; + const bool better_parent = cost == known && r.parents[neighbor] >= 0 && current < r.parents[neighbor]; + if (cost > known || (cost == known && !better_parent)) continue; + if (r.parents[neighbor] < 0) { + r.parent_discovered.push_back(neighbor); + if (neighbor != start) r.discovered.push_back(neighbor); + } + r.parents[neighbor] = current; + r.costs[neighbor] = cost; + if (finalized[neighbor]) r.settled.erase(std::remove(r.settled.begin(), r.settled.end(), neighbor), r.settled.end()); + finalized[neighbor] = 0; + frontier[cost].push_back(neighbor); + } + } + } + return r; +} +} // namespace the_tree_native diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp new file mode 100644 index 0000000..9958e17 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp @@ -0,0 +1,868 @@ +// Isolated, uncompiled bridge prototype. No production registration or integration yet. +#include "tree_core.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace godot; +using the_tree_native::I; +using the_tree_native::Edge; + +class TheTreeNumericCore : public RefCounted { + GDCLASS(TheTreeNumericCore, RefCounted) +protected: + static void _bind_methods() { + ClassDB::bind_method(D_METHOD("performance_record_sample", "owner", "metric_id", "duration_us"), &TheTreeNumericCore::performance_record_sample); + ClassDB::bind_method(D_METHOD("guest_tree_edge_rows", "path", "current", "layers", "access"), &TheTreeNumericCore::guest_tree_edge_rows); + ClassDB::bind_method(D_METHOD("search", "cells", "indices", "start_index", "goals", "edge_provider"), &TheTreeNumericCore::search); + ClassDB::bind_method(D_METHOD("search_cached", "cells", "indices", "start_index", "goals", "edge_provider"), &TheTreeNumericCore::search_cached); + ClassDB::bind_method(D_METHOD("clear_edge_cache"), &TheTreeNumericCore::clear_edge_cache); + ClassDB::bind_method(D_METHOD("nearest_guest_access", "path", "start", "goals", "fallback_target", "layers", "access", "ticks"), &TheTreeNumericCore::nearest_guest_access); + ClassDB::bind_method(D_METHOD("project_guest_candidates", "runtime", "guest_id", "open_state", "degraded_state", "movement_scale", "stair_credit", "orthogonal_cost", "ticks"), &TheTreeNumericCore::project_guest_candidates); + } +private: + // Cache belongs to this instance and one caller-owned graph workspace. + // No reuse after cells, indices, filters or edge values change: the caller + // must clear it or release this core. The original search never uses it. + std::map> cached_edges; + // Per-public-call immutable names. No static/global lifetime, cached + // object values, script dispatch result or profile; recursive calls own + // separate scopes. Destruction precedes leaving the engine call. + struct ProjectionNames { + const StringName k_ACCESS_LAYER_DENIED{"ACCESS_LAYER_DENIED",false}; + const StringName k_CONNECTOR{"CONNECTOR",false}; + const StringName k_GOAL_NOT_PASSABLE{"GOAL_NOT_PASSABLE",false}; + const StringName k_GOAL_TEMPORARILY_BLOCKED{"GOAL_TEMPORARILY_BLOCKED",false}; + const StringName k_GOAL_UNREACHABLE{"GOAL_UNREACHABLE",false}; + const StringName k_OK{"OK",false}; + const StringName k_START_NOT_PASSABLE{"START_NOT_PASSABLE",false}; + const StringName k_START_TEMPORARILY_BLOCKED{"START_TEMPORARILY_BLOCKED",false}; + const StringName k__adjacency{"_adjacency",false}; + const StringName k_cells{"cells",false}; + const StringName k_parent_indices{"parent_indices",false}; + const StringName k__build_guest_query_tree_compact{"_build_guest_query_tree_compact",false}; + const StringName k__cache_key{"_cache_key",false}; + const StringName k__cell_traffic{"_cell_traffic",false}; + const StringName k__copy_path{"_copy_path",false}; + const StringName k__diagnose_no_route_reason{"_diagnose_no_route_reason",false}; + const StringName k__find_facility_access_path{"_find_facility_access_path",false}; + const StringName k__find_path_internal{"_find_path_internal",false}; + const StringName k__guest_access_batch_can_select{"_guest_access_batch_can_select",false}; + const StringName k__guest_batch_has_permitted_layer_crossing{"_guest_batch_has_permitted_layer_crossing",false}; + const StringName k__guest_has_checked_in{"_guest_has_checked_in",false}; + const StringName k__guest_step_connector_memo{"_guest_step_connector_memo",false}; + const StringName k__guest_tree_arithmetic_wrapped{"_guest_tree_arithmetic_wrapped",false}; + const StringName k__guest_tree_reconstruct_path{"_guest_tree_reconstruct_path",false}; + const StringName k__need_relief_for_facility_tags{"_need_relief_for_facility_tags",false}; + const StringName k__passable_cells{"_passable_cells",false}; + const StringName k__path_cache{"_path_cache",false}; + const StringName k__query_batch{"_query_batch",false}; + const StringName k__route_failure{"_route_failure",false}; + const StringName k__service_category_for_tags{"_service_category_for_tags",false}; + const StringName k__sorted_name_keys{"_sorted_name_keys",false}; + const StringName k_arithmetic_wrapped{"arithmetic_wrapped",false}; + const StringName k_available_quantity{"available_quantity",false}; + const StringName k_base_quality{"base_quality",false}; + const StringName k_base_service_minutes{"base_service_minutes",false}; + const StringName k_begin_guest_path_query_batch{"begin_guest_path_query_batch",false}; + const StringName k_cache_misses{"cache_misses",false}; + const StringName k_calculate_guest_batch_path_cost{"calculate_guest_batch_path_cost",false}; + const StringName k_candidates{"candidates",false}; + const StringName k_capacity{"capacity",false}; + const StringName k_compact{"compact",false}; + const StringName k_cost{"cost",false}; + const StringName k_cost_values{"cost_values",false}; + const StringName k_costs{"costs",false}; + const StringName k_current_cell{"current_cell",false}; + const StringName k_definition_id{"definition_id",false}; + const StringName k_definition_registry{"definition_registry",false}; + const StringName k_elevators{"elevators",false}; + const StringName k_end_guest_path_query_batch{"end_guest_path_query_batch",false}; + const StringName k_entrance{"entrance",false}; + const StringName k_estimated_total_gold{"estimated_total_gold",false}; + const StringName k_expected_quality{"expected_quality",false}; + const StringName k_expected_wait{"expected_wait",false}; + const StringName k_facility_id{"facility_id",false}; + const StringName k_facility_service{"facility_service",false}; + const StringName k_facility_tags{"facility_tags",false}; + const StringName k_get_connector{"get_connector",false}; + const StringName k_get_facility{"get_facility",false}; + const StringName k_get_facility_business_price{"get_facility_business_price",false}; + const StringName k_get_guest{"get_guest",false}; + const StringName k_get_instances{"get_instances",false}; + const StringName k_get_step_connector{"get_step_connector",false}; + const StringName k_graph_revision{"graph_revision",false}; + const StringName k_group_fit{"group_fit",false}; + const StringName k_guest_service{"guest_service",false}; + const StringName k_illegal_level{"illegal_level",false}; + const StringName k_indices{"indices",false}; + const StringName k_inputs_available{"inputs_available",false}; + const StringName k_instance_id{"instance_id",false}; + const StringName k_inventory_inputs{"inventory_inputs",false}; + const StringName k_inventory_service{"inventory_service",false}; + const StringName k_is_open{"is_open",false}; + const StringName k_last_error{"last_error",false}; + const StringName k_last_no_route_reason{"last_no_route_reason",false}; + const StringName k_last_path_cost{"last_path_cost",false}; + const StringName k_local_inventory_id{"local_inventory_id",false}; + const StringName k_movement_type{"movement_type",false}; + const StringName k_need_relief{"need_relief",false}; + const StringName k_occupied_cells{"occupied_cells",false}; + const StringName k_origin{"origin",false}; + const StringName k_owns_connector{"owns_connector",false}; + const StringName k_path{"path",false}; + const StringName k_path_handle{"path_handle",false}; + const StringName k_path_query_measured{"path_query_measured",false}; + const StringName k_path_service{"path_service",false}; + const StringName k_queue_entries{"queue_entries",false}; + const StringName k_reachable{"reachable",false}; + const StringName k_ready{"ready",false}; + const StringName k_resource_path{"resource_path",false}; + const StringName k_risk_level{"risk_level",false}; + const StringName k_service_category{"service_category",false}; + const StringName k_settled{"settled",false}; + const StringName k_staff_only{"staff_only",false}; + const StringName k_start{"start",false}; + const StringName k_state{"state",false}; + const StringName k_supported{"supported",false}; + const StringName k_tags{"tags",false}; + const StringName k_tagproj_hunger{"hunger",false}; + const StringName k_tagproj_sleep{"sleep",false}; + const StringName k_tagproj_hygiene{"hygiene",false}; + const StringName k_tagproj_medical{"medical",false}; + const StringName k_tagproj_leisure{"leisure",false}; + const StringName k_tagproj_intimacy{"intimacy",false}; + const StringName k_tagproj_dining{"dining",false}; + const StringName k_tagproj_lodging{"lodging",false}; + const StringName k_tagproj_social{"social",false}; + const StringName k_tagproj_bath{"bath",false}; + const StringName k_tagproj_wellness{"wellness",false}; + const StringName k_tagproj_adult_only{"adult_only",false}; + const StringName k_tagproj_restricted_service{"restricted_service",false}; + const StringName k_tagproj_food{"food",false}; + const StringName k_tagproj_service{"service",false}; + const StringName k_target_cell{"target_cell",false}; + const StringName k_targets{"targets",false}; + const StringName k_temporary_block{"temporary_block",false}; + const StringName k_travel_minutes{"travel_minutes",false}; + const StringName k_tree{"tree",false}; + const StringName k_usable{"usable",false}; + }; +public: + // Whole builtin integer record operation. No retained sample values or time + // suppression. Unsupported data returns before any caller-owned mutation. + Dictionary performance_record_sample(Object *owner, const StringName &metric, int64_t duration) { + const StringName supported("supported",false), report_key("report",false); + Dictionary unsupported; unsupported[supported]=false; + Object *script=owner ? owner->get_script() : nullptr; + if (!script || String(script->get(StringName("resource_path",false))) != "res://scripts/core/performance_budget.gd" || metric==StringName() || duration<0) return unsupported; + const StringName samples_key("_samples",false), ordered_key("_ordered_samples",false), bytes_key("_ordered_sample_bytes",false), integer_key("_integer_window_bytes",false), totals_key("_totals",false), counts_key("_sample_counts",false), budgets_key("_budgets",false); + const Variant sv=owner->get(samples_key), ov=owner->get(ordered_key), bv=owner->get(bytes_key), iv=owner->get(integer_key), tv=owner->get(totals_key), cv=owner->get(counts_key), uv=owner->get(budgets_key), capacityv=owner->get(StringName("sample_capacity",false)); + if (sv.get_type()!=Variant::DICTIONARY || ov.get_type()!=Variant::DICTIONARY || bv.get_type()!=Variant::DICTIONARY || iv.get_type()!=Variant::DICTIONARY || tv.get_type()!=Variant::DICTIONARY || cv.get_type()!=Variant::DICTIONARY || uv.get_type()!=Variant::DICTIONARY || capacityv.get_type()!=Variant::INT) return unsupported; + Dictionary samples=sv, orders=ov, rawbytes=bv, integers=iv, totals=tv, counts=cv, budgets=uv; + if (samples.is_read_only() || orders.is_read_only() || rawbytes.is_read_only() || integers.is_read_only() || totals.is_read_only() || counts.is_read_only()) return unsupported; + const std::vector maps{samples,orders,rawbytes,integers,totals,counts,budgets}; + for (size_t i=0;i ordered; + Variant savedbytes=rawbytes.get(metric,PackedByteArray()); + bool reuse=existing && orders.has(metric) && savedbytes.get_type()==Variant::PACKED_BYTE_ARRAY && PackedByteArray(savedbytes)==before; + if (reuse) { + Variant orderv=orders[metric]; + if (orderv.get_type()!=Variant::ARRAY) return unsupported; + Array prior=orderv; + if (prior.is_read_only() || !prior.is_typed() || prior.get_typed_builtin()!=Variant::INT || prior.size()!=values.size()) return unsupported; + ordered=prior; + } else { + for (int64_t i=0;iint64_t(capacityv)) { + Variant removed=values.pop_front(); + ordered.remove_at(ordered.bsearch(removed)); + } + PackedByteArray after=UtilityFunctions::var_to_bytes(values); + rawbytes[metric]=after; integers[metric]=after; + const int64_t lifetime_total=the_tree_native::signed_add(int64_t(totalv),duration); + const int64_t lifetime_count=the_tree_native::signed_add(int64_t(countv),1); + totals[metric]=lifetime_total; counts[metric]=lifetime_count; + const int64_t average=lifetime_count>0 ? lifetime_total/lifetime_count : 0; + const int64_t maximum=ordered.is_empty() ? 0 : std::max(0,int64_t(ordered[ordered.size()-1])); + int64_t p95=0; + if (!ordered.is_empty()) { + const int64_t index=std::max(the_tree_native::signed_add(the_tree_native::signed_add(signed_product(95,ordered.size()),99)/100,-1),0); + p95=ordered[std::min(index,ordered.size()-1)]; + } + const int64_t aggregation=aggregationv, limit=limitv; + // Original default match is P95, including unknown aggregation values. + const int64_t measured=aggregation==0 ? average : (aggregation==2 ? maximum : p95); + Dictionary report; + report[StringName("metric_id",false)]=metric; + report[StringName("window_sample_count",false)]=values.size(); + report[StringName("lifetime_sample_count",false)]=lifetime_count; + report[StringName("average_us",false)]=average; + report[StringName("p95_us",false)]=p95; + report[StringName("maximum_us",false)]=maximum; + report[aggregation_key]=aggregation; + report[StringName("measured_us",false)]=measured; + report[limit_key]=limit; + report[StringName("budget_exceeded",false)]=limit>0 && measured>limit; + Dictionary result; result[supported]=true; result[report_key]=report; return result; + } + void clear_edge_cache() { cached_edges.clear(); } + Dictionary search(const Array &cells, const Dictionary &indices, I start_index, + const Dictionary &goals, const Callable &edge_provider) { + return search_impl(cells, indices, start_index, goals, edge_provider, false); + } + Dictionary search_cached(const Array &cells, const Dictionary &indices, I start_index, + const Dictionary &goals, const Callable &edge_provider) { + return search_impl(cells, indices, start_index, goals, edge_provider, true); + } + // One ordered projection, with no new persistent ownership/cache. Only + // builtin pure getters and the already guarded sole budget observer qualify. + Dictionary project_guest_candidates(Object *runtime, const StringName &guest_id, + int64_t open_state, int64_t degraded_state, int64_t movement_scale, + int64_t stair_credit, int64_t orthogonal_cost, const Callable &ticks) { + const ProjectionNames n; + Dictionary unsupported; + unsupported[n.k_supported] = false; + if (!builtin(n,runtime, "res://autoload/simulation_runtime.gd") || !ticks.is_valid()) return unsupported; + Object *path = runtime->get(n.k_path_service); + Object *elevators = runtime->get(n.k_elevators); + Object *facilities = runtime->get(n.k_facility_service); + Object *definitions = runtime->get(n.k_definition_registry); + Object *inventory = runtime->get(n.k_inventory_service); + Object *guests = runtime->get(n.k_guest_service); + if (!builtin(n,path,"res://scripts/world/path_service.gd") || + !builtin(n,elevators,"res://scripts/transport/elevator_service.gd") || + !builtin(n,facilities,"res://scripts/facility/facility_service.gd") || + !builtin(n,definitions,"res://scripts/core/definition_registry.gd") || + !builtin(n,inventory,"res://scripts/inventory/inventory_service.gd") || + !builtin(n,guests,"res://scripts/guest/guest_service.gd") || + !static_cast(runtime->call(n.k__guest_access_batch_can_select))) return unsupported; + Object *guest = guests->call(n.k_get_guest,guest_id); + Array candidates; + if (!guest) { + Dictionary result; result[n.k_supported] = true; + result[n.k_candidates] = candidates; return result; + } + if (!builtin(n,guest,"res://scripts/guest/guest_runtime.gd")) return unsupported; + const Array initial = facilities->call(n.k_get_instances); + // Preflight is read-only: default registry/get_instances have no public + // error/counter effects. Custom resources retain the original whole loop. + for (int64_t i=0;icall(n.k_get_facility,facility->get(n.k_definition_id)); + if (definition && !builtin(n,definition,"res://scripts/data/facility_definition.gd")) return unsupported; + } + Array goals; + for (int64_t i=0;iget(n.k_current_cell); + path->call(n.k_begin_guest_path_query_batch,start,goals); + const Array ordered = facilities->call(n.k_get_instances); + TypedArray layers; layers.push_back(0); layers.push_back(1); + TypedArray access_ids; + for (int64_t i=0;icall(n.k_get_facility,facility->get(n.k_definition_id)); + if (!definition) continue; + const Array tags = definition->get(n.k_tags); + if (tags.has(n.k_staff_only)) continue; + if (tags.has(n.k_entrance) && static_cast(runtime->call(n.k__guest_has_checked_in,guest))) continue; + bool has_inputs = true; + const Dictionary inputs = definition->get(n.k_inventory_inputs); + const Array items = runtime->call(n.k__sorted_name_keys,inputs); + for (int64_t j=0;jcall(n.k_available_quantity,facility->get(n.k_local_inventory_id),items[j]); + if (quantity < static_cast(inputs[items[j]])) {has_inputs=false;break;} + } + if (!has_inputs) { + Dictionary row;row[n.k_facility_id]=facility->get(n.k_instance_id); + row[n.k_inputs_available]=false;candidates.push_back(row);continue; + } + const Array destinations = facility_access_cells(n,path,facility); + Dictionary route = nearest_guest_access_impl(n,path,start,destinations,facility->get(n.k_origin),layers,access_ids,ticks); + if (static_cast(route.get(n.k_supported,false))) route.erase(n.k_supported); + else route = Dictionary(runtime->call(n.k__find_facility_access_path,start,facility)); + const Array walk = route.get(n.k_path,Array()); + const bool plain_tag_relief = builtin(n,runtime,"res://autoload/simulation_runtime.gd") && + tags.is_typed() && tags.get_typed_builtin()==Variant::STRING_NAME; + const Dictionary relief = plain_tag_relief ? builtin_tag_relief(n,tags) : + Dictionary(runtime->call(n.k__need_relief_for_facility_tags,tags)); + Dictionary row; + row[n.k_facility_id]=facility->get(n.k_instance_id); + row[n.k_facility_tags]=tags.duplicate(); + const int64_t state = facility->get(n.k_state); + row[n.k_is_open]=(state==open_state || state==degraded_state); + row[n.k_reachable]=route.get(n.k_reachable,false); + row[n.k_travel_minutes]=guest_path_minutes(n,path,elevators,walk,movement_scale,stair_credit,orthogonal_cost); + const Array queue = facility->get(n.k_queue_entries); + const int64_t capacity = facility->get(n.k_capacity); + row[n.k_expected_wait]=signed_product(queue.size(),facility->get(n.k_base_service_minutes))/std::max(capacity,1); + row[n.k_estimated_total_gold]=runtime->call(n.k_get_facility_business_price,facility); + const int64_t quality = facility->get(n.k_base_quality); + row[n.k_expected_quality]=std::max(0,std::min(quality,100)); + row[n.k_need_relief]=relief; + row[n.k_risk_level]=int64_t(0);row[n.k_illegal_level]=int64_t(0); + row[n.k_group_fit]=signed_product(std::min(capacity,4),5); + // Recheck at the original call position: preceding price/observer + // callbacks must retain a replaced/custom runtime's original call. + const bool plain_tag_category = builtin(n,runtime,"res://autoload/simulation_runtime.gd") && + tags.is_typed() && tags.get_typed_builtin()==Variant::STRING_NAME; + row[n.k_service_category]=plain_tag_category ? Variant(builtin_tag_category(n,tags)) : + runtime->call(n.k__service_category_for_tags,tags); + Dictionary handle;handle[n.k_target_cell]=route.get(n.k_target_cell,guest->get(n.k_current_cell)); + handle[n.k_graph_revision]=path->get(n.k_graph_revision); + row[n.k_path_handle]=handle;candidates.push_back(row); + } + path->call(n.k_end_guest_path_query_batch); + Dictionary result;result[n.k_supported]=true;result[n.k_candidates]=candidates;return result; + } +private: + // Direct translation of the two pure builtin tag methods. Fresh result, + // original insertion/branch order, no retained definition/tag memo. + static Dictionary builtin_tag_relief(const ProjectionNames &n,const Array &tags) { + Dictionary relief; + relief[n.k_tagproj_hunger]=int64_t(0);relief[n.k_tagproj_sleep]=int64_t(0); + relief[n.k_tagproj_hygiene]=int64_t(0);relief[n.k_tagproj_medical]=int64_t(0); + relief[n.k_tagproj_leisure]=int64_t(0);relief[n.k_tagproj_intimacy]=int64_t(0); + if(tags.has(n.k_tagproj_dining)) {relief[n.k_tagproj_hunger]=int64_t(80);relief[n.k_tagproj_leisure]=int64_t(10);} + if(tags.has(n.k_tagproj_lodging)) {relief[n.k_tagproj_sleep]=int64_t(90);relief[n.k_tagproj_hygiene]=std::max(int64_t(relief[n.k_tagproj_hygiene]),10);} + if(tags.has(n.k_tagproj_social)||tags.has(n.k_tagproj_leisure)) relief[n.k_tagproj_leisure]=std::max(int64_t(relief[n.k_tagproj_leisure]),40); + if(tags.has(n.k_tagproj_hygiene)||tags.has(n.k_tagproj_bath)) relief[n.k_tagproj_hygiene]=std::max(int64_t(relief[n.k_tagproj_hygiene]),80); + if(tags.has(n.k_tagproj_medical)) relief[n.k_tagproj_medical]=int64_t(90); + else if(tags.has(n.k_tagproj_wellness)) relief[n.k_tagproj_medical]=std::max(int64_t(relief[n.k_tagproj_medical]),20); + if(tags.has(n.k_tagproj_adult_only)||tags.has(n.k_tagproj_restricted_service)) relief[n.k_tagproj_intimacy]=int64_t(80); + return relief; + } + static StringName builtin_tag_category(const ProjectionNames &n,const Array &tags) { + if(tags.has(n.k_tagproj_dining))return n.k_tagproj_food; + if(tags.has(n.k_tagproj_lodging))return n.k_tagproj_lodging; + if(tags.has(n.k_tagproj_social))return n.k_tagproj_leisure; + return n.k_tagproj_service; + } + static bool builtin(const ProjectionNames &n,Object *object,const char *resource) { + if (!object) return false;Object *script=object->get_script(); + return script && String(script->get(n.k_resource_path))==resource; + } + // Exact builtin cache-key spelling. No normalized/reordered profile and no + // persistent cache; String lengths count Unicode codepoints as GDScript does. + static String cache_key_suffix(const ProjectionNames &n,Object *path, const TypedArray &layers, + const TypedArray &access) { + String layer_text, access_text; + for (int64_t i=0; i(layers[i])); + } + for (int64_t i=0; i(access[i])); + access_text += String::num_int64(value.length()) + ":" + value; + } + return String("|L:") + layer_text + "|A:" + access_text + "|R:" + + String::num_int64(static_cast(path->get(n.k_graph_revision))); + } + static String cache_key_with_suffix(const Vector3i &start, const Vector3i &goal, + const String &suffix) { + return String::num_int64(start.x) + "," + String::num_int64(start.y) + "," + + String::num_int64(start.z) + ">" + String::num_int64(goal.x) + "," + + String::num_int64(goal.y) + "," + String::num_int64(goal.z) + suffix; + } + static int64_t signed_product(int64_t a,int64_t b) { + const uint64_t product=static_cast(a)*static_cast(b); + if (product<=static_cast(std::numeric_limits::max())) return static_cast(product); + return std::numeric_limits::min()+static_cast(product-(uint64_t(1)<<63)); + } + static Array facility_access_cells(const ProjectionNames &n,Object *path,Object *facility) { + const Dictionary passable=path->get(n.k__passable_cells); + Array occupied=Array(facility->get(n.k_occupied_cells)).duplicate(); + if (occupied.is_empty()) occupied.push_back(facility->get(n.k_origin)); + Dictionary unique; + for (int64_t i=0;iget(n.k_origin);if(passable.has(origin)) unique[origin]=true; + const Array keys=unique.keys();std::vector sorted;sorted.reserve(keys.size()); + for (int64_t i=0;iget(n.k__guest_step_connector_memo); + // Route-local only. Reuse an ownership result only after an actual + // BOOL return and a typed cached step; no script callback occurs on a + // repeated typed memo hit. A miss/conversion/custom script keeps calls. + const bool builtin_pair = builtin(n,path,"res://scripts/world/path_service.gd") && + builtin(n,elevators,"res://scripts/transport/elevator_service.gd"); + bool ownership_valid = false; + bool ownership_value = false; + StringName ownership_connector; + for(int64_t i=1;i access;connector=path->call(n.k_get_step_connector,from,to,access);} + bool special; + if (builtin_pair && typed_memo_hit && ownership_valid && connector == ownership_connector) { + special = ownership_value; + } else { + const Variant owned = elevators->call(n.k_owns_connector,connector); + special = static_cast(owned); + ownership_valid = builtin_pair && typed_memo_hit && owned.get_type() == Variant::BOOL; + ownership_value = special; + ownership_connector = connector; + } + if(!special && String(connector).begins_with("infra.connector:") && from.x==to.x && from.z==to.z && + std::abs(int64_t(from.y)-int64_t(to.y))==1) { + const Dictionary detail=path->call(n.k_get_connector,connector); + special=detail.get(n.k_movement_type,StringName())==Variant(n.k_CONNECTOR) && + static_cast(detail.get(n.k_cost,int64_t(0)))==150 && stair_credit>movement_scale; + } + if(special) { + const int64_t cost=path->call(n.k_calculate_guest_batch_path_cost,route[0],route[route.size()-1],route); + return static_cast(std::ceil(static_cast(cost)/static_cast(orthogonal_cost))); + } + } + return std::max(route.size()-1,0); + } +public: + + // Stateless translation of the builtin nearest access query. The caller + // supplies the existing typed default profile and the real Time callable. + // Public cache publication, failure diagnostics and fallback stay ordered. + Dictionary nearest_guest_access(Object *path, const Vector3i &start, + const Array &goals, const Vector3i &fallback_target, + const TypedArray &layers, const TypedArray &access, + const Callable &ticks) { + const ProjectionNames n; + return nearest_guest_access_impl(n,path,start,goals,fallback_target,layers,access,ticks); + } +private: + Dictionary nearest_guest_access_impl(const ProjectionNames &n,Object *path, const Vector3i &start, + const Array &goals, const Vector3i &fallback_target, + const TypedArray &layers, const TypedArray &access, + const Callable &ticks) { + Dictionary unsupported; + unsupported[n.k_supported] = false; + if (!path || !ticks.is_valid() || goals.is_empty()) return unsupported; + Object *script = path->get_script(); + if (!script || String(script->get(n.k_resource_path)) != "res://scripts/world/path_service.gd") return unsupported; + Dictionary batch = path->get(n.k__query_batch); + if (batch.is_empty() || start != static_cast(batch[n.k_start])) return unsupported; + const Dictionary passable = path->get(n.k__passable_cells); + if (!passable.has(start) || blocked(n,path, start) || !layers.has(start.z)) return unsupported; + const Dictionary targets = batch[n.k_targets]; + Dictionary cache = path->get(n.k__path_cache); + // Exact builtin validation loop has no callback before ticks.call(). + // Build the unchanged profile/revision suffix lazily at the first key. + String key_suffix; + bool key_suffix_ready = false; + for (int64_t j = 0; j < goals.size(); ++j) { + if (goals[j].get_type() != Variant::VECTOR3I) return unsupported; + const Vector3i cell = goals[j]; + if (!targets.has(cell)) { + const bool searchable = passable.has(cell) && layers.has(cell.z) && !blocked(n,path, cell); + if (searchable && (start.z == cell.z || static_cast(path->call(n.k__guest_batch_has_permitted_layer_crossing, start, cell, layers, access)))) return unsupported; + } + if (!key_suffix_ready) { + key_suffix = cache_key_suffix(n,path, layers, access); + key_suffix_ready = true; + } + const String key = cache_key_with_suffix(start, cell, key_suffix); + if (cache.has(key)) return unsupported; + } + const int64_t started = ticks.call(); + if (!static_cast(batch[n.k_ready])) { + batch[n.k_tree] = path->call(n.k__build_guest_query_tree_compact, start, targets, layers, access); + batch[n.k_arithmetic_wrapped] = path->get(n.k__guest_tree_arithmetic_wrapped); + batch[n.k_ready] = true; + } + const Dictionary tree = batch[n.k_tree]; + if (!static_cast(tree.get(n.k_usable, false)) || static_cast(batch.get(n.k_arithmetic_wrapped, false))) return unsupported; + Vector3i best_cell = fallback_target; + bool found = false; + int64_t best_cost = 0; + const Dictionary settled = tree[n.k_settled]; + for (int64_t j = 0; j < goals.size(); ++j) { + const Vector3i cell = goals[j]; + if (!targets.has(cell) || !settled.has(cell)) continue; + if (!tree_has_cost(n,tree, cell)) return unsupported; + const int64_t cost = tree_cost(n,tree, cell); + if (!found || cost < best_cost) { + found = true; + best_cost = cost; + best_cell = cell; + } + } + TypedArray best_path; + if (found) { + best_path = resolve_ready_guest_point(n,path, start, best_cell, tree, layers, access); + if (best_path.is_empty()) return unsupported; + } + if (!goals.is_empty() && (!found || goals[goals.size() - 1] != Variant(best_cell))) { + resolve_ready_guest_point(n,path, start, goals[goals.size() - 1], tree, layers, access); + } + const int64_t elapsed = the_tree_native::signed_add(static_cast(ticks.call()), the_tree_native::signed_add(~started, 1)); + path->emit_signal(n.k_path_query_measured, std::max(elapsed, 0)); + Dictionary result; + result[n.k_supported] = true; + result[n.k_reachable] = found; + result[n.k_path] = best_path; + result[n.k_target_cell] = best_cell; + return result; + } +private: + static bool blocked(const ProjectionNames &n,Object *path, const Vector3i &cell) { + const Dictionary traffic_map = path->get(n.k__cell_traffic); + const Dictionary traffic = traffic_map.get(cell, Dictionary()); + return !traffic.is_empty() && static_cast(traffic[n.k_temporary_block]); + } + static bool tree_has_cost(const ProjectionNames &n,const Dictionary &tree, const Vector3i &cell) { + if (!static_cast(tree.get(n.k_compact, false))) { + const Dictionary values = tree[n.k_costs]; + return values.has(cell); + } + const Dictionary indices = tree[n.k_indices]; + if (!indices.has(cell)) return false; + const int64_t index = indices[cell]; + const PackedInt64Array values = tree[n.k_cost_values]; + return index >= 0 && index < values.size(); + } + static int64_t tree_cost(const ProjectionNames &n,const Dictionary &tree, const Vector3i &cell) { + if (!static_cast(tree.get(n.k_compact, false))) { + const Dictionary values = tree[n.k_costs]; + return static_cast(values[cell]); + } + const Dictionary indices = tree[n.k_indices]; + const PackedInt64Array values = tree[n.k_cost_values]; + return values[static_cast(indices[cell])]; + } + static TypedArray resolve_ready_guest_point(const ProjectionNames &n,Object *path, + const Vector3i &start, const Vector3i &goal, const Dictionary &tree, + const TypedArray &layers, const TypedArray &access) { + const Dictionary passable = path->get(n.k__passable_cells); + if (!passable.has(start)) return path->call(n.k__route_failure, n.k_START_NOT_PASSABLE); + if (!passable.has(goal)) return path->call(n.k__route_failure, n.k_GOAL_NOT_PASSABLE); + if (!layers.has(start.z) || !layers.has(goal.z)) return path->call(n.k__route_failure, n.k_ACCESS_LAYER_DENIED); + if (blocked(n,path, start)) return path->call(n.k__route_failure, n.k_START_TEMPORARILY_BLOCKED); + if (blocked(n,path, goal)) return path->call(n.k__route_failure, n.k_GOAL_TEMPORARILY_BLOCKED); + // ticks/tree callbacks may have changed the script or revision. Recheck + // at this original call position and never reuse the pre-tick suffix. + const String key = builtin(n,path,"res://scripts/world/path_service.gd") ? + cache_key_with_suffix(start, goal, cache_key_suffix(n,path, layers, access)) : + String(path->call(n.k__cache_key, start, goal, layers, access)); + Dictionary cache = path->get(n.k__path_cache); + const Dictionary batch = path->get(n.k__query_batch); + const Dictionary targets = batch[n.k_targets]; + if (cache.has(key) || !targets.has(goal)) return path->call(n.k__find_path_internal, start, goal); + path->set(n.k_cache_misses, the_tree_native::signed_add(static_cast(path->get(n.k_cache_misses)), 1)); + if (start.z != goal.z && !static_cast(path->call(n.k__guest_batch_has_permitted_layer_crossing, start, goal, layers, access))) return path->call(n.k__route_failure, n.k_GOAL_UNREACHABLE); + TypedArray route; + const Dictionary settled = tree[n.k_settled]; + if (start == goal) route.push_back(start); + else if (settled.has(goal)) { + if (!reconstruct_builtin_compact_route(n,path,tree,goal,route)) + route = Array(path->call(n.k__guest_tree_reconstruct_path, tree, goal)); + } + if (route.is_empty()) return path->call(n.k__route_failure, path->call(n.k__diagnose_no_route_reason, start, goal, layers, access)); + // Fresh Array storage with copy-on-write value backing, matching the + // original typed _copy_path result. Recheck script at this call position. + cache[key] = builtin(n,path,"res://scripts/world/path_service.gd") && + route.is_typed() && route.get_typed_builtin()==Variant::VECTOR3I ? + Variant(route.duplicate(false)) : Variant(path->call(n.k__copy_path,route)); + path->set(n.k_last_no_route_reason, n.k_OK); + path->set(n.k_last_path_cost, tree_cost(n,tree, goal)); + path->set(n.k_last_error, String("")); + return route; + } + // Translate only the builtin compact parent walk. Preflight reads have no + // callback or public writes. Unsupported shapes retain original dispatch at + // the original position; all temporary ownership is confined to this call. + static bool reconstruct_builtin_compact_route(const ProjectionNames &n,Object *path, + const Dictionary &tree,const Vector3i &goal,TypedArray &output) { + if (!builtin(n,path,"res://scripts/world/path_service.gd")) return false; + const Variant compact=tree.get(n.k_compact,Variant()); + if (compact.get_type()!=Variant::BOOL || !static_cast(compact)) return false; + const Variant raw_indices=tree.get(n.k_indices,Variant()); + const Variant raw_cells=tree.get(n.k_cells,Variant()); + const Variant raw_parents=tree.get(n.k_parent_indices,Variant()); + const Variant raw_adjacency=path->get(n.k__adjacency); + if (raw_indices.get_type()!=Variant::DICTIONARY || raw_cells.get_type()!=Variant::ARRAY || + raw_parents.get_type()!=Variant::PACKED_INT64_ARRAY || raw_adjacency.get_type()!=Variant::DICTIONARY) return false; + const Dictionary indices=raw_indices; + if (!indices.has(goal) || indices[goal].get_type()!=Variant::INT) return false; + const Array cells=raw_cells; + const PackedInt64Array parents=raw_parents; + const Dictionary adjacency=raw_adjacency; + const int64_t maximum_length=adjacency.size()+int64_t(1); + int64_t current=indices[goal]; + TypedArray reversed; + reversed.push_back(goal); + while (true) { + // The original evaluates parent before its maximum-length condition. + if (current<0 || current>=parents.size()) return false; + if (parents[current]<0 || reversed.size()>maximum_length) break; + current=parents[current]; + if (current<0 || current>=cells.size() || cells[current].get_type()!=Variant::VECTOR3I) return false; + reversed.push_back(cells[current]); + } + reversed.reverse(); + output=reversed; + return true; + } +public: +private: + // One existing builtin provider operation, with no new value cache. Only + // connector-free WALK rows qualify; unsupported cases call the old provider. + // All work stays private until the original final shared[current] assignment. + struct WalkEdgeNames { + const StringName resource_path{"resource_path",false}, constants_method{"get_script_constant_map",false}; + const StringName front{"FRONT",false}, back{"BACK",false}, walk{"MOVEMENT_WALK",false}; + const StringName base{"ORTHOGONAL_MOVE_COST",false}, congestion{"CONGESTION_COST_PER_EXCESS",false}; + const StringName workspace{"_guest_tree_workspace",false}, edges{"edges",false}, indices{"indices",false}; + const StringName adjacency{"_adjacency",false}, traffic{"_cell_traffic",false}, vertical{"_vertical_walk_requires_connector",false}; + const StringName to{"to",false}, connector{"connector_id",false}, access{"access_id",false}, movement{"movement_type",false}; + const StringName base_cost{"base_cost",false}, cost{"cost",false}, temporary{"temporary_block",false}; + const StringName dynamic{"dynamic_cost",false}, density{"current_density",false}, capacity{"base_capacity",false}; + const StringName provider{"_guest_tree_shared_edges",false}; + }; + struct WalkEdgeContext { + Object *path=nullptr; + int64_t front=0, back=0, base=0, congestion=0; + StringName walk; + }; + static bool walk_edge_context(const WalkEdgeNames &n,Object *path,const Array &layers, + const Array &access,WalkEdgeContext &context) { + if (!path || layers.size()!=2 || !access.is_empty() || + layers[0].get_type()!=Variant::INT || layers[1].get_type()!=Variant::INT) return false; + Object *script=path->get_script(); + if (!script || String(script->get(n.resource_path))!="res://scripts/world/path_service.gd" || + !script->has_method(n.constants_method)) return false; + const Variant value=script->call(n.constants_method); + if (value.get_type()!=Variant::DICTIONARY) return false; + const Dictionary constants=value; + for (const StringName &key : {n.front,n.back,n.base,n.congestion}) + if (constants.get(key,Variant()).get_type()!=Variant::INT) return false; + if (constants.get(n.walk,Variant()).get_type()!=Variant::STRING_NAME || + int64_t(layers[0])!=int64_t(constants[n.front]) || + int64_t(layers[1])!=int64_t(constants[n.back])) return false; + context.path=path;context.front=constants[n.front];context.back=constants[n.back]; + context.base=constants[n.base];context.congestion=constants[n.congestion];context.walk=constants[n.walk]; + return true; + } + static bool builtin_walk_edge_rows(const WalkEdgeNames &n,const WalkEdgeContext &context, + const Vector3i ¤t,Array &rows) { + if (!context.path) return false; + const Variant workspace_value=context.path->get(n.workspace); + if (workspace_value.get_type()!=Variant::DICTIONARY) return false; + const Dictionary workspace=workspace_value; + const Variant shared_value=workspace.get(n.edges,Variant()); + if (shared_value.get_type()!=Variant::DICTIONARY) return false; + Dictionary shared=shared_value; + // Original cached-row branch precedes readonly and all other state reads. + if (shared.has(current)) { + const Variant cached=shared[current]; + if (cached.get_type()!=Variant::ARRAY) return false; + rows=cached;return true; + } + if (shared.is_read_only()) return false; + const Variant indices_value=workspace.get(n.indices,Variant()), adjacency_value=context.path->get(n.adjacency); + const Variant traffic_value=context.path->get(n.traffic), vertical_value=context.path->get(n.vertical); + if (indices_value.get_type()!=Variant::DICTIONARY || adjacency_value.get_type()!=Variant::DICTIONARY || + traffic_value.get_type()!=Variant::DICTIONARY || vertical_value.get_type()!=Variant::BOOL) return false; + const Dictionary indices=indices_value, adjacency=adjacency_value, traffic=traffic_value; + const Variant raw_value=adjacency.get(current,Array()); + if (raw_value.get_type()!=Variant::ARRAY) return false; + const Array raw=raw_value;Array result; + for (int64_t i=0;i0?excess:0,context.congestion)); + } + const int64_t cost=the_tree_native::signed_add(int64_t(base),dynamic); + Array pair;pair.push_back(neighbor);pair.push_back(cost);result.push_back(pair); + // Same short circuit and first invalid prefix as the original method. + if (cost<=0 || !indices.has(neighbor)) break; + } + shared[current]=result;rows=result;return true; + } +public: + Dictionary guest_tree_edge_rows(Object *path,const Vector3i ¤t,const Array &layers,const Array &access) { + const WalkEdgeNames names;WalkEdgeContext context;Array rows; + Dictionary result;const StringName supported{"supported",false}, row_key{"rows",false}; + result[supported]=false; + if (!walk_edge_context(names,path,layers,access,context) || + !builtin_walk_edge_rows(names,context,current,rows)) return result; + result[supported]=true;result[row_key]=rows;return result; + } +private: + Dictionary search_impl(const Array &cells, const Dictionary &indices, I start_index, + const Dictionary &goals, const Callable &edge_provider, bool use_edge_cache) { + Dictionary output; + output[StringName("status")] = String("unusable"); + if (start_index < 0 || start_index >= cells.size() || !edge_provider.is_valid()) return output; + try { + std::vector goal_indices; + const Array goal_keys = goals.keys(); + for (I j = 0; j < goal_keys.size(); ++j) + goal_indices.push_back(static_cast(indices.get(goal_keys[j], I(-1)))); + Array arguments; + arguments.resize(1); + const WalkEdgeNames walk_names;WalkEdgeContext walk_context; + if (edge_provider.get_method()==walk_names.provider && edge_provider.get_argument_count()==1 && + edge_provider.get_bound_arguments_count()==2 && edge_provider.get_unbound_arguments_count()==0) { + const Array bound=edge_provider.get_bound_arguments(); + if (bound.size()==2 && bound[0].get_type()==Variant::ARRAY && bound[1].get_type()==Variant::ARRAY) + walk_edge_context(walk_names,edge_provider.get_object(),bound[0],bound[1],walk_context); + } + // Call the original bound Godot edge method only when the search expands a node. + // Preserve its lazy cache population, filter ordering and first invalid row. + auto original_edges = [&](I current) { + arguments[0] = cells[current]; + Array fused;bool fused_supported=false; + if (cells[current].get_type()==Variant::VECTOR3I) { + const Vector3i cell=cells[current]; + fused_supported=builtin_walk_edge_rows(walk_names,walk_context,cell,fused); + } + const Variant value = fused_supported ? Variant(fused) : edge_provider.callv(arguments); + if (value.get_type() != Variant::ARRAY) return std::vector{{-1, 0}}; + const Array rows = value; + std::vector result; + result.reserve(rows.size()); + for (I j = 0; j < rows.size(); ++j) { + if (rows[j].get_type() != Variant::ARRAY) { result.push_back({-1, 0}); break; } + const Array row = rows[j]; + if (row.size() != 2 || row[1].get_type() != Variant::INT) { + result.push_back({-1, 0}); break; + } + const I cost = static_cast(row[1]); + // Nonpositive cost is rejected before requesting the neighbor index. + if (cost <= 0) { result.push_back({-1, cost}); break; } + const I neighbor = static_cast(indices.get(row[0], I(-1))); + result.push_back({neighbor, cost}); + if (neighbor < 0) break; + } + return result; + }; + auto edges = [&](I current) { + if (!use_edge_cache) return original_edges(current); + const auto found = cached_edges.find(current); + if (found != cached_edges.end()) return found->second; + // Populate only when the old algorithm expands this same node. + // Retain original provider validation and first-invalid prefix. + auto converted = original_edges(current); + cached_edges.emplace(current, converted); + return converted; + }; + const auto result = the_tree_native::search(cells.size(), start_index, goal_indices, edges); + output[StringName("status")] = String(result.status.c_str()); + if (result.status != "usable") return output; + PackedInt64Array costs, parents; + if (costs.resize(result.costs.size()) != OK || parents.resize(result.parents.size()) != OK) { + output[StringName("status")] = String("unusable"); + return output; + } + for (I j = 0; j < cells.size(); ++j) { costs.set(j, result.costs[j]); parents.set(j, result.parents[j]); } + TypedArray discovered, parent_discovered; + for (I j : result.discovered) discovered.push_back(j); + for (I j : result.parent_discovered) parent_discovered.push_back(j); + Dictionary settled; + for (I j : result.settled) settled[cells[j]] = true; + output[StringName("cost_values")] = costs; + output[StringName("parent_indices")] = parents; + output[StringName("discovered")] = discovered; + output[StringName("parent_discovered")] = parent_discovered; + output[StringName("settled")] = settled; + return output; + } catch (const std::exception &) { + output = Dictionary(); + output[StringName("status")] = String("unusable"); + return output; + } + } +}; + +void initialize_tree_numeric_core(ModuleInitializationLevel level) { + if (level == MODULE_INITIALIZATION_LEVEL_SCENE) GDREGISTER_CLASS(TheTreeNumericCore); +} +void uninitialize_tree_numeric_core(ModuleInitializationLevel) {} + +extern "C" { +GDExtensionBool GDE_EXPORT tree_numeric_core_init(GDExtensionInterfaceGetProcAddress get_proc, + GDExtensionClassLibraryPtr library, GDExtensionInitialization *initialization) { + GDExtensionBinding::InitObject init(get_proc, library, initialization); + init.register_initializer(initialize_tree_numeric_core); + init.register_terminator(uninitialize_tree_numeric_core); + init.set_minimum_library_initialization_level(MODULE_INITIALIZATION_LEVEL_SCENE); + return init.init(); +} +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-checkpoint-independent-review-r305.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-checkpoint-independent-review-r305.json new file mode 100644 index 0000000..34516af --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-checkpoint-independent-review-r305.json @@ -0,0 +1,763 @@ +{ + "schema": 1, + "review": "r305 native-ready-route checkpoint commit independent review", + "checkpoint_accepted": true, + "commit_supported": true, + "blockers": [], + "evidence_sha256": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-independent-review-r303.json", + "bytes": 26409, + "sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-independent-review-r303.json", + "bytes": 26409, + "sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-root-verification-r303.json", + "bytes": 15934, + "sha256": "663118f678a57086846c172bea33a10cb8e943e2de1d6546f9ee47e183b0be37" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-root-verification-r303.json", + "bytes": 15934, + "sha256": "663118f678a57086846c172bea33a10cb8e943e2de1d6546f9ee47e183b0be37" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preview-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json", + "bytes": 26171, + "sha256": "0e3700d6c1a1ca02fbad985c1e97c88a2502eeb01951bb48e28d3e71e76dc917" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json", + "bytes": 26171, + "sha256": "0e3700d6c1a1ca02fbad985c1e97c88a2502eeb01951bb48e28d3e71e76dc917" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305.py", + "bytes": 7671, + "sha256": "ff28c27307333335b57846203a1834c10c2b004fbf5dfb2571df7ce9b7475bd4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305.py", + "bytes": 7671, + "sha256": "ff28c27307333335b57846203a1834c10c2b004fbf5dfb2571df7ce9b7475bd4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json", + "bytes": 28290, + "sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json", + "bytes": 28290, + "sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json", + "bytes": 17299, + "sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json", + "bytes": 17299, + "sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.gd", + "bytes": 11460, + "sha256": "8a2426704468655b2489234c617d5153f2d2148f4d0aa7a7a39d9e73f8dd39c1" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd", + "bytes": 11460, + "sha256": "8a2426704468655b2489234c617d5153f2d2148f4d0aa7a7a39d9e73f8dd39c1" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.py", + "bytes": 7140, + "sha256": "55257a66bcd2cd244f4c31455e77d21e0137924a0833cbc9f2f30902c2a9cca3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.py", + "bytes": 7140, + "sha256": "55257a66bcd2cd244f4c31455e77d21e0137924a0833cbc9f2f30902c2a9cca3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-independent-review-r302.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-root-verification-r302.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/ended.json", + "bytes": 1845, + "sha256": "370c6b6d432225979111945ed2f9f9d40c120c5551b9108d16990321596980d3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/ended.json", + "bytes": 1845, + "sha256": "370c6b6d432225979111945ed2f9f9d40c120c5551b9108d16990321596980d3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/started.json", + "bytes": 2944, + "sha256": "8e6834d088396d9575765bd131f854460b40defd8ca7332328bb4a30b05c8d39" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/started.json", + "bytes": 2944, + "sha256": "8e6834d088396d9575765bd131f854460b40defd8ca7332328bb4a30b05c8d39" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062-phase.json", + "bytes": 621, + "sha256": "0690f5bac45d8d8c82fa1bfe39440d218e0a31a6e7d26f7f2d31360b63d66056" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062-phase.json", + "bytes": 621, + "sha256": "0690f5bac45d8d8c82fa1bfe39440d218e0a31a6e7d26f7f2d31360b63d66056" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/input.json.gz": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/input.json.gz", + "bytes": 137740, + "sha256": "810bb03f13faeb336f97e9ab31e96769d2a44dd98327996ed088c6ceac290f4e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/input.json", + "bytes": 658203, + "sha256": "034ff3aef70b9b8f8ada839f97127f65c2705983766a064f53a5f429f01da1a1" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/ended.json", + "bytes": 1339, + "sha256": "641e3e8a4dc2d13fc4fbed5f50d7ae7615f5ce9682d2f4eb2abf285a051e2767" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/ended.json", + "bytes": 1339, + "sha256": "641e3e8a4dc2d13fc4fbed5f50d7ae7615f5ce9682d2f4eb2abf285a051e2767" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/started.json", + "bytes": 2030, + "sha256": "5076e31b509e64e37ec08a28337647170e31be5dd5cf0613edd2a9b08bccb833" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/started.json", + "bytes": 2030, + "sha256": "5076e31b509e64e37ec08a28337647170e31be5dd5cf0613edd2a9b08bccb833" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link-phase.json", + "bytes": 614, + "sha256": "1ffd3c3a655d75f8ae4bad908d70c32fa2cc9f9720aa58156b610a61efe508c6" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link-phase.json", + "bytes": 614, + "sha256": "1ffd3c3a655d75f8ae4bad908d70c32fa2cc9f9720aa58156b610a61efe508c6" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate-guarded.gd", + "bytes": 1116, + "sha256": "256bb7a392c2b38b049ca0a39cde0a4bbd271b45ff50197bbda97ba4abdbff1a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate-guarded.gd", + "bytes": 1116, + "sha256": "256bb7a392c2b38b049ca0a39cde0a4bbd271b45ff50197bbda97ba4abdbff1a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate.gdextension", + "bytes": 319, + "sha256": "13c4bd2ac8206197095df408b974ba955ecf047ed525119a1651a68195b7bd38" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate.gdextension", + "bytes": 319, + "sha256": "13c4bd2ac8206197095df408b974ba955ecf047ed525119a1651a68195b7bd38" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/input.json.gz": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/input.json.gz", + "bytes": 165211, + "sha256": "4e90f26db243b10149b2b7cb1f35a3d41f8a3f6bdcfc367691d5f303b31a88e3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/preexecution-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/preexecution-root-verification.json", + "bytes": 9355, + "sha256": "e500e883c7da60307fddf77f861dc75916cd0dd009048bb795cdf569d8ef037d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/preexecution-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/preexecution-root-verification.json", + "bytes": 9355, + "sha256": "e500e883c7da60307fddf77f861dc75916cd0dd009048bb795cdf569d8ef037d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json", + "bytes": 15302, + "sha256": "d69adddf6ec16948caf7f2e85634059a7befeac7ba8ddd48d2352b9a75c7462e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json", + "bytes": 15302, + "sha256": "d69adddf6ec16948caf7f2e85634059a7befeac7ba8ddd48d2352b9a75c7462e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json", + "bytes": 351, + "sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json", + "bytes": 351, + "sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json", + "bytes": 1793, + "sha256": "eb8d321fa42560813f05a1bd32a8abdce4dd9cbc4d86d005d5248cf8eb917746" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json", + "bytes": 1793, + "sha256": "eb8d321fa42560813f05a1bd32a8abdce4dd9cbc4d86d005d5248cf8eb917746" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log", + "bytes": 13479, + "sha256": "29c80683e381332a409ac7e852aabb09ff4594273ebc30b3a26b233f5dcdd0db" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log", + "bytes": 13479, + "sha256": "29c80683e381332a409ac7e852aabb09ff4594273ebc30b3a26b233f5dcdd0db" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json", + "bytes": 964, + "sha256": "d676912bce39e81174b0f66bec033c670fa15db3d4f6ed49d831ec2554c4ec97" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json", + "bytes": 964, + "sha256": "d676912bce39e81174b0f66bec033c670fa15db3d4f6ed49d831ec2554c4ec97" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/process.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/process.json", + "bytes": 6723, + "sha256": "28ba2ddcea2a9911983521e2c44e98d3e2992fdbc5d407e3e383a529ce8beda3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/process.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/process.json", + "bytes": 6723, + "sha256": "28ba2ddcea2a9911983521e2c44e98d3e2992fdbc5d407e3e383a529ce8beda3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/started.json", + "bytes": 2422, + "sha256": "917ba2cc75dc38e9c3c3033c17e283756c9e83f3946429a8126cbc4cf5a1cb83" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/started.json", + "bytes": 2422, + "sha256": "917ba2cc75dc38e9c3c3033c17e283756c9e83f3946429a8126cbc4cf5a1cb83" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log", + "bytes": 13629, + "sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log", + "bytes": 13629, + "sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "bytes": 709, + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "bytes": 709, + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "bytes": 332, + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "bytes": 332, + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json", + "bytes": 1309, + "sha256": "4d3d129656268ed4c9f03737a3b94049886e43d4f51b9d312c869aedc9ac7c2d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json", + "bytes": 1309, + "sha256": "4d3d129656268ed4c9f03737a3b94049886e43d4f51b9d312c869aedc9ac7c2d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json", + "bytes": 8183, + "sha256": "09cffa8ba3a51722dc67d4acc91610cb92d997fa690a7bf7356185ad5ca7517d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json", + "bytes": 8183, + "sha256": "09cffa8ba3a51722dc67d4acc91610cb92d997fa690a7bf7356185ad5ca7517d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json", + "bytes": 912, + "sha256": "b95335c1c492cca6fa9fd8d474242eccccdee8f1c7c4e9c47c7426a8392fdb45" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json", + "bytes": 912, + "sha256": "b95335c1c492cca6fa9fd8d474242eccccdee8f1c7c4e9c47c7426a8392fdb45" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/execution.json", + "bytes": 12210, + "sha256": "7cd220b4cfa9bceecfa8b39eacc0f9e019ad0983009c2596fe07020a2ccf0664" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/execution.json", + "bytes": 12210, + "sha256": "7cd220b4cfa9bceecfa8b39eacc0f9e019ad0983009c2596fe07020a2ccf0664" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/input.json.gz": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/input.json.gz", + "bytes": 165347, + "sha256": "22d37f665b3d01c48b13f2d67f6cbf3a6ca04c93b3696e7697a65bae0a273393" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json", + "bytes": 9990, + "sha256": "7d9db13c588c163fed16849eda32d94d180fe9e3a4350c70551be1aef4eebcab" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json", + "bytes": 9990, + "sha256": "7d9db13c588c163fed16849eda32d94d180fe9e3a4350c70551be1aef4eebcab" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd", + "bytes": 1445, + "sha256": "a7c3f9c4d744e49808f4b3be1e9e105dec6b7e3ede4c83627986c459d67bbb91" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd", + "bytes": 1445, + "sha256": "a7c3f9c4d744e49808f4b3be1e9e105dec6b7e3ede4c83627986c459d67bbb91" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd", + "bytes": 1448, + "sha256": "437cae63b5bebbb183fa87464770bdd7deb8b1c99a3309573c501cac92955125" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd", + "bytes": 1448, + "sha256": "437cae63b5bebbb183fa87464770bdd7deb8b1c99a3309573c501cac92955125" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/input.json.gz": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/input.json.gz", + "bytes": 229318, + "sha256": "c5688c125ee132d4a6d0aa264d5076dcc5a70fd954c1bb8634c67bfe3994dc06" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/input.json", + "bytes": 976234, + "sha256": "0ec0212b04a1f16bbe8789976a359d62a69d68035063558a0e7e0250a381b3e5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json", + "bytes": 15532, + "sha256": "82736532d59d3d1edaf93f806cef1ed1213b1feec4fd2e24bba06d741589ad0e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json", + "bytes": 15532, + "sha256": "82736532d59d3d1edaf93f806cef1ed1213b1feec4fd2e24bba06d741589ad0e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd", + "bytes": 1514, + "sha256": "6fbefbad8edde64461b3d751e1e27104b7bb65957e17216073638442a89d41c3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd", + "bytes": 1514, + "sha256": "6fbefbad8edde64461b3d751e1e27104b7bb65957e17216073638442a89d41c3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/whole.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/whole.gd", + "bytes": 4442, + "sha256": "729de52998f376ad249194d4eb3a0073e246fb9c0839d6271593b118badb46fa" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd", + "bytes": 4442, + "sha256": "729de52998f376ad249194d4eb3a0073e246fb9c0839d6271593b118badb46fa" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-build-r303.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294" + }, + "/private/tmp/thetree-prepare-ready-route-build-r303.py": { + "path": "/private/tmp/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-impact-whole-r305.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-impact-whole-r305.py", + "bytes": 5761, + "sha256": "51e9a5615fb687aecfcc5efcd88475a5647e58db9e41d76b3c27f749ceb4fe0d" + }, + "/private/tmp/thetree-prepare-ready-route-impact-whole-r305.py": { + "path": "/private/tmp/thetree-prepare-ready-route-impact-whole-r305.py", + "bytes": 5761, + "sha256": "51e9a5615fb687aecfcc5efcd88475a5647e58db9e41d76b3c27f749ceb4fe0d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304-r02.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890" + }, + "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py": { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304.py", + "bytes": 10105, + "sha256": "9ac1d42a5593b7e0ec668cbb53bc03003b827bf84fea2bf5003e6a196a6c0d03" + }, + "/private/tmp/thetree-prepare-ready-route-local-r304.py": { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304.py", + "bytes": 10105, + "sha256": "9ac1d42a5593b7e0ec668cbb53bc03003b827bf84fea2bf5003e6a196a6c0d03" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-r302.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + "/private/tmp/thetree-prepare-ready-route-r302.py": { + "path": "/private/tmp/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/README.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/README.md", + "bytes": 2458, + "sha256": "2ccc2fe02682b8bcefa53a37061f25aabd4392848af519ef0b0caa5d343d3b5a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/manifest.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/manifest.json", + "bytes": 40627, + "sha256": "2a8614a1525477c6b20018e92d3ceccaa73ed502a157c8812282e98d346cd80e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/.gdignore": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/.gdignore", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-actual-independent-review-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-actual-independent-review-r301.json", + "bytes": 38167, + "sha256": "0aefd18bc6d12b9f50dae3faf7d53f7120c384906708bab519a506e8432a5dd6" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + } + }, + "canonical_doc4_context_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + }, + "verification": { + "manifest_entries": 66, + "all_original_full_bytes_and_sha_equal": true, + "gzip_full_raw_restoration_count": 4, + "manifest_all_new_files_covered": true, + "files_in_checkpoint": 68, + "stored_copy_bytes": 1186743, + "original_copy_bytes": 3640117, + "parent_gdignore_empty": true, + "current_canonical_revision": "r301", + "formal_added": 0, + "counts": { + "packages": 30, + "units": 88, + "completed": 9, + "in_progress": 19, + "planned": 60 + }, + "partial_credit": false, + "all_original17_unaccepted": true, + "Windows_only_blocked_ids": [ + "C08", + "X8" + ], + "manual_deferred_not_waived": true, + "accepted_static302_host303_local304r02_distinct": true, + "rejected304_unexecuted_preserved": true, + "preapproved305_unexecuted_at_review": true + }, + "accepted_scope": "Content-preserving commit checkpoint only. README/manifest accurately retain r302 source-only static, r303 actual host, r304 unexecuted refusal/r304-r02 finite local252/0 and r305 preapproved but not executed. No canonical ledger, production source, binary adoption or formal acceptance changes.", + "limits": [ + "Current candidate302/library303 unadopted; retained implementation parent274/library275 unchanged.", + "Local15 may use new native Path transitive calls; direct8 original-nearest comparison and listed physical readonly/cache-copy assertions remain finite.", + "No new whole647 evidence for302, performance benefit/stable gain/50ms/P95/D10/final172/normal OS/Windows/general reentry/invalid shapes/midcall script change or unit completion acceptance.", + "SDK/engine/stage/object/library remain external immutable references; checkpoint is not a standalone runnable package.", + "Future305 adjacent pair can provide only finite equality/timing observation, not stable performance or adoption by itself." + ], + "reviewer_execution": { + "engine": 0, + "compiler": 0, + "tests": 0, + "validator": 0, + "author": 0, + "codec_redecode": 0, + "existing_edits": 0, + "new_agents": 0 + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-checkpoint-root-verification-r305.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-checkpoint-root-verification-r305.json new file mode 100644 index 0000000..a98f8c4 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-checkpoint-root-verification-r305.json @@ -0,0 +1,713 @@ +{ + "passed": true, + "review_sha256": "c3971182104d6c304af23ca9613277d637fbad15bb0ee74366e8f174f766048f", + "verified_entries": [ + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-independent-review-r303.json", + "bytes": 26409, + "sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-independent-review-r303.json", + "bytes": 26409, + "sha256": "efa795e289f95aa78e507007615884f53f6f661ab72554490b55c8de524d1af3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preexecution-root-verification-r303.json", + "bytes": 15934, + "sha256": "663118f678a57086846c172bea33a10cb8e943e2de1d6546f9ee47e183b0be37" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preexecution-root-verification-r303.json", + "bytes": 15934, + "sha256": "663118f678a57086846c172bea33a10cb8e943e2de1d6546f9ee47e183b0be37" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-preview-r303.json", + "bytes": 3085, + "sha256": "3e77e3b73fddfe1a520940707ba941db55b121dd543dbac03afe10c8b48ddfd5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303.py", + "bytes": 16465, + "sha256": "194020907a9fab891b01bec6b55a8a3645078c71879f9588de43e585838ec297" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json", + "bytes": 26171, + "sha256": "0e3700d6c1a1ca02fbad985c1e97c88a2502eeb01951bb48e28d3e71e76dc917" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json", + "bytes": 26171, + "sha256": "0e3700d6c1a1ca02fbad985c1e97c88a2502eeb01951bb48e28d3e71e76dc917" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305.py", + "bytes": 7671, + "sha256": "ff28c27307333335b57846203a1834c10c2b004fbf5dfb2571df7ce9b7475bd4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305.py", + "bytes": 7671, + "sha256": "ff28c27307333335b57846203a1834c10c2b004fbf5dfb2571df7ce9b7475bd4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json", + "bytes": 28290, + "sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json", + "bytes": 28290, + "sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json", + "bytes": 17299, + "sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json", + "bytes": 17299, + "sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.gd", + "bytes": 11460, + "sha256": "8a2426704468655b2489234c617d5153f2d2148f4d0aa7a7a39d9e73f8dd39c1" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd", + "bytes": 11460, + "sha256": "8a2426704468655b2489234c617d5153f2d2148f4d0aa7a7a39d9e73f8dd39c1" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.py", + "bytes": 7140, + "sha256": "55257a66bcd2cd244f4c31455e77d21e0137924a0833cbc9f2f30902c2a9cca3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.py", + "bytes": 7140, + "sha256": "55257a66bcd2cd244f4c31455e77d21e0137924a0833cbc9f2f30902c2a9cca3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-independent-review-r302.json", + "bytes": 11389, + "sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-static-root-verification-r302.json", + "bytes": 5118, + "sha256": "67db97cbdca1dbd663c4cfaaafb04a0def112d1417cafc98ff946fbc779dc59b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/ended.json", + "bytes": 1845, + "sha256": "370c6b6d432225979111945ed2f9f9d40c120c5551b9108d16990321596980d3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/ended.json", + "bytes": 1845, + "sha256": "370c6b6d432225979111945ed2f9f9d40c120c5551b9108d16990321596980d3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/started.json", + "bytes": 2944, + "sha256": "8e6834d088396d9575765bd131f854460b40defd8ca7332328bb4a30b05c8d39" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/started.json", + "bytes": 2944, + "sha256": "8e6834d088396d9575765bd131f854460b40defd8ca7332328bb4a30b05c8d39" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/compile-062-phase.json", + "bytes": 621, + "sha256": "0690f5bac45d8d8c82fa1bfe39440d218e0a31a6e7d26f7f2d31360b63d66056" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/compile-062-phase.json", + "bytes": 621, + "sha256": "0690f5bac45d8d8c82fa1bfe39440d218e0a31a6e7d26f7f2d31360b63d66056" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/input.json.gz", + "bytes": 137740, + "sha256": "810bb03f13faeb336f97e9ab31e96769d2a44dd98327996ed088c6ceac290f4e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/input.json", + "bytes": 658203, + "sha256": "034ff3aef70b9b8f8ada839f97127f65c2705983766a064f53a5f429f01da1a1" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/ended.json", + "bytes": 1339, + "sha256": "641e3e8a4dc2d13fc4fbed5f50d7ae7615f5ce9682d2f4eb2abf285a051e2767" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/ended.json", + "bytes": 1339, + "sha256": "641e3e8a4dc2d13fc4fbed5f50d7ae7615f5ce9682d2f4eb2abf285a051e2767" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/started.json", + "bytes": 2030, + "sha256": "5076e31b509e64e37ec08a28337647170e31be5dd5cf0613edd2a9b08bccb833" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/started.json", + "bytes": 2030, + "sha256": "5076e31b509e64e37ec08a28337647170e31be5dd5cf0613edd2a9b08bccb833" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link/stdout.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-build-r303/link-phase.json", + "bytes": 614, + "sha256": "1ffd3c3a655d75f8ae4bad908d70c32fa2cc9f9720aa58156b610a61efe508c6" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/link-phase.json", + "bytes": 614, + "sha256": "1ffd3c3a655d75f8ae4bad908d70c32fa2cc9f9720aa58156b610a61efe508c6" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate-guarded.gd", + "bytes": 1116, + "sha256": "256bb7a392c2b38b049ca0a39cde0a4bbd271b45ff50197bbda97ba4abdbff1a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate-guarded.gd", + "bytes": 1116, + "sha256": "256bb7a392c2b38b049ca0a39cde0a4bbd271b45ff50197bbda97ba4abdbff1a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate.gdextension", + "bytes": 319, + "sha256": "13c4bd2ac8206197095df408b974ba955ecf047ed525119a1651a68195b7bd38" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate.gdextension", + "bytes": 319, + "sha256": "13c4bd2ac8206197095df408b974ba955ecf047ed525119a1651a68195b7bd38" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/input.json.gz", + "bytes": 165211, + "sha256": "4e90f26db243b10149b2b7cb1f35a3d41f8a3f6bdcfc367691d5f303b31a88e3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/preexecution-root-verification.json", + "bytes": 9355, + "sha256": "e500e883c7da60307fddf77f861dc75916cd0dd009048bb795cdf569d8ef037d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/preexecution-root-verification.json", + "bytes": 9355, + "sha256": "e500e883c7da60307fddf77f861dc75916cd0dd009048bb795cdf569d8ef037d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json", + "bytes": 15302, + "sha256": "d69adddf6ec16948caf7f2e85634059a7befeac7ba8ddd48d2352b9a75c7462e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json", + "bytes": 15302, + "sha256": "d69adddf6ec16948caf7f2e85634059a7befeac7ba8ddd48d2352b9a75c7462e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json", + "bytes": 351, + "sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json", + "bytes": 351, + "sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json", + "bytes": 1793, + "sha256": "eb8d321fa42560813f05a1bd32a8abdce4dd9cbc4d86d005d5248cf8eb917746" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json", + "bytes": 1793, + "sha256": "eb8d321fa42560813f05a1bd32a8abdce4dd9cbc4d86d005d5248cf8eb917746" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log", + "bytes": 13479, + "sha256": "29c80683e381332a409ac7e852aabb09ff4594273ebc30b3a26b233f5dcdd0db" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log", + "bytes": 13479, + "sha256": "29c80683e381332a409ac7e852aabb09ff4594273ebc30b3a26b233f5dcdd0db" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json", + "bytes": 964, + "sha256": "d676912bce39e81174b0f66bec033c670fa15db3d4f6ed49d831ec2554c4ec97" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json", + "bytes": 964, + "sha256": "d676912bce39e81174b0f66bec033c670fa15db3d4f6ed49d831ec2554c4ec97" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/process.json", + "bytes": 6723, + "sha256": "28ba2ddcea2a9911983521e2c44e98d3e2992fdbc5d407e3e383a529ce8beda3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/process.json", + "bytes": 6723, + "sha256": "28ba2ddcea2a9911983521e2c44e98d3e2992fdbc5d407e3e383a529ce8beda3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/started.json", + "bytes": 2422, + "sha256": "917ba2cc75dc38e9c3c3033c17e283756c9e83f3946429a8126cbc4cf5a1cb83" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/started.json", + "bytes": 2422, + "sha256": "917ba2cc75dc38e9c3c3033c17e283756c9e83f3946429a8126cbc4cf5a1cb83" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log", + "bytes": 13629, + "sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log", + "bytes": 13629, + "sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "bytes": 709, + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "bytes": 709, + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "bytes": 332, + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "bytes": 332, + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json", + "bytes": 1309, + "sha256": "4d3d129656268ed4c9f03737a3b94049886e43d4f51b9d312c869aedc9ac7c2d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json", + "bytes": 1309, + "sha256": "4d3d129656268ed4c9f03737a3b94049886e43d4f51b9d312c869aedc9ac7c2d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json", + "bytes": 8183, + "sha256": "09cffa8ba3a51722dc67d4acc91610cb92d997fa690a7bf7356185ad5ca7517d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json", + "bytes": 8183, + "sha256": "09cffa8ba3a51722dc67d4acc91610cb92d997fa690a7bf7356185ad5ca7517d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json", + "bytes": 912, + "sha256": "b95335c1c492cca6fa9fd8d474242eccccdee8f1c7c4e9c47c7426a8392fdb45" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json", + "bytes": 912, + "sha256": "b95335c1c492cca6fa9fd8d474242eccccdee8f1c7c4e9c47c7426a8392fdb45" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/execution.json", + "bytes": 12210, + "sha256": "7cd220b4cfa9bceecfa8b39eacc0f9e019ad0983009c2596fe07020a2ccf0664" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/execution.json", + "bytes": 12210, + "sha256": "7cd220b4cfa9bceecfa8b39eacc0f9e019ad0983009c2596fe07020a2ccf0664" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/input.json.gz", + "bytes": 165347, + "sha256": "22d37f665b3d01c48b13f2d67f6cbf3a6ca04c93b3696e7697a65bae0a273393" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json", + "bytes": 9990, + "sha256": "7d9db13c588c163fed16849eda32d94d180fe9e3a4350c70551be1aef4eebcab" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json", + "bytes": 9990, + "sha256": "7d9db13c588c163fed16849eda32d94d180fe9e3a4350c70551be1aef4eebcab" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd", + "bytes": 1445, + "sha256": "a7c3f9c4d744e49808f4b3be1e9e105dec6b7e3ede4c83627986c459d67bbb91" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd", + "bytes": 1445, + "sha256": "a7c3f9c4d744e49808f4b3be1e9e105dec6b7e3ede4c83627986c459d67bbb91" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd", + "bytes": 1448, + "sha256": "437cae63b5bebbb183fa87464770bdd7deb8b1c99a3309573c501cac92955125" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd", + "bytes": 1448, + "sha256": "437cae63b5bebbb183fa87464770bdd7deb8b1c99a3309573c501cac92955125" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/input.json.gz", + "bytes": 229318, + "sha256": "c5688c125ee132d4a6d0aa264d5076dcc5a70fd954c1bb8634c67bfe3994dc06" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/input.json", + "bytes": 976234, + "sha256": "0ec0212b04a1f16bbe8789976a359d62a69d68035063558a0e7e0250a381b3e5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json", + "bytes": 15532, + "sha256": "82736532d59d3d1edaf93f806cef1ed1213b1feec4fd2e24bba06d741589ad0e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json", + "bytes": 15532, + "sha256": "82736532d59d3d1edaf93f806cef1ed1213b1feec4fd2e24bba06d741589ad0e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd", + "bytes": 1514, + "sha256": "6fbefbad8edde64461b3d751e1e27104b7bb65957e17216073638442a89d41c3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd", + "bytes": 1514, + "sha256": "6fbefbad8edde64461b3d751e1e27104b7bb65957e17216073638442a89d41c3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/whole.gd", + "bytes": 4442, + "sha256": "729de52998f376ad249194d4eb3a0073e246fb9c0839d6271593b118badb46fa" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd", + "bytes": 4442, + "sha256": "729de52998f376ad249194d4eb3a0073e246fb9c0839d6271593b118badb46fa" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-build-r303.py", + "bytes": 2388, + "sha256": "24ac85648c2b569ff99827bb384333ef4f43f2d26953411bbc5593b875712294" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-impact-whole-r305.py", + "bytes": 5761, + "sha256": "51e9a5615fb687aecfcc5efcd88475a5647e58db9e41d76b3c27f749ceb4fe0d" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-impact-whole-r305.py", + "bytes": 5761, + "sha256": "51e9a5615fb687aecfcc5efcd88475a5647e58db9e41d76b3c27f749ceb4fe0d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-local-r304.py", + "bytes": 10105, + "sha256": "9ac1d42a5593b7e0ec668cbb53bc03003b827bf84fea2bf5003e6a196a6c0d03" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304.py", + "bytes": 10105, + "sha256": "9ac1d42a5593b7e0ec668cbb53bc03003b827bf84fea2bf5003e6a196a6c0d03" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/authors/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/README.md", + "bytes": 2458, + "sha256": "2ccc2fe02682b8bcefa53a37061f25aabd4392848af519ef0b0caa5d343d3b5a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/manifest.json", + "bytes": 40627, + "sha256": "2a8614a1525477c6b20018e92d3ceccaa73ed502a157c8812282e98d346cd80e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/checkpoints/.gdignore", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-actual-independent-review-r301.json", + "bytes": 38167, + "sha256": "0aefd18bc6d12b9f50dae3faf7d53f7120c384906708bab519a506e8432a5dd6" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + ], + "unit_accepted": false, + "performance_accepted": false +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json new file mode 100644 index 0000000..86c1978 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json @@ -0,0 +1,311 @@ +{ + "schema": 1, + "review": "r305 bounded original impact and whole-pair preexecution independent review", + "execution_allowed": true, + "blockers": [], + "evidence_sha256": { + "/Applications/Godot.app/Contents/MacOS/Godot": { + "path": "/Applications/Godot.app/Contents/MacOS/Godot", + "bytes": 351312912, + "sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd", + "bytes": 17582, + "sha256": "92d5e1956f4e613e12555d756de4f71fef03678cde159ac68fac3188ce3f336e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py", + "bytes": 26296, + "sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd", + "bytes": 2276, + "sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/performance_budget.candidate.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/performance_budget.candidate.gd", + "bytes": 11250, + "sha256": "1010129d3124c3aec037c840a5766a7cdabe60c654999dfb6f23b224140a73f8" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-local-names-candidate-r239/stage/scripts/core/performance_budget.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-local-names-candidate-r239/stage/scripts/core/performance_budget.gd", + "bytes": 10355, + "sha256": "742c464d16ab417cbc3c2930d43e508faf5c9f7688da416324ca1150bdb9b6b9" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-local-names-candidate-r239/stage/scripts/world/path_service.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-local-names-candidate-r239/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst", + "bytes": 240032, + "sha256": "1a88f7ed27d1d32102c6fe3a9533221d2565191712ed15b631190479d1d41505" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-whole647-native-r02/diagnostic-measurement/after647.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-whole647-native-r02/diagnostic-measurement/after647.varbytes.zst", + "bytes": 246720, + "sha256": "684ba40e9f649b7dd4bfc620185d7cd18bae3111c3b4038e48aaad5a9168d880" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/tests/s6/test_performance_budget.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/tests/s6/test_performance_budget.gd", + "bytes": 3968, + "sha256": "1ae5490637d73b519bf9ed0e00bda0e034d5ea0e589493bcf8886e4d1ff63689" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/game_clock.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/game_clock.gd", + "bytes": 841, + "sha256": "39400634a57ccbf8c584b54a15a259048a95da90b1528330151e45667d65f7f7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cached-path-whole-pair-r253-r02/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cached-path-whole-pair-r253-r02/input.json", + "bytes": 1205935, + "sha256": "b116fd3e0dbad6b84594486dfaa531845e549482493a76dd7333a95dc760453b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cached-path-whole-pair-actual-independent-review-r253-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cached-path-whole-pair-actual-independent-review-r253-r02.json", + "bytes": 37005, + "sha256": "f4c2b2c17da88ddf1f4f65bc2aacb53d5e5f062447df46e61bf724f7f3200d3c" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-budget-impact-whole-r262/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-budget-impact-whole-r262/input.json", + "bytes": 972136, + "sha256": "c8e7282ea7125c97eb8f8abe2914e7ecae28d76b368a042855a0ee11ccae68ba" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-budget-impact-whole-actual-independent-review-r262.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-budget-impact-whole-actual-independent-review-r262.json", + "bytes": 37515, + "sha256": "530a10149df9138948f037937fda669f7f8d3b420a70260b4ecb5c4f96298782" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension", + "bytes": 323, + "sha256": "04c4311764ab9d75be3df884f960f0944cd474847fb1ca061224ce4c1bc2aef7" + }, + "/private/tmp/TheTree-pure-tags-r278-r04-72046c25b9384bcf8ea8ec91123462e1/candidate.dylib": { + "path": "/private/tmp/TheTree-pure-tags-r278-r04-72046c25b9384bcf8ea8ec91123462e1/candidate.dylib", + "bytes": 367520, + "sha256": "386d579d32b5660ccc1ed50d4c59f6a772a8360c7070241886354bfcade46cc0" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib": { + "path": "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/private/tmp/thetree-prepare-ready-route-impact-whole-r305.py": { + "path": "/private/tmp/thetree-prepare-ready-route-impact-whole-r305.py", + "bytes": 5761, + "sha256": "51e9a5615fb687aecfcc5efcd88475a5647e58db9e41d76b3c27f749ceb4fe0d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305.py", + "bytes": 7671, + "sha256": "ff28c27307333335b57846203a1834c10c2b004fbf5dfb2571df7ce9b7475bd4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd", + "bytes": 4442, + "sha256": "729de52998f376ad249194d4eb3a0073e246fb9c0839d6271593b118badb46fa" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/whole.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/whole.gd", + "bytes": 4455, + "sha256": "8af18e506a8cf859103c9d2a79f0d31f4d65f9f5d022f2848bbbb4ead21b9fc4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281.py", + "bytes": 7665, + "sha256": "a2f907ff0b3abbefb9df0011d4304bc64169969bbf8324fdb04467c604f00d38" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/input.json", + "bytes": 975133, + "sha256": "cab7c33fad7f013628756bb968d78e0da57d712de3474c31287f4e93f91a21ad" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-actual-independent-review-r281.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-actual-independent-review-r281.json", + "bytes": 46359, + "sha256": "1876c883e898fdfb8c1c4fb84ee5950930719d0e623b3f010fad0312402166b4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/actual-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/actual-root-verification.json", + "bytes": 28310, + "sha256": "1d3d3a0d804d508e7daf11551c30997b0ef048660ceaafb814fd7e07104ae292" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json", + "bytes": 28290, + "sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json", + "bytes": 15302, + "sha256": "d69adddf6ec16948caf7f2e85634059a7befeac7ba8ddd48d2352b9a75c7462e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json", + "bytes": 759469, + "sha256": "7f2403a6d4bd1dbff44f246bced74e810bf515f187f65c1a2dd3ef947c0445af" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-actual-independent-review-r278-r04.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-actual-independent-review-r278-r04.json", + "bytes": 28145, + "sha256": "671f15fa542465cf6a7e88ee272a2ce67049fffcca2483205f999cfeb2075253" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/actual-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/actual-root-verification.json", + "bytes": 17143, + "sha256": "00e01cce5240ebd3accddbfc88f8776ac4cd4dfa887df3b8ee319eb16c45913f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-provider-fallback-static-independent-review-r280.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-provider-fallback-static-independent-review-r280.json", + "bytes": 15586, + "sha256": "c25202cb2b17e74b7c097572b61c8d60f76e9b26074c637de116b29c48faf118" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-provider-fallback-static-root-verification-r280.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-provider-fallback-static-root-verification-r280.json", + "bytes": 7214, + "sha256": "7928ab71bf6ec7a03762b1ac1705557e7b9729880cec5df043937b266bb2ecdd" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd", + "bytes": 1514, + "sha256": "6fbefbad8edde64461b3d751e1e27104b7bb65957e17216073638442a89d41c3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd", + "bytes": 1445, + "sha256": "a7c3f9c4d744e49808f4b3be1e9e105dec6b7e3ede4c83627986c459d67bbb91" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd", + "bytes": 1448, + "sha256": "437cae63b5bebbb183fa87464770bdd7deb8b1c99a3309573c501cac92955125" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/input.json", + "bytes": 976234, + "sha256": "0ec0212b04a1f16bbe8789976a359d62a69d68035063558a0e7e0250a381b3e5" + } + }, + "canonical_doc4_context_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + }, + "archival_before_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/IMPLEMENTATION_PLAN.md", + "bytes": 511898, + "sha256": "de1f65be5107f297b6737749b89f93c066beb39f223689a27be3698611fdb9bc" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/PROGRESS_INTEGRATION.md", + "bytes": 429962, + "sha256": "b259f86fe8d9709cf8f943b90aabae4e2ea2457dfce82eaa51a7edf23160b66b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/work_packages.json", + "bytes": 1247101, + "sha256": "d058f5d00a98bc162ffefa362c9dce2602adf7ce4cfac0317d5d9de580e96977" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/progress_snapshot.json", + "bytes": 524354, + "sha256": "99e45a9ae230926987de481123e977a9b0d49fdcc21f1e450d74fc1e2467ccc5" + } + }, + "verification": { + "driver_full_inverse_to_accepted281": true, + "QA_full_inverse_labels_comments_only_to281": true, + "original_S6_body_unchanged": true, + "expected_s6": 24, + "expected_whole_each": 15, + "whole_basis": "13 QA assertions +1 exclusive typed check +1 wrapper registration", + "serial_owned_engine_count": 3, + "cold646_paused_speed1_unchanged": true, + "original_whole_oracle_bytes": 11487732, + "library_configs_exact_existing275_and303": true, + "original_path_guest_runtime_unchanged": true, + "Budget257_same_all_phases": true, + "patched_inventory_only_budget": true, + "shared_parent_original_file_count": 1299, + "source_default_support_doc301_fresh": true, + "free_bytes_at_review": 1229123584, + "floor_bytes": 536870912, + "postphase_output_bytes_limit": 16777216, + "watchdog_each_seconds": 90 + }, + "allowed_scope": "One original S6/GameClock impact on exact302/library303. Only on pass, one adjacent fresh baseline274/library275 then candidate302/library303 cold646 whole647 pair. Full original oracle byte equality, strict/private/owned guards mandatory. Budget257/project transient only, restore after actual owned termination; no copies/clones/compiles/local rerun/full172.", + "limits": [ + "Registration/API markers authenticate library availability, not every native helper invocation.", + "Historical host275 canonical271 pins match C276/before archival bytes and do not stand for live301. Prior281 unchanged evidence reused without re-decoding.", + "Shape/index/type conversion, midcall custom/script replacement and arbitrary reentry remain untested.", + "Single adjacent timing observation cannot establish stable speed, causal component gain, P95/D10/50ms/Main/render/normal OS/x3/Windows/adoption/unit acceptance.", + "16MiB output gate is postphase, not a live peak bound; runtime noforeign and floor gates remain mandatory." + ], + "reviewer_execution": { + "engine": 0, + "compiler": 0, + "tests": 0, + "validator": 0, + "author": 0, + "codec_redecode": 0, + "existing_edits": 0, + "new_agents": 0 + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305.py new file mode 100644 index 0000000..9e95fd2 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305.py @@ -0,0 +1,63 @@ +# coding: utf-8 +from pathlib import Path +import hashlib,importlib.util,json,os,shutil,subprocess,sys,uuid +sys.dont_write_bytecode=True +R=Path(__file__).resolve().parents[2];A=R/'artifacts/original-completion-2026-10-02';D=R/'docs/plans/original-completion-2026-10-02';O=A/'p23-02-native-ready-route-impact-whole-r305';NAMES=['IMPLEMENTATION_PLAN.md','PROGRESS_INTEGRATION.md','work_packages.json','progress_snapshot.json'] +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 +def unpack(path):return subprocess.run(['/opt/homebrew/bin/zstd','-d','-q','-c',str(path)],check=True,capture_output=True,timeout=10).stdout +def main(): + r=mod('r281',R/'tools/run_all_tests.py');outer=mod('owned270',r.SUPPORT/'owned_outer.py');plan=r.read(O/'input.json');fixed=plan['pins'];assert not (O/'execution.json').exists() + source=r.source_refs(R);player=r.default_player(R);docs={n:r.sha(D/n) for n in NAMES};assert source==plan['source_before'] and player==plan['default_before'] and docs==plan['doc4_before'] + prepath=A/'p23-02-native-ready-route-impact-whole-preexecution-independent-review-r305.json';pre=r.read(prepath);assert pre['execution_allowed'] and not pre['blockers'] + for group in ['evidence_sha256','canonical_doc4_context_pins']: + for key,q in pre[group].items(): + f=Path(q.get('path',key));assert f.stat().st_size==q['bytes'] and r.sha(f)==q['sha256'] + root=r.read(O/'preexecution-root-verification.json');assert root['passed'] and root['review_sha256']==r.sha(prepath) + assert r.read(fixed['local_review']['path'])['finite_local_equivalence_accepted'] + auditpath=A/'p23-02-native-provider-fallback-static-independent-review-r280.json';audit=r.read(auditpath);assert audit['builtin_synchronous_fallback_supported'] and not audit['blockers'] + auditroot=r.read(A/'p23-02-native-provider-fallback-static-root-verification-r280.json');assert auditroot['passed'] and auditroot['review_sha256']==r.sha(auditpath) + stage=Path(plan['stage']);parent=Path(plan['parent']);budget=stage/'scripts/core/performance_budget.gd';original=budget.read_bytes();modified=Path(fixed['modified_budget']['path']).read_bytes();public=(stage/'project.godot').read_bytes();patched=False + assert hashlib.sha256(original).hexdigest()==plan['original_budget_sha256'] + def protect(): + assert r.source_refs(R)==source and r.default_player(R)==player and {n:r.sha(D/n) for n in NAMES}==docs and r.inventory(r.SUPPORT)==plan['support_inventory'] + assert r.inventory(parent,stage=True)==plan['expected_stage'] and r.inventory(stage,stage=True)==(plan['patched_stage'] if patched else plan['expected_stage']) + for key,q in fixed.items(): + f=Path(q['path']);assert f.stat().st_size==q['bytes'] and r.sha(f)==q['sha256'],key + protect();oracle=unpack(fixed['oracle']['path']);assert len(oracle)==11487732 and hashlib.sha256(oracle).hexdigest()=='9df3c1b6f65dfd8be944cd5cab8c631f7533530dfef3820d9fa5d74a5b1ac30f' + phases=[];samples=[];error=None;cleanup=[];cleanup_errors=[] + try: + for mode in ['s6','baseline','candidate']: + protect();assert not outer.native.helper['live_engines']() and shutil.disk_usage(A).free>=plan['capacity_floor_bytes'] + budget.write_bytes(modified);patched=True + protect();output=O/(mode+'-measurement');output.mkdir();ident=uuid.uuid4().hex;startup='TheTree-PCK-tests-'+ident+'-budget-startup';profile='TheTree-PCK-tests-'+ident+'-budget-runtime';assert not r.profile_path(startup).exists() and not r.profile_path(profile).exists() + env=r.fresh_environment(os.environ);env.update(THE_TREE_PACK_PROFILE_NAME=profile,THE_TREE_PACK_PROFILE_EXPECTED=str(r.profile_path(profile)),THE_TREE_PACK_PROFILE_REPORT=str(O/(mode+'-profile.json')),THE_TREE_RUNTIME_MONITOR_OUTPUT=str(output),THE_TREE_REPLAY_SNAPSHOT=fixed['fixture']['path'],THE_TREE_CANDIDATE_ORACLE=fixed['oracle']['path'],THE_TREE_PAIRED_CANDIDATE=mode,THE_TREE_PAIRED_SAMPLE=mode,THE_TREE_EXPECTED_BUDGET_SHA=fixed['modified_budget']['sha256'],THE_TREE_EXPECTED_PATH_SHA=fixed['original_path']['sha256']) + (stage/'project.godot').write_bytes(r.private_project(public,startup));phase=O/mode;argv=[fixed['engine']['path'],'--headless','--path',str(stage),'--script',fixed['starter_'+mode]['path'],'--verbose','--log-file',str(phase/'engine-native.log')] + result,capture=outer.run_phase(argv,phase,90,env,now_fn=r.now,dump_fn=r.write,sha_fn=r.sha,live_engines_fn=outer.native.helper['live_engines']);row=dict(mode=mode,result=result,capture=capture);phases.append(row);r.write(O/(mode+'-phase.json'),row) + rp=output/'report.json';report=r.read(rp) if rp.exists() else None + if report is not None:samples.append(report) + assert result and result['exit_code']==0 and not result['error_lines'] and not result['timed_out'] and capture['passed'] + logs=''.join((phase/n).read_text() for n in ['stdout.log','stderr.log','engine-native.log']);assert 'Orphan StringName:' not in logs and 'unclaimed string names' not in logs + assert report and report['passed'] and not report['failures'] and report['pid']==result['pid'] + stdout=(phase/'stdout.log').read_text();assert stdout.count('NATIVE_ADAPTER_LIBRARY_REGISTERED')==1 + if mode=='s6':assert report['mode']==mode and report['checks']==24 and stdout.count('PASS: 24 checks')==1 + else: + assert report['candidate']==mode and report['sample']==mode and report['checks']==15 and stdout.count('SDK whole647: 15 checks, 0 failures')==1 + ref=report['after647'];raw=unpack(ref['path']);assert raw==oracle and len(raw)==ref['uncompressed_bytes'] and hashlib.sha256(raw).hexdigest()==ref['uncompressed_sha256'] + r.profile_gate(r.profile_path(profile),O/(mode+'-profile.json'),profile);assert sum(f.stat().st_size for f in O.rglob('*') if f.is_file())<=16*1048576 + (stage/'project.godot').write_bytes(public);budget.write_bytes(original);patched=False;protect() + except BaseException as caught:error=type(caught).__name__+': '+str(caught) + finally: + cleanup,cleanup_errors=outer.finish_captured(outer.OWNED) + if all(q['engine_ended'] is True for q in cleanup):budget.write_bytes(original);patched=False;(stage/'project.godot').write_bytes(public) + else:cleanup_errors.append('Budget/project restoration refused while owned child remains live') + guard_errors=[] + try:assert not patched and budget.read_bytes()==original;protect() + except BaseException as caught:guard_errors.append(type(caught).__name__+': '+str(caught)) + pairs=[] + if len(samples)==3: + before=samples[1]['manual_tick_us'];after=samples[2]['manual_tick_us'];assert before>0 and after>=0;pairs=[dict(baseline_us=before,candidate_us=after,ratio=after/before,reduction_percent=(before-after)*100.0/before,scope='One adjacent cold paused speed1 headless observation only; no stable/P95/budget acceptance')] + passed=error is None and not guard_errors and not cleanup_errors and len(phases)==3 and len(samples)==3 + r.write(O/'execution.json',dict(passed=passed,error=error,guard_errors=guard_errors,phases=phases,samples=samples,pairs=pairs,cleanup=cleanup,cleanup_errors=cleanup_errors,shared_Budget_restored_byteexact=not patched and budget.read_bytes()==original,input_source_default_doc4_preserved=not guard_errors,candidate_adopted=False,unit_accepted=False,performance_accepted=False,limitations=['Candidate original S6/GameClock impact first; only on pass baseline/candidate whole647 equality and one finite timing pair. No stable/P95/D10/50ms/final172/Main/render/OS/realtime x3/Windows/adoption/unit acceptance.'])) + print(json.dumps(dict(passed=passed,error=error,guard_errors=guard_errors,pairs=pairs)),flush=True);return 0 if passed else 1 +if __name__=='__main__':raise SystemExit(main()) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd new file mode 100644 index 0000000..853ff04 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd @@ -0,0 +1,16 @@ +extends "/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd" +const Guard := preload("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd") +func _initialize() -> void: + if not Guard.activate(): quit(97); return + super._initialize() +func run() -> void: + var loaded := GDExtensionManager.load_extension("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension") + var exact_api := false + if loaded == GDExtensionManager.LOAD_STATUS_OK and ClassDB.class_exists(&"TheTreeNumericCore"): + var probe: Variant = ClassDB.instantiate(&"TheTreeNumericCore") + exact_api = probe != null and probe.has_method(&"guest_tree_edge_rows") == true + probe = null + check(loaded == GDExtensionManager.LOAD_STATUS_OK and ClassDB.class_exists(&"TheTreeNumericCore") and exact_api, "exact native extension registered before diagnostic") + if loaded != GDExtensionManager.LOAD_STATUS_OK or not ClassDB.class_exists(&"TheTreeNumericCore") or not exact_api: quit(96); return + print("NATIVE_ADAPTER_LIBRARY_REGISTERED") + super.run() diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd new file mode 100644 index 0000000..79f6f7e --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd @@ -0,0 +1,16 @@ +extends "/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd" +const Guard := preload("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd") +func _initialize() -> void: + if not Guard.activate(): quit(97); return + super._initialize() +func run() -> void: + var loaded := GDExtensionManager.load_extension("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension") + var exact_api := false + if loaded == GDExtensionManager.LOAD_STATUS_OK and ClassDB.class_exists(&"TheTreeNumericCore"): + var probe: Variant = ClassDB.instantiate(&"TheTreeNumericCore") + exact_api = probe != null and probe.has_method(&"guest_tree_edge_rows") == true + probe = null + check(loaded == GDExtensionManager.LOAD_STATUS_OK and ClassDB.class_exists(&"TheTreeNumericCore") and exact_api, "exact native extension registered before diagnostic") + if loaded != GDExtensionManager.LOAD_STATUS_OK or not ClassDB.class_exists(&"TheTreeNumericCore") or not exact_api: quit(96); return + print("NATIVE_ADAPTER_LIBRARY_REGISTERED") + super.run() diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/input.json.gz b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/input.json.gz new file mode 100644 index 0000000..ec77952 Binary files /dev/null and b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/input.json.gz differ diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json new file mode 100644 index 0000000..70ca376 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/preexecution-root-verification.json @@ -0,0 +1,268 @@ +{ + "passed": true, + "review_sha256": "0e3700d6c1a1ca02fbad985c1e97c88a2502eeb01951bb48e28d3e71e76dc917", + "verified_entries": [ + { + "path": "/Applications/Godot.app/Contents/MacOS/Godot", + "bytes": 351312912, + "sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd", + "bytes": 17582, + "sha256": "92d5e1956f4e613e12555d756de4f71fef03678cde159ac68fac3188ce3f336e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py", + "bytes": 26296, + "sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd", + "bytes": 2276, + "sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-walk-edges-candidate-r265-r03/performance_budget.candidate.gd", + "bytes": 11250, + "sha256": "1010129d3124c3aec037c840a5766a7cdabe60c654999dfb6f23b224140a73f8" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-local-names-candidate-r239/stage/scripts/core/performance_budget.gd", + "bytes": 10355, + "sha256": "742c464d16ab417cbc3c2930d43e508faf5c9f7688da416324ca1150bdb9b6b9" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-local-names-candidate-r239/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst", + "bytes": 240032, + "sha256": "1a88f7ed27d1d32102c6fe3a9533221d2565191712ed15b631190479d1d41505" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-whole647-native-r02/diagnostic-measurement/after647.varbytes.zst", + "bytes": 246720, + "sha256": "684ba40e9f649b7dd4bfc620185d7cd18bae3111c3b4038e48aaad5a9168d880" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/tests/s6/test_performance_budget.gd", + "bytes": 3968, + "sha256": "1ae5490637d73b519bf9ed0e00bda0e034d5ea0e589493bcf8886e4d1ff63689" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/game_clock.gd", + "bytes": 841, + "sha256": "39400634a57ccbf8c584b54a15a259048a95da90b1528330151e45667d65f7f7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cached-path-whole-pair-r253-r02/input.json", + "bytes": 1205935, + "sha256": "b116fd3e0dbad6b84594486dfaa531845e549482493a76dd7333a95dc760453b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cached-path-whole-pair-actual-independent-review-r253-r02.json", + "bytes": 37005, + "sha256": "f4c2b2c17da88ddf1f4f65bc2aacb53d5e5f062447df46e61bf724f7f3200d3c" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-budget-impact-whole-r262/input.json", + "bytes": 972136, + "sha256": "c8e7282ea7125c97eb8f8abe2914e7ecae28d76b368a042855a0ee11ccae68ba" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-budget-impact-whole-actual-independent-review-r262.json", + "bytes": 37515, + "sha256": "530a10149df9138948f037937fda669f7f8d3b420a70260b4ecb5c4f96298782" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension", + "bytes": 323, + "sha256": "04c4311764ab9d75be3df884f960f0944cd474847fb1ca061224ce4c1bc2aef7" + }, + { + "path": "/private/tmp/TheTree-pure-tags-r278-r04-72046c25b9384bcf8ea8ec91123462e1/candidate.dylib", + "bytes": 367520, + "sha256": "386d579d32b5660ccc1ed50d4c59f6a772a8360c7070241886354bfcade46cc0" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-impact-whole-r305.py", + "bytes": 5761, + "sha256": "51e9a5615fb687aecfcc5efcd88475a5647e58db9e41d76b3c27f749ceb4fe0d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305.py", + "bytes": 7671, + "sha256": "ff28c27307333335b57846203a1834c10c2b004fbf5dfb2571df7ce9b7475bd4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/whole.gd", + "bytes": 4442, + "sha256": "729de52998f376ad249194d4eb3a0073e246fb9c0839d6271593b118badb46fa" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/whole.gd", + "bytes": 4455, + "sha256": "8af18e506a8cf859103c9d2a79f0d31f4d65f9f5d022f2848bbbb4ead21b9fc4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281.py", + "bytes": 7665, + "sha256": "a2f907ff0b3abbefb9df0011d4304bc64169969bbf8324fdb04467c604f00d38" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/input.json", + "bytes": 975133, + "sha256": "cab7c33fad7f013628756bb968d78e0da57d712de3474c31287f4e93f91a21ad" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-actual-independent-review-r281.json", + "bytes": 46359, + "sha256": "1876c883e898fdfb8c1c4fb84ee5950930719d0e623b3f010fad0312402166b4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-impact-whole-r281/actual-root-verification.json", + "bytes": 28310, + "sha256": "1d3d3a0d804d508e7daf11551c30997b0ef048660ceaafb814fd7e07104ae292" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json", + "bytes": 28290, + "sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json", + "bytes": 15302, + "sha256": "d69adddf6ec16948caf7f2e85634059a7befeac7ba8ddd48d2352b9a75c7462e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json", + "bytes": 759469, + "sha256": "7f2403a6d4bd1dbff44f246bced74e810bf515f187f65c1a2dd3ef947c0445af" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-actual-independent-review-r278-r04.json", + "bytes": 28145, + "sha256": "671f15fa542465cf6a7e88ee272a2ce67049fffcca2483205f999cfeb2075253" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/actual-root-verification.json", + "bytes": 17143, + "sha256": "00e01cce5240ebd3accddbfc88f8776ac4cd4dfa887df3b8ee319eb16c45913f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-provider-fallback-static-independent-review-r280.json", + "bytes": 15586, + "sha256": "c25202cb2b17e74b7c097572b61c8d60f76e9b26074c637de116b29c48faf118" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-provider-fallback-static-root-verification-r280.json", + "bytes": 7214, + "sha256": "7928ab71bf6ec7a03762b1ac1705557e7b9729880cec5df043937b266bb2ecdd" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd", + "bytes": 1514, + "sha256": "6fbefbad8edde64461b3d751e1e27104b7bb65957e17216073638442a89d41c3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/baseline-guarded.gd", + "bytes": 1445, + "sha256": "a7c3f9c4d744e49808f4b3be1e9e105dec6b7e3ede4c83627986c459d67bbb91" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/candidate-guarded.gd", + "bytes": 1448, + "sha256": "437cae63b5bebbb183fa87464770bdd7deb8b1c99a3309573c501cac92955125" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-impact-whole-r305/input.json", + "bytes": 976234, + "sha256": "0ec0212b04a1f16bbe8789976a359d62a69d68035063558a0e7e0250a381b3e5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/IMPLEMENTATION_PLAN.md", + "bytes": 511898, + "sha256": "de1f65be5107f297b6737749b89f93c066beb39f223689a27be3698611fdb9bc" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/PROGRESS_INTEGRATION.md", + "bytes": 429962, + "sha256": "b259f86fe8d9709cf8f943b90aabae4e2ea2457dfce82eaa51a7edf23160b66b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/work_packages.json", + "bytes": 1247101, + "sha256": "d058f5d00a98bc162ffefa362c9dce2602adf7ce4cfac0317d5d9de580e96977" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-progress-integration-candidate-r276/before/progress_snapshot.json", + "bytes": 524354, + "sha256": "99e45a9ae230926987de481123e977a9b0d49fdcc21f1e450d74fc1e2467ccc5" + } + ], + "unit_accepted": false, + "performance_accepted": false +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd new file mode 100644 index 0000000..208f7b4 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/s6-guarded.gd @@ -0,0 +1,17 @@ +extends "res://tests/s6/test_performance_budget.gd" +const Guard := preload("/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd") +func _initialize() -> void: + if not Guard.activate(): quit(97); return + var loaded := GDExtensionManager.load_extension("/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension") + if loaded != GDExtensionManager.LOAD_STATUS_OK or not ClassDB.class_exists(&"TheTreeNumericCore"): quit(96); return + var probe: Variant = ClassDB.instantiate(&"TheTreeNumericCore") + if probe == null or not probe.has_method(&"performance_record_sample") or not probe.has_method(&"guest_tree_edge_rows"): quit(96); return + probe = null + if FileAccess.get_sha256("res://scripts/core/performance_budget.gd") != OS.get_environment("THE_TREE_EXPECTED_BUDGET_SHA"): quit(98); return + print("NATIVE_ADAPTER_LIBRARY_REGISTERED") + super._initialize() +func _run() -> void: + super._run() + var f := FileAccess.open(OS.get_environment("THE_TREE_RUNTIME_MONITOR_OUTPUT").path_join("report.json"), FileAccess.WRITE) + if f == null: quit(98); return + f.store_string(JSON.stringify({"mode":"s6", "pid":OS.get_process_id(), "checks":_checks, "failures":_failures, "passed":_failures == 0, "original_s6_test_unchanged":true, "unit_accepted":false, "performance_accepted":false}, "\t")); f.close() diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/whole.gd b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/whole.gd new file mode 100644 index 0000000..49227fa --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-impact-whole-r305/whole.gd @@ -0,0 +1,38 @@ +extends "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd" +# One sample of an adjacent r274/library275 versus r302/library303 pair. Only the synchronous tick is timed. +func run() -> void: + output = OS.get_environment("THE_TREE_RUNTIME_MONITOR_OUTPUT") + var input_path := OS.get_environment("THE_TREE_REPLAY_SNAPSHOT") + var candidate := OS.get_environment("THE_TREE_PAIRED_CANDIDATE") + if not output.is_absolute_path() or not input_path.is_absolute_path() or candidate not in ["baseline","candidate"]: quit(98); return + var original := FileAccess.get_file_as_bytes(input_path).decompress(11411840, FileAccess.COMPRESSION_ZSTD) + var initial: Dictionary = bytes_to_var(original) + runtime = root.get_node("SimulationRuntime") + clock = root.get_node("GameClock") + runtime.initialize(clock, root.get_node("GameState"), int(initial[&"systems"][&"runtime"][&"world_seed"])) + check(runtime.restore_snapshot(initial), "fixed646 public restore") + check(var_to_bytes(runtime.create_snapshot()) == original, "complete input bytes identical") + check(clock.absolute_minute == 646 and clock.paused and clock.speed == 1, "same paused646 speed1") + var path_listeners: Array = runtime.path_service.get_signal_connection_list(&"path_query_measured") + check(path_listeners.size() == 1 and path_listeners[0]["callable"] == Callable(runtime, "_on_path_query_measured") and int(path_listeners[0]["flags"]) == 0, "only builtin path listener") + check(clock.performance_budget.get_signal_connection_list(&"budget_exceeded").is_empty(), "no external budget listener") + check(clock.get_signal_connection_list(&"tick_phase_started").is_empty() and clock.get_signal_connection_list(&"tick_completed").is_empty(), "no phase or completion instrumentation") + check(runtime.path_service.cache_hits == 0 and runtime.path_service.cache_misses == 0 and runtime.path_service.cached_path_count() == 0, "same cold derived cache") + check(runtime.path_service._query_batch.is_empty() and runtime.path_service._guest_tree_workspace.is_empty() and runtime.path_service._guest_step_connector_memo.is_empty(), "same cold tree/native-edge/step workspace") + check(runtime._guest_access_batch_can_select(), "both candidates active fast guard") + check(runtime.path_service.get_script().get_source_code().sha256_text() == OS.get_environment("THE_TREE_EXPECTED_PATH_SHA") and FileAccess.get_sha256("res://scripts/core/performance_budget.gd") == OS.get_environment("THE_TREE_EXPECTED_BUDGET_SHA"), "actual loaded original Path and same candidate Budget sources") + var started := Time.get_ticks_usec() + clock.advance_minutes(1) + var elapsed := Time.get_ticks_usec() - started + check(clock.absolute_minute == 647 and clock.paused, "tick returns at paused647") + var after: Dictionary = runtime.create_snapshot() + var oracle := FileAccess.get_file_as_bytes(OS.get_environment("THE_TREE_CANDIDATE_ORACLE")).decompress(11487732, FileAccess.COMPRESSION_ZSTD) + check(var_to_bytes(after) == oracle, "complete after647 equals pinned r32 oracle") + var after_pin := typed("after647", after) + check(after_pin["uncompressed_sha256"] == "9df3c1b6f65dfd8be944cd5cab8c631f7533530dfef3820d9fa5d74a5b1ac30f", "complete output digest identical") + var report := {"plan_id":"P23-02", "candidate":candidate, "sample":OS.get_environment("THE_TREE_PAIRED_SAMPLE"), "pid":OS.get_process_id(), "manual_tick_us":elapsed, "after647":after_pin, "cache_hits":runtime.path_service.cache_hits, "cache_misses":runtime.path_service.cache_misses, "checks":checks, "failures":failures, "passed":failures.is_empty(), "unit_accepted":false, "performance_budget_accepted":false, "normal_OS_accepted":false, "Windows_accepted":false, "candidate_adopted":false, "limits":["One sample from an adjacent baseline r274/library275 versus ready-route r302/library303 pair; fixed cold restored646. Only exploratory pair observation, no stable speedup, percentile or budget acceptance.", "No Main, rendering, OS input or realtime x3. Timed interval contains builtin production callbacks; snapshot verification and compression occur after timing."]} + var file := FileAccess.open(output.path_join("report.json"), FileAccess.WRITE) + if file == null: quit(98); return + file.store_string(JSON.stringify(report, "\t")); file.close() + print("SDK whole647: %d checks, %d failures" % [checks, failures.size()]) + quit(0 if failures.is_empty() else 1) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json new file mode 100644 index 0000000..a57242a --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-actual-independent-review-r304-r02.json @@ -0,0 +1,384 @@ +{ + "schema": 1, + "review": "r304-r02 bounded actual independent local ready-route review", + "finite_local_equivalence_accepted": true, + "ready_route_equivalence_accepted": true, + "finite_exit_observation_accepted": true, + "native_load_accepted": true, + "blockers": [], + "evidence_sha256": { + "/Applications/Godot.app/Contents/MacOS/Godot": { + "path": "/Applications/Godot.app/Contents/MacOS/Godot", + "bytes": 351312912, + "sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd", + "bytes": 17582, + "sha256": "92d5e1956f4e613e12555d756de4f71fef03678cde159ac68fac3188ce3f336e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py", + "bytes": 26296, + "sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd", + "bytes": 2276, + "sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst", + "bytes": 240032, + "sha256": "1a88f7ed27d1d32102c6fe3a9533221d2565191712ed15b631190479d1d41505" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst", + "bytes": 1498, + "sha256": "d636067f11f70a82ae7d928d2463bc3c2a4107b1d63d1baaed065c8ef93b87d2" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd", + "bytes": 7571, + "sha256": "410e117b72c9fbabfad7b7ba837403a6ad24c3085b0d221f19974824a3dd7292" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432" + }, + "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py": { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib": { + "path": "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd", + "bytes": 611530, + "sha256": "b4201726a735e9d979bd1ffae626ecd43ad2b76e4c7d1b51430884609bf2f4dc" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd", + "bytes": 10355, + "sha256": "742c464d16ab417cbc3c2930d43e508faf5c9f7688da416324ca1150bdb9b6b9" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension", + "bytes": 323, + "sha256": "04c4311764ab9d75be3df884f960f0944cd474847fb1ca061224ce4c1bc2aef7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd", + "bytes": 1118, + "sha256": "ebe45a6ae990ff4f38ba9e2df86a99e83810ee6d65f7b0811d4a02be6a4a8dd6" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json", + "bytes": 759469, + "sha256": "7f2403a6d4bd1dbff44f246bced74e810bf515f187f65c1a2dd3ef947c0445af" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py", + "bytes": 7138, + "sha256": "567b30c74a7f52127e5cc6de48fe956ba3eb4aaca8b1bd858e6c7c288fd2742f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/execution.json", + "bytes": 12210, + "sha256": "7cd220b4cfa9bceecfa8b39eacc0f9e019ad0983009c2596fe07020a2ccf0664" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json", + "bytes": 8183, + "sha256": "09cffa8ba3a51722dc67d4acc91610cb92d997fa690a7bf7356185ad5ca7517d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json", + "bytes": 912, + "sha256": "b95335c1c492cca6fa9fd8d474242eccccdee8f1c7c4e9c47c7426a8392fdb45" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json", + "bytes": 1309, + "sha256": "4d3d129656268ed4c9f03737a3b94049886e43d4f51b9d312c869aedc9ac7c2d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json", + "bytes": 17299, + "sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json", + "bytes": 9990, + "sha256": "7d9db13c588c163fed16849eda32d94d180fe9e3a4350c70551be1aef4eebcab" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-ai-r03-typed-difference-independent-review-r01/finite_variant_codec.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-ai-r03-typed-difference-independent-review-r01/finite_variant_codec.py", + "bytes": 5438, + "sha256": "8c7077b53e28da4054bdf7dd88e82de02a51149269a8fce59bae0e74f95b4734" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json", + "bytes": 1793, + "sha256": "eb8d321fa42560813f05a1bd32a8abdce4dd9cbc4d86d005d5248cf8eb917746" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json", + "bytes": 351, + "sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log", + "bytes": 13479, + "sha256": "29c80683e381332a409ac7e852aabb09ff4594273ebc30b3a26b233f5dcdd0db" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log", + "bytes": 13629, + "sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/started.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/started.json", + "bytes": 2422, + "sha256": "917ba2cc75dc38e9c3c3033c17e283756c9e83f3946429a8126cbc4cf5a1cb83" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/process.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/process.json", + "bytes": 6723, + "sha256": "28ba2ddcea2a9911983521e2c44e98d3e2992fdbc5d407e3e383a529ce8beda3" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json", + "bytes": 964, + "sha256": "d676912bce39e81174b0f66bec033c670fa15db3d4f6ed49d831ec2554c4ec97" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "bytes": 709, + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "bytes": 332, + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d" + } + }, + "canonical_doc4_context_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + }, + "raw_details": { + "fixtures": { + "compressed": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "bytes": 709, + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5" + }, + "raw_bytes": 10948, + "raw_sha256": "43250a2fa5c56ca73fc853f2d883dfbf23dfdc7c8ba647f191c2b1282b636e0f", + "codec": { + "nodes": 739, + "headers": { + "28": 16, + "27": 55, + "4": 75, + "1": 42, + "21": 328, + "65564": 13, + "2": 195, + "10": 13, + "65538": 2 + }, + "file_envelope_bytes": 0, + "all_bytes_roundtrip": true + }, + "cases": [ + "ordinary", + "stairs150", + "stairs149", + "foreign150", + "elevator151", + "integer_wrap", + "clamp_low", + "geometry_wrap", + "inputs_unavailable", + "staff_only", + "custom_facility", + "custom_definition", + "custom_elevator", + "custom_guest", + "path_observer" + ], + "expected_actual_ordered_typed_full_span_equal": false + }, + "ready_route_fixtures": { + "compressed": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "bytes": 332, + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d" + }, + "raw_bytes": 3288, + "raw_sha256": "560b08669f28f79ab0eddff115d22830515420bea51e0271d71f5a569832b664", + "codec": { + "nodes": 229, + "headers": { + "28": 1, + "27": 24, + "4": 32, + "21": 64, + "1": 32, + "65564": 16, + "10": 60 + }, + "file_envelope_bytes": 0, + "all_bytes_roundtrip": true + }, + "cases": [ + "ordinary", + "goal_only", + "cycle_limit", + "negative_terminal", + "readonly_cells", + "readonly_indices", + "untyped_cells", + "noncompact" + ], + "expected_actual_ordered_typed_full_span_equal": true + } + }, + "verified": { + "checks": 252, + "failures": 0, + "original_projection_cases": 15, + "direct_original_nearest_route_cases": 8, + "PID": 59578, + "normal_exit_code": 0, + "owned_end_and_foreign_signals_zero": true, + "private_conditions": 5, + "strict_three_logs_clear": true, + "source_default_support_doc4_fresh_equal": true, + "shared_parent_original_files": 1299, + "project_original_bytes_restored": true, + "library303_copy_loaded_guard": true, + "readonly_physical_flags_and_typed_writable_cache_copy_checks_passed": true, + "bidirectional_return_cache_mutation_isolation_asserted": true + }, + "accepted_scope": "Finite exact303 ABI/load plus original15 ordered projection boundary candidates/public state and8 direct original _query_nearest_guest_access_without_native results/full Runtime+Path state/cache counters/errors/observer counts/physical readonly/typed writable distinct cache copy and reciprocal mutation isolation.", + "limits": [ + "The legacy15 original Runtime loop may itself use Path native303; these15 are not a claim that every transitive Path call is nonnative. The8 direct route oracle calls explicitly bypass native nearest.", + "Full public state, physical readonly and ownership properties are evidenced by pinned QA252 assertions and successful report; raw route fixtures store result pairs, not independent full state/readonly metadata records.", + "Native library registration and supported result do not independently count each reconstruct/copy helper native invocation.", + "Actual invalid shape/index/type-conversion and midcall custom/script replacement are not covered. General reentry/provider ownership remains open.", + "No whole647/final172/performance/stable benefit/P95/D10/50ms/OS/Windows/production adoption/unit acceptance." + ], + "candidate_adopted": false, + "performance_accepted": false, + "unit_accepted": false, + "reviewer_execution": { + "engine": 0, + "compiler": 0, + "tests": 0, + "validator": 0, + "author": 0, + "existing_edits": 0, + "new_agents": 0 + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json new file mode 100644 index 0000000..90562a9 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json @@ -0,0 +1,218 @@ +{ + "schema": 1, + "review": "r304-r02 bounded repaired local preexecution independent review", + "execution_allowed": true, + "blockers": [], + "evidence_sha256": { + "/Applications/Godot.app/Contents/MacOS/Godot": { + "path": "/Applications/Godot.app/Contents/MacOS/Godot", + "bytes": 351312912, + "sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd", + "bytes": 17582, + "sha256": "92d5e1956f4e613e12555d756de4f71fef03678cde159ac68fac3188ce3f336e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py", + "bytes": 26296, + "sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd", + "bytes": 2276, + "sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst", + "bytes": 240032, + "sha256": "1a88f7ed27d1d32102c6fe3a9533221d2565191712ed15b631190479d1d41505" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst", + "bytes": 1498, + "sha256": "d636067f11f70a82ae7d928d2463bc3c2a4107b1d63d1baaed065c8ef93b87d2" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd", + "bytes": 7571, + "sha256": "410e117b72c9fbabfad7b7ba837403a6ad24c3085b0d221f19974824a3dd7292" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432" + }, + "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py": { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib": { + "path": "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd", + "bytes": 611530, + "sha256": "b4201726a735e9d979bd1ffae626ecd43ad2b76e4c7d1b51430884609bf2f4dc" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd", + "bytes": 10355, + "sha256": "742c464d16ab417cbc3c2930d43e508faf5c9f7688da416324ca1150bdb9b6b9" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension", + "bytes": 323, + "sha256": "04c4311764ab9d75be3df884f960f0944cd474847fb1ca061224ce4c1bc2aef7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd", + "bytes": 1118, + "sha256": "ebe45a6ae990ff4f38ba9e2df86a99e83810ee6d65f7b0811d4a02be6a4a8dd6" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json", + "bytes": 759469, + "sha256": "7f2403a6d4bd1dbff44f246bced74e810bf515f187f65c1a2dd3ef947c0445af" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py", + "bytes": 7138, + "sha256": "567b30c74a7f52127e5cc6de48fe956ba3eb4aaca8b1bd858e6c7c288fd2742f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858" + } + }, + "canonical_doc4_context_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + }, + "verification": { + "original304_refusal_preserved": true, + "connector_and_active_batch_repair": true, + "default_same_layer_connector_from_zero_to_one": true, + "graph_cells_and_adjacency_keys_retained": 3, + "cycle_maximum_length": 4, + "original195_boundary_body_preserved": true, + "checks": 252, + "check_basis": "139 original +8*(2 graph setups+4 connector/batch checks+8 assertions)+1 route codec", + "route_cases": 8, + "original_boundary_cases": 15, + "fresh_library_identical_separate_inode": true, + "shared_parent_stage_file_count": 1299, + "source_default_support_current_doc_fresh": true, + "driver_inverse304_revision_only": true, + "free_bytes_at_review": 1204985856, + "capacity_floor_bytes": 553648128, + "output_postphase_max_bytes": 16777216, + "owned_engine_count": 1, + "watchdog_seconds": 90 + }, + "allowed_scope": "One owned fresh headless engine on exact binary303, original15 projection boundaries plus8 listed ready-route original-helper/typed/readonly/cache ownership comparisons. Private project only, exact shared/parent stage protection and restore after all owned children end. Runtime admission/foreign engine/fresh root pin gates remain mandatory.", + "limits": [ + "No invalid shape/index/type conversion or midcall custom/script-change execution is included; those remain required before adoption.", + "Registration/nearest supported markers are not direct per-helper native invocation counters.", + "Listed full Runtime/Path result/state snapshots and typed/cache ownership tests are finite synthetic conditions, not general reentry/ownership acceptance.", + "No whole647, performance, P95/D10/50ms/final172/OS/Windows/adoption/unit acceptance.", + "Capacity and 16MiB output postphase check do not establish a live peak disk cap." + ], + "reviewer_execution": { + "engine": 0, + "compiler": 0, + "tests": 0, + "validator": 0, + "author": 0, + "existing_edits": 0, + "new_agents": 0 + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304.json new file mode 100644 index 0000000..16359ec --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-preexecution-independent-review-r304.json @@ -0,0 +1,204 @@ +{ + "schema": 1, + "review": "r304 bounded local preexecution independent review, unexecuted refusal", + "execution_allowed": false, + "blockers": [ + { + "id": "B1", + "file": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd", + "function": "route_setup", + "cause": "setup(\"ordinary\") creates a graph with no connectors. Original begin_guest_path_query_batch clears _query_batch and returns immediately for empty _connectors (Path1158-1160). The subsequent _query_batch[&\"targets\"] access is missing, so all eight ready-route fixtures cannot establish their intended original ready-batch starting state.", + "required_repair": "In a separate revision, configure the same finite supported connector in both setup sides before begin; explicitly assert active batch/start/targets before tree construction. Preserve graph/adjacency and intended cycle limit, derive the added setup check count and update exact expected count. Do not change native/source or weaken strict errors." + } + ], + "evidence_sha256": { + "/Applications/Godot.app/Contents/MacOS/Godot": { + "path": "/Applications/Godot.app/Contents/MacOS/Godot", + "bytes": 351312912, + "sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd", + "bytes": 17582, + "sha256": "92d5e1956f4e613e12555d756de4f71fef03678cde159ac68fac3188ce3f336e" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py", + "bytes": 26296, + "sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd", + "bytes": 2276, + "sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst", + "bytes": 240032, + "sha256": "1a88f7ed27d1d32102c6fe3a9533221d2565191712ed15b631190479d1d41505" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst", + "bytes": 1498, + "sha256": "d636067f11f70a82ae7d928d2463bc3c2a4107b1d63d1baaed065c8ef93b87d2" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd", + "bytes": 11460, + "sha256": "8a2426704468655b2489234c617d5153f2d2148f4d0aa7a7a39d9e73f8dd39c1" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd", + "bytes": 7571, + "sha256": "410e117b72c9fbabfad7b7ba837403a6ad24c3085b0d221f19974824a3dd7292" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.py", + "bytes": 7140, + "sha256": "55257a66bcd2cd244f4c31455e77d21e0137924a0833cbc9f2f30902c2a9cca3" + }, + "/private/tmp/thetree-prepare-ready-route-local-r304.py": { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304.py", + "bytes": 10105, + "sha256": "9ac1d42a5593b7e0ec668cbb53bc03003b827bf84fea2bf5003e6a196a6c0d03" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate-guarded.gd", + "bytes": 1116, + "sha256": "256bb7a392c2b38b049ca0a39cde0a4bbd271b45ff50197bbda97ba4abdbff1a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate.gdextension", + "bytes": 319, + "sha256": "13c4bd2ac8206197095df408b974ba955ecf047ed525119a1651a68195b7bd38" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/private/tmp/TheTree-ready-route-r304-3b80863933444e339e087ffc49628c0b/candidate.dylib": { + "path": "/private/tmp/TheTree-ready-route-r304-3b80863933444e339e087ffc49628c0b/candidate.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd", + "bytes": 611530, + "sha256": "b4201726a735e9d979bd1ffae626ecd43ad2b76e4c7d1b51430884609bf2f4dc" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd", + "bytes": 10355, + "sha256": "742c464d16ab417cbc3c2930d43e508faf5c9f7688da416324ca1150bdb9b6b9" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension", + "bytes": 323, + "sha256": "04c4311764ab9d75be3df884f960f0944cd474847fb1ca061224ce4c1bc2aef7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd", + "bytes": 1118, + "sha256": "ebe45a6ae990ff4f38ba9e2df86a99e83810ee6d65f7b0811d4a02be6a4a8dd6" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json", + "bytes": 759469, + "sha256": "7f2403a6d4bd1dbff44f246bced74e810bf515f187f65c1a2dd3ef947c0445af" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py", + "bytes": 7138, + "sha256": "567b30c74a7f52127e5cc6de48fe956ba3eb4aaca8b1bd858e6c7c288fd2742f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de" + } + }, + "canonical_doc4_context_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + }, + "verified_supported_scope": { + "original195_body_full_inverse": true, + "planned_count_before_repair": 220, + "count_basis": "139 original +8*(2 graph setups+8 assertions)+1 route typed codec", + "planned_route_cases": 8, + "parent_runtime_path_budget_unchanged": true, + "library_copy_sha_equal_separate_inode": true, + "current301_doc_pins_fresh": true, + "driver_owned90_private5_strict_restore_protect_gates_retained": true, + "candidate_cpp_compiled_host_receipt_only": true + }, + "other_blockers": [], + "remaining": [ + "No actual native selection, ready compact route or cache ownership can be accepted from this unexecuted proposal.", + "Listed route tests compare typed result and full Runtime/Path public state to original helper; actual invalid shape/index conversion and midcall script replacement remain explicitly uncovered.", + "ABI/load/local/whole647/performance/final172/OS/Windows/adoption/unit acceptance remain separate." + ], + "reviewer_execution": { + "engine": 0, + "compiler": 0, + "tests": 0, + "validator": 0, + "author": 0, + "existing_edits": 0, + "new_agents": 0 + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.gd b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.gd new file mode 100644 index 0000000..d9382c4 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.gd @@ -0,0 +1,162 @@ +extends "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd" +class CustomFacility: + extends FacilityInstance +class CustomDefinition: + extends FacilityDefinition +class CustomElevator: + extends ElevatorService +class CustomGuest: + extends GuestRuntime +const CASES := ["ordinary", "stairs150", "stairs149", "foreign150", "elevator151", "integer_wrap", "clamp_low", "geometry_wrap", "inputs_unavailable", "staff_only", "custom_facility", "custom_definition", "custom_elevator", "custom_guest", "path_observer"] +var records: Array = [] +var core: Variant +var calls := 0 +func observed(_duration: int) -> void: calls += 1 +func setup(label: String) -> void: + var p := PathService.new() + var start := Vector3i.ZERO + var target := Vector3i(0,1,0) if label in ["stairs150","stairs149","foreign150","elevator151"] else Vector3i(2,0,0) + if label == "geometry_wrap": + start=Vector3i(-2147483648,0,0);target=start + var cells: Array[Vector3i] = [start,target] + if target.y==0 and label!="geometry_wrap": cells.insert(1,Vector3i(1,0,0)) + check(p.rebuild_graph(cells),label+" finite public graph") + if target.y!=0: check(p.set_vertical_walk_requires_connector(true),label+" actual connector-only vertical route") + runtime.path_service=p + p.path_query_measured.connect(Callable(runtime,"_on_path_query_measured")) + var e: ElevatorService = CustomElevator.new() if label=="custom_elevator" else ElevatorService.new() + e.configure(p);runtime.elevators=e + if label=="elevator151": + check(bool(e.synchronize([{&"shaft_id":&"transport.shaft.finite", &"module_ids":[&"finite.module"], &"stops":[start,target], &"width":2, &"capacity":4, &"travel_minutes_per_floor":10, &"access_id":&""}],646).get(&"ok",false)),label+" actual owned shaft") + var id: StringName=e._connector_configs(e.get_report()[&"shafts"][0][&"config"])[0][&"id"] + check(p.configure_connector(id,start,target,151,true,&"",true,{&"movement_type":PathService.MOVEMENT_ELEVATOR, &"cabin_capacity":4, &"queue_capacity":16, &"travel_minutes_per_floor":10}),label+" owned elevator cost151") + elif target.y!=0: + var id: StringName = &"foreign" if label=="foreign150" else &"infra.connector:finite" + check(p.configure_connector(id,start,target,149 if label=="stairs149" else 150),label+" public connector") + var f: FacilityInstance = CustomFacility.new() if label=="custom_facility" else FacilityInstance.new() + f.instance_id=&"finite.facility";f.definition_id=&"finite.definition";f.origin=target + f.occupied_cells=[];f.base_price=0;f.base_quality=101;f.capacity=4;f.base_service_minutes=7 + f.queue_entries=[&"q1",&"q2",&"q3"] + if label=="integer_wrap": f.base_service_minutes=9223372036854775807;f.capacity=-9223372036854775808 + if label=="clamp_low": f.base_quality=-9223372036854775808;f.capacity=0 + if label=="geometry_wrap": f.origin=Vector3i(2147483647,0,0);f.occupied_cells=[f.origin] + runtime.facility_service._instances={f.instance_id:f} + var d: FacilityDefinition = CustomDefinition.new() if label=="custom_definition" else FacilityDefinition.new() + d.id=f.definition_id;d.tags=[&"rest"] + if label=="inputs_unavailable": d.inventory_inputs={&"finite.missing":1} + if label=="staff_only": d.tags=[&"staff_only"] + runtime.definition_registry._facilities_by_id[f.definition_id]=d + var g: GuestRuntime = CustomGuest.new() if label=="custom_guest" else GuestRuntime.new() + g.guest_id=&"finite.guest";g.current_cell=start + runtime.guest_service._guests={g.guest_id:g};runtime.guest_service._guest_order_dirty=true + calls=0 + if label=="path_observer":p.path_query_measured.connect(observed) +func state() -> Array: + var p=runtime.path_service + return [runtime.create_snapshot(),p.last_error,p.last_no_route_reason,p.last_path_cost,p.cache_hits,p.cache_misses,p._path_cache,p._query_batch,p._guest_step_connector_memo,calls] +func project() -> Dictionary: + return core.project_guest_candidates(runtime,&"finite.guest",FacilityInstance.State.OPEN,FacilityInstance.State.DEGRADED,runtime.MOVEMENT_CREDIT_SCALE,runtime.STAIR_MOVEMENT_CREDIT,PathService.ORTHOGONAL_MOVE_COST,Callable(Time,"get_ticks_usec")) +const ROUTE_CASES := ["ordinary", "goal_only", "cycle_limit", "negative_terminal", "readonly_cells", "readonly_indices", "untyped_cells", "noncompact"] +var route_records: Array = [] +func route_setup(label: String) -> Dictionary: + setup("ordinary") + var p=runtime.path_service + check(p.configure_connector(&"finite.route.connector",Vector3i.ZERO,Vector3i(1,0,0)),label+" finite default-cost connector configured") + var goal := Vector3i.ZERO if label == "goal_only" else Vector3i(2,0,0) + var goals: Array=[goal] + p.begin_guest_path_query_batch(Vector3i.ZERO,goals) + var active: bool=not p._query_batch.is_empty() and p._query_batch[&"start"]==Vector3i.ZERO and p._query_batch[&"targets"].has(goal) + check(active,label+" actual ready batch start and target active") + if not active: return {} + var layers: Array[int]=[0,1] + var access: Array[StringName]=[] + var tree: Dictionary=p._build_guest_query_tree_compact(Vector3i.ZERO,p._query_batch[&"targets"],layers,access) + if label == "cycle_limit": + var parents: PackedInt64Array=tree[&"parent_indices"] + parents[1]=2;parents[2]=1;tree[&"parent_indices"]=parents + elif label == "negative_terminal": + var parents: PackedInt64Array=tree[&"parent_indices"] + parents[2]=-99;tree[&"parent_indices"]=parents + elif label == "readonly_cells": tree[&"cells"].make_read_only() + elif label == "readonly_indices": tree[&"indices"].make_read_only() + elif label == "untyped_cells": + var cells: Array=[];cells.append_array(tree[&"cells"]);tree[&"cells"]=cells + elif label == "noncompact": + tree[&"compact"]=false + tree[&"parents"]={Vector3i(1,0,0):Vector3i.ZERO,Vector3i(2,0,0):Vector3i(1,0,0)} + tree[&"costs"]={Vector3i.ZERO:0,Vector3i(1,0,0):100,Vector3i(2,0,0):200} + p._query_batch[&"tree"]=tree;p._query_batch[&"ready"]=true;p._query_batch[&"arithmetic_wrapped"]=false + return {"path":p,"goal":goal,"goals":goals,"layers":layers,"access":access,"tree":tree} +func route_case(label: String) -> void: + var input: Dictionary=route_setup(label) + if input.is_empty(): return + var p=input["path"] + var before: PackedByteArray=var_to_bytes(input["tree"]) + var actual: Dictionary=core.nearest_guest_access(p,Vector3i.ZERO,input["goals"],input["goal"],input["layers"],input["access"],Callable(Time,"get_ticks_usec")) + check(bool(actual.get(&"supported",false)),label+" ready route actual native selected") + check(var_to_bytes(input["tree"])==before and (label!="readonly_cells" or input["tree"][&"cells"].is_read_only()) and (label!="readonly_indices" or input["tree"][&"indices"].is_read_only()),label+" ready route original tree and readonly unchanged") + var got_bytes: PackedByteArray=var_to_bytes(actual) + var after: PackedByteArray=var_to_bytes(state()) + var route: Array=actual[&"path"] + var key: String=p._cache_key(Vector3i.ZERO,input["goal"],input["layers"],input["access"]) + var cached: Array=p._path_cache[key] + check(route.is_typed() and route.get_typed_builtin()==TYPE_VECTOR3I and not route.is_read_only() and cached.is_typed() and cached.get_typed_builtin()==TYPE_VECTOR3I and not cached.is_read_only() and not is_same(route,cached),label+" fresh writable typed path and separate cache copy") + var cache_before: PackedByteArray=var_to_bytes(p._path_cache) + route[0]=Vector3i(99,99,0) + check(var_to_bytes(p._path_cache)==cache_before,label+" returned path mutation leaves cache unchanged") + var returned_before: PackedByteArray=var_to_bytes(route) + cached[0]=Vector3i(77,77,0) + check(var_to_bytes(route)==returned_before,label+" cache copy mutation leaves returned path unchanged") + input=route_setup(label) + if input.is_empty(): return + p=input["path"];before=var_to_bytes(input["tree"]) + var expected: Dictionary=p._query_nearest_guest_access_without_native(Vector3i.ZERO,input["goals"],input["goal"]) + check(var_to_bytes(expected)==got_bytes,label+" full original ordered typed ready-route result") + check(var_to_bytes(state())==after,label+" full Runtime cache counters errors and signals equal") + check(var_to_bytes(input["tree"])==before,label+" original fallback tree unchanged") + route_records.append({"case":label,"expected":expected,"actual":bytes_to_var(got_bytes)}) + +func run() -> void: + output=OS.get_environment("THE_TREE_RUNTIME_MONITOR_OUTPUT") + runtime=root.get_node("SimulationRuntime");clock=root.get_node("GameClock") + var raw := FileAccess.get_file_as_bytes(OS.get_environment("THE_TREE_REPLAY_SNAPSHOT")).decompress(11411840,FileAccess.COMPRESSION_ZSTD) + var initial: Dictionary=bytes_to_var(raw) + runtime.initialize(clock,root.get_node("GameState"),int(initial[&"systems"][&"runtime"][&"world_seed"])) + check(runtime.restore_snapshot(initial),"fixed646 original seed/context restore") + core=ClassDB.instantiate(&"TheTreeNumericCore") + for label: String in CASES: + setup(label) + var before := var_to_bytes(state()) + var selected := project() + var fallback := label.begins_with("custom_") or label=="path_observer" + check(bool(selected.get(&"supported",false))==not fallback,label+" actual native domain") + if fallback:check(var_to_bytes(state())==before,label+" rejection has no public effects") + var got: Array=runtime._project_guest_candidates(&"finite.guest") if fallback else selected[&"candidates"] + var after := var_to_bytes(state()) + var got_bytes := var_to_bytes(got) + check(runtime.path_service._query_batch.is_empty(),label+" derived batch released") + setup(label) + check(var_to_bytes(state())==before,label+" same complete starting state") + var expected: Array=runtime._project_guest_candidates_without_native(&"finite.guest") + check(var_to_bytes(expected)==got_bytes,label+" complete ordered typed candidates") + check(var_to_bytes(state())==after,label+" complete Runtime Path cache errors counters callback count") + if label=="stairs150":check(int(got[0][&"travel_minutes"])==2,label+" stairs ceil150/100") + elif label=="elevator151":check(int(got[0][&"travel_minutes"])==12,label+" elevator ceil((151+1floor*10minutes*100)/100)") + elif label in ["stairs149","foreign150"]:check(int(got[0][&"travel_minutes"])==1,label+" ordinary movement retained") + if label=="integer_wrap":check(int(got[0][&"expected_wait"])==9223372036854775805 and int(got[0][&"group_fit"])==-9223372036854775808,label+" signed multiplication wrap") + if label=="clamp_low":check(got[0][&"expected_quality"]==0 and got[0][&"group_fit"]==0,label+" zero divisor guard and quality lower clamp") + if label=="ordinary": + check(got[0][&"expected_quality"]==100,label+" quality upper clamp") + var protected_bytes := var_to_bytes(expected) + got[0][&"facility_tags"].append(&"mutated");got[0][&"need_relief"].clear();got[0][&"path_handle"].clear() + check(var_to_bytes(expected)==protected_bytes and runtime.definition_registry.get_facility(&"finite.definition").tags==[&"rest"],label+" owned returned tags relief and handle") + records.append({"case":label,"native_supported":not fallback,"candidates":expected,"observer_calls":calls}) + for label: String in ROUTE_CASES: route_case(label) + var route_payload := typed("ready-route-fixtures",route_records) + core=null + var report := {"passed":failures.is_empty(),"checks":checks,"failures":failures,"pid":OS.get_process_id(),"case_count":CASES.size(),"ready_route_cases":ROUTE_CASES.size(),"ready_route_fixtures":route_payload,"fixtures":typed("fixtures",records),"unit_accepted":false,"performance_accepted":false,"Windows_accepted":false} + report["passed"]=failures.is_empty();report["checks"]=checks;report["failures"]=failures + var file := FileAccess.open(output.path_join("report.json"),FileAccess.WRITE) + if file==null:quit(98);return + file.store_string(JSON.stringify(report,"\t"));file.close() + print("Ready route local: %d checks, %d failures"%[checks,failures.size()]);quit(0 if failures.is_empty() else 1) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.py new file mode 100644 index 0000000..862bc63 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02.py @@ -0,0 +1,74 @@ +# coding: utf-8 +"""One finite cold native guest projection QA against original Runtime golden; no full regression.""" +from pathlib import Path +import hashlib, importlib.util, json, os, shutil, subprocess, sys, uuid +sys.dont_write_bytecode=True +R=Path(__file__).resolve().parents[2];A=R/'artifacts/original-completion-2026-10-02' +O=A/'p23-02-native-ready-route-local-r304-r02';D=R/'docs/plans/original-completion-2026-10-02' +NAMES=['IMPLEMENTATION_PLAN.md','PROGRESS_INTEGRATION.md','work_packages.json','progress_snapshot.json'] +def mod(name,path): + s=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +def unpack(ref): + raw=subprocess.run(['/opt/homebrew/bin/zstd','-d','-q','-c',ref['path']],capture_output=True,check=True,timeout=10).stdout + assert len(raw)==ref['uncompressed_bytes'] and hashlib.sha256(raw).hexdigest()==ref['uncompressed_sha256'] + return raw +def main(): + r=mod('impact_runner',R/'tools/run_all_tests.py');outer=mod('impact_owned',r.SUPPORT/'owned_outer.py');plan=r.read(O/'input.json') + assert not (O/'execution.json').exists() + fixed=plan['pins'];source=r.source_refs(R);player=r.default_player(R);docs={n:r.sha(D/n) for n in NAMES} + assert source==plan['source_before'] and player==plan['default_before'] and docs==plan['doc4_before'] + stage=Path(plan['stage']);parent=Path(plan['parent']);public=(stage/'project.godot').read_bytes() + def protect(): + assert r.source_refs(R)==source and r.default_player(R)==player and {n:r.sha(D/n) for n in NAMES}==docs + assert r.inventory(parent,stage=True)==plan['expected_stage'] and r.inventory(stage,stage=True)==plan['expected_stage'] + assert r.inventory(r.SUPPORT)==plan['support_inventory'] + for key,q in fixed.items(): + p=Path(q['path']);assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'],key + protect() + review=r.read(Path(fixed['host_review']['path'])) + assert not review['blockers'] and review['host_build_accepted'] + pre=r.read(A/'p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json') + assert pre['execution_allowed'] and not pre['blockers'] + for group in ('evidence_sha256','canonical_doc4_context_pins'): + for q in pre[group].values(): + p=Path(q['path']);assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'] + root=r.read(O/'preexecution-root-verification.json');assert root['passed'] and root['review_sha256']==r.sha(A/'p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json') + phases=[];samples=[];error=None;cleanup=[];cleanup_errors=[] + try: + for spec in plan['specs']: + name=spec['name'];protect() + assert not outer.native.helper['live_engines']() and shutil.disk_usage(A).free >= plan['capacity_floor_bytes'] + output=O/(name+'-measurement');output.mkdir();ident=uuid.uuid4().hex + startup='TheTree-PCK-tests-'+ident+'-impact-startup';profile='TheTree-PCK-tests-'+ident+'-impact-runtime' + assert not r.profile_path(startup).exists() and not r.profile_path(profile).exists() + env=r.fresh_environment(os.environ) + env.update(THE_TREE_PACK_PROFILE_NAME=profile,THE_TREE_PACK_PROFILE_EXPECTED=str(r.profile_path(profile)),THE_TREE_PACK_PROFILE_REPORT=str(O/(name+'-profile.json')),THE_TREE_RUNTIME_MONITOR_OUTPUT=str(output),THE_TREE_REPLAY_SNAPSHOT=fixed['fixture']['path'],THE_TREE_CANDIDATE_ORACLE=fixed['oracle']['path'],THE_TREE_PAIRED_CANDIDATE='r302-library303',THE_TREE_PAIRED_SAMPLE=name) + (stage/'project.godot').write_bytes(r.private_project(public,startup));phase=O/name + argv=[fixed['engine']['path'],'--headless','--path',str(stage),'--script',fixed['starter_'+name]['path'],'--verbose','--log-file',str(phase/'engine-native.log')] + result,capture=outer.run_phase(argv,phase,90,env,now_fn=r.now,dump_fn=r.write,sha_fn=r.sha,live_engines_fn=outer.native.helper['live_engines']) + row=dict(name=name,result=result,capture=capture);phases.append(row);r.write(O/(name+'-phase.json'),row) + report_path=output/'report.json';report=r.read(report_path) if report_path.exists() else None + if report is not None:samples.append(dict(name=name,report=report)) + assert result is not None and result['exit_code']==0 and not result['error_lines'] and not result['timed_out'] and capture['passed'] + logs=''.join((phase/n).read_text() for n in ['stdout.log','stderr.log','engine-native.log']) + assert 'Orphan StringName:' not in logs and 'unclaimed string names' not in logs + assert report and report['passed'] and not report['failures'] and report['pid']==result['pid'] and report['checks']==spec['expected_checks'] + assert (phase/'stdout.log').read_text().count(spec['label']+'%d checks, 0 failures'%report['checks'])==1 + assert (phase/'stdout.log').read_text().count('NATIVE_ADAPTER_LIBRARY_REGISTERED')==1 + r.profile_gate(r.profile_path(profile),O/(name+'-profile.json'),profile) + assert report['case_count']==15 and report['ready_route_cases']==8 + unpack(report['ready_route_fixtures']);assert sum(p.stat().st_size for p in O.rglob('*') if p.is_file())<=16*1048576 + unpack(report['fixtures']) + (stage/'project.godot').write_bytes(public);protect() + except BaseException as caught:error=type(caught).__name__+': '+str(caught) + finally: + cleanup,cleanup_errors=outer.finish_captured(outer.OWNED) + if all(q['engine_ended'] is True for q in cleanup):(stage/'project.godot').write_bytes(public) + else:cleanup_errors.append('Restoration refused while actual owned child remains live') + guard_errors=[] + try:protect() + except BaseException as caught:guard_errors.append(type(caught).__name__+': '+str(caught)) + passed=error is None and not guard_errors and not cleanup_errors and len(phases)==1 and len(samples)==1 + r.write(O/'execution.json',dict(passed=passed,error=error,guard_errors=guard_errors,phases=phases,samples=samples,cleanup=cleanup,cleanup_errors=cleanup_errors,input_source_default_doc4_preserved=not guard_errors,candidate_adopted=False,unit_accepted=False,performance_accepted=False,normal_OS_accepted=False,Windows_accepted=False,limitations=['Fifteen original projection boundary fixtures plus8 compact ready-route boundary fixtures compare all typed candidate bytes and entire Runtime plus public Path cache/errors/counters and observer call counts against byte-retained original loop. Synthetic fixtures do not approve new game values or general reentry/provider ownership; ready route cases compare full Runtime and Path state, ownership, typed/readonly, cache and ordered results; invalid shape and mid-call script-change execution remains uncovered. No whole647, performance, final full regression, OS or Windows acceptance.'])) + print(json.dumps(dict(passed=passed,error=error,guard_errors=guard_errors)),flush=True);return 0 if passed else 1 +if __name__=='__main__':raise SystemExit(main()) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json new file mode 100644 index 0000000..c7c42aa --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/actual-root-verification.json @@ -0,0 +1,263 @@ +{ + "passed": true, + "review_sha256": "1cf6b982252f442ed40801a6707f1d8c39cc4a48ba3721a453f50b9d405e949b", + "verified_entries": [ + { + "path": "/Applications/Godot.app/Contents/MacOS/Godot", + "bytes": 351312912, + "sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd", + "bytes": 17582, + "sha256": "92d5e1956f4e613e12555d756de4f71fef03678cde159ac68fac3188ce3f336e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py", + "bytes": 26296, + "sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd", + "bytes": 2276, + "sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst", + "bytes": 240032, + "sha256": "1a88f7ed27d1d32102c6fe3a9533221d2565191712ed15b631190479d1d41505" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst", + "bytes": 1498, + "sha256": "d636067f11f70a82ae7d928d2463bc3c2a4107b1d63d1baaed065c8ef93b87d2" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd", + "bytes": 7571, + "sha256": "410e117b72c9fbabfad7b7ba837403a6ad24c3085b0d221f19974824a3dd7292" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd", + "bytes": 611530, + "sha256": "b4201726a735e9d979bd1ffae626ecd43ad2b76e4c7d1b51430884609bf2f4dc" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd", + "bytes": 10355, + "sha256": "742c464d16ab417cbc3c2930d43e508faf5c9f7688da416324ca1150bdb9b6b9" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension", + "bytes": 323, + "sha256": "04c4311764ab9d75be3df884f960f0944cd474847fb1ca061224ce4c1bc2aef7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd", + "bytes": 1118, + "sha256": "ebe45a6ae990ff4f38ba9e2df86a99e83810ee6d65f7b0811d4a02be6a4a8dd6" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json", + "bytes": 759469, + "sha256": "7f2403a6d4bd1dbff44f246bced74e810bf515f187f65c1a2dd3ef947c0445af" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py", + "bytes": 7138, + "sha256": "567b30c74a7f52127e5cc6de48fe956ba3eb4aaca8b1bd858e6c7c288fd2742f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/execution.json", + "bytes": 12210, + "sha256": "7cd220b4cfa9bceecfa8b39eacc0f9e019ad0983009c2596fe07020a2ccf0664" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json", + "bytes": 8183, + "sha256": "09cffa8ba3a51722dc67d4acc91610cb92d997fa690a7bf7356185ad5ca7517d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json", + "bytes": 912, + "sha256": "b95335c1c492cca6fa9fd8d474242eccccdee8f1c7c4e9c47c7426a8392fdb45" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json", + "bytes": 1309, + "sha256": "4d3d129656268ed4c9f03737a3b94049886e43d4f51b9d312c869aedc9ac7c2d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304-r02.json", + "bytes": 17299, + "sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json", + "bytes": 9990, + "sha256": "7d9db13c588c163fed16849eda32d94d180fe9e3a4350c70551be1aef4eebcab" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-ai-r03-typed-difference-independent-review-r01/finite_variant_codec.py", + "bytes": 5438, + "sha256": "8c7077b53e28da4054bdf7dd88e82de02a51149269a8fce59bae0e74f95b4734" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log", + "bytes": 0, + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json", + "bytes": 1793, + "sha256": "eb8d321fa42560813f05a1bd32a8abdce4dd9cbc4d86d005d5248cf8eb917746" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json", + "bytes": 351, + "sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log", + "bytes": 13479, + "sha256": "29c80683e381332a409ac7e852aabb09ff4594273ebc30b3a26b233f5dcdd0db" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log", + "bytes": 13629, + "sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/started.json", + "bytes": 2422, + "sha256": "917ba2cc75dc38e9c3c3033c17e283756c9e83f3946429a8126cbc4cf5a1cb83" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/process.json", + "bytes": 6723, + "sha256": "28ba2ddcea2a9911983521e2c44e98d3e2992fdbc5d407e3e383a529ce8beda3" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json", + "bytes": 964, + "sha256": "d676912bce39e81174b0f66bec033c670fa15db3d4f6ed49d831ec2554c4ec97" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "bytes": 709, + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "bytes": 332, + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + ], + "unit_accepted": false, + "performance_accepted": false +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst new file mode 100644 index 0000000..8e91377 Binary files /dev/null and b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst differ diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst new file mode 100644 index 0000000..d0f47cf Binary files /dev/null and b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst differ diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json new file mode 100644 index 0000000..85433cd --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/report.json @@ -0,0 +1,33 @@ +{ + "Windows_accepted": false, + "case_count": 15, + "checks": 252, + "failures": [], + "fixtures": { + "bytes": 709, + "codec": "zstd", + "field_deletions": 0, + "file_envelope": false, + "full_bytes_roundtrip": true, + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5", + "uncompressed_bytes": 10948, + "uncompressed_sha256": "43250a2fa5c56ca73fc853f2d883dfbf23dfdc7c8ba647f191c2b1282b636e0f" + }, + "passed": true, + "performance_accepted": false, + "pid": 59578, + "ready_route_cases": 8, + "ready_route_fixtures": { + "bytes": 332, + "codec": "zstd", + "field_deletions": 0, + "file_envelope": false, + "full_bytes_roundtrip": true, + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d", + "uncompressed_bytes": 3288, + "uncompressed_sha256": "560b08669f28f79ab0eddff115d22830515420bea51e0271d71f5a569832b664" + }, + "unit_accepted": false +} \ No newline at end of file diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json new file mode 100644 index 0000000..4ca224e --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-phase.json @@ -0,0 +1,185 @@ +{ + "name": "boundaries", + "result": { + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "pid": 59578, + "started_utc": "2026-10-12T00:18:59.928450+00:00", + "ended_utc": "2026-10-12T00:19:11.508053+00:00", + "wall_seconds": 11.579403917, + "exit_code": 0, + "helper_exit_code": 0, + "timed_out": false, + "stdout_sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "error_lines": [], + "owned_popen_ended": true, + "old_helper_engine_ended": true, + "start_receipt_written": true, + "end_receipt_written": true, + "lifecycle_error": null, + "old_helper_lifecycle_error": null, + "actual_start_binding": { + "scope": "isolated diagnostic owned child", + "event": "ENGINE_STARTED", + "actual_pid": 59578, + "owner_pid": 59564, + "command": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "monotonic_ns": 2673321416, + "pid": 59578, + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "started_utc": "2026-10-12T00:18:59.928450+00:00", + "current_process_identity": { + "pid": 59578, + "ppid": 59564, + "pgid": 59578, + "args": "/Applications/Godot.app/Contents/MacOS/Godot --headless --path /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage --script /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd --verbose --log-file /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + }, + "live_identity_exact": true, + "tracked_child_ended_before_initial_probe": false, + "signal_scope": "tracked Popen child only; no external group signal" + }, + "actual_end_binding": { + "scope": "isolated diagnostic owned child", + "event": "ENGINE_ENDED", + "actual_pid": 59578, + "owner_pid": 59564, + "command": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "monotonic_ns": 14245020416, + "exit_code": 0, + "actual_process_exit_code": 0, + "engine_ended": true, + "timed_out": false, + "lifecycle_error": null, + "start_receipt_written": true, + "pid": 59578, + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "ended_utc": "2026-10-12T00:19:11.505315+00:00", + "signal_scope": "tracked Popen child only; no external group signal" + }, + "strict_native_diagnostics": { + "errors": [], + "banner_count": 1, + "known_unicode_diagnostic_count": 0, + "unrecognized_unicode_diagnostic_count": 0, + "exit_leak_diagnostic_lines": [] + }, + "external_process_or_group_signals": 0, + "owned_child_process_helper_sha256": "c007e712c281573254faa1233c2ac92e100ab87393256a6dc096b35283e43037", + "adapter_owned_cleanup": { + "owned_child_created": true, + "engine_ended": true, + "actual_process_exit_code": 0, + "attempts": [ + { + "attempt": 1, + "kill_attempted": false, + "wait_timeout_seconds": 5, + "wait_completed": true, + "errors": [], + "poll_before": 0, + "wait_returned_code": 0, + "poll_after": 0 + } + ], + "errors": [] + }, + "adapter_error": null, + "old_helper_bytes_preserved": true, + "helper_wait_None_maps_to_actual_timeout_seconds": 5, + "explicit_helper_wait_timeouts_preserved": true, + "additional_cleanup_wait_timeout_seconds": 5, + "additional_cleanup_max_attempts": 3 + }, + "capture": { + "actual_captured_pids": [ + 59578 + ], + "cleanup": [ + { + "pid": 59578, + "cleanup": { + "owned_child_created": true, + "engine_ended": true, + "actual_process_exit_code": 0, + "attempts": [ + { + "attempt": 1, + "kill_attempted": false, + "wait_timeout_seconds": 5, + "wait_completed": true, + "errors": [], + "poll_before": 0, + "wait_returned_code": 0, + "poll_after": 0 + } + ], + "errors": [] + }, + "outer_cleanup_errors": [], + "engine_ended": true, + "outer_maximum_helper_invocations": 3, + "helper_maximum_waits": 3, + "per_wait_timeout_seconds": 5, + "foreign_process_or_group_signals": 0 + } + ], + "adapter_exception": null, + "all_captured_ended": true, + "outer_cleanup_errors": [], + "foreign_process_or_group_signals": 0, + "all_cleanup_before_outer_receipt": true, + "outer_receipt_written": true, + "outer_receipt_error": null, + "passed": true + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json new file mode 100644 index 0000000..9ee4228 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries-profile.json @@ -0,0 +1,20 @@ +{ + "actual_user_data_dir": "/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-2d0b258b66a542a58eb269dd83ffaa64-impact-runtime", + "before": "/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-2d0b258b66a542a58eb269dd83ffaa64-impact-startup", + "conditions": [ + true, + true, + true, + true, + true + ], + "conditions_checked": 5, + "custom_user_dir_name": "TheTree-PCK-tests-2d0b258b66a542a58eb269dd83ffaa64-impact-runtime", + "expected_user_data_dir": "/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-2d0b258b66a542a58eb269dd83ffaa64-impact-runtime", + "fresh_before_parent_initialize": true, + "globalized_probe": "/Users/korizatou114/Library/Application Support/TheTree-PCK-tests-2d0b258b66a542a58eb269dd83ffaa64-impact-runtime/guard-probe", + "profile_writes_before_guard": 0, + "project_settings_persisted": false, + "runtime_settings_only": true, + "verified": true +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json new file mode 100644 index 0000000..f44709a --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/adapter-owned-cleanup.json @@ -0,0 +1,18 @@ +{ + "owned_child_created": true, + "engine_ended": true, + "actual_process_exit_code": 0, + "attempts": [ + { + "attempt": 1, + "kill_attempted": false, + "wait_timeout_seconds": 5, + "wait_completed": true, + "errors": [], + "poll_before": 0, + "wait_returned_code": 0, + "poll_after": 0 + } + ], + "errors": [] +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json new file mode 100644 index 0000000..168c65b --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/ended.json @@ -0,0 +1,38 @@ +{ + "scope": "isolated diagnostic owned child", + "event": "ENGINE_ENDED", + "actual_pid": 59578, + "owner_pid": 59564, + "command": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "monotonic_ns": 14245020416, + "exit_code": 0, + "actual_process_exit_code": 0, + "engine_ended": true, + "timed_out": false, + "lifecycle_error": null, + "start_receipt_written": true, + "pid": 59578, + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "ended_utc": "2026-10-12T00:19:11.505315+00:00", + "signal_scope": "tracked Popen child only; no external group signal" +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log new file mode 100644 index 0000000..3a3ac41 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log @@ -0,0 +1,116 @@ +Godot Engine v4.7.2.stable.official.ed1daf0bf - https://godotengine.org +TextServer: Added interface "Dummy" +TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)" +SDL: Init OK! +Using "default" pen tablet driver... + +TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)". +CORE API HASH: 2004498165 +EDITOR API HASH: 1696660745 +Loading resource: /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd remapped: /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd +Completed load for: '/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd' remapped '/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd' at thread -1 +SceneTreeFTI: traversal method DEFAULT +Loading resource: res://autoload/event_bus.gd remapped: res://autoload/event_bus.gd +Completed load for: 'res://autoload/event_bus.gd' remapped 'res://autoload/event_bus.gd' at thread -1 +Loading resource: res://autoload/game_clock.gd remapped: res://autoload/game_clock.gd +Completed load for: 'res://autoload/game_clock.gd' remapped 'res://autoload/game_clock.gd' at thread -1 +Loading resource: res://autoload/game_state.gd remapped: res://autoload/game_state.gd +Completed load for: 'res://autoload/game_state.gd' remapped 'res://autoload/game_state.gd' at thread -1 +Loading resource: res://autoload/simulation_runtime.gd remapped: res://autoload/simulation_runtime.gd +Completed load for: 'res://autoload/simulation_runtime.gd' remapped 'res://autoload/simulation_runtime.gd' at thread -1 +Loaded system CA certificates +PACK_PROFILE_GUARD verified=true +Loading resource: res://data/facilities/adult_private_room.tres remapped: res://data/facilities/adult_private_room.tres +Completed load for: 'res://data/facilities/adult_private_room.tres' remapped 'res://data/facilities/adult_private_room.tres' at thread -1 +Loading resource: res://data/facilities/cafeteria.tres remapped: res://data/facilities/cafeteria.tres +Completed load for: 'res://data/facilities/cafeteria.tres' remapped 'res://data/facilities/cafeteria.tres' at thread -1 +Loading resource: res://data/facilities/expansion/chapel.tres remapped: res://data/facilities/expansion/chapel.tres +Completed load for: 'res://data/facilities/expansion/chapel.tres' remapped 'res://data/facilities/expansion/chapel.tres' at thread -1 +Loading resource: res://data/facilities/expansion/cleaning_room.tres remapped: res://data/facilities/expansion/cleaning_room.tres +Completed load for: 'res://data/facilities/expansion/cleaning_room.tres' remapped 'res://data/facilities/expansion/cleaning_room.tres' at thread -1 +Loading resource: res://data/facilities/expansion/premium_room.tres remapped: res://data/facilities/expansion/premium_room.tres +Completed load for: 'res://data/facilities/expansion/premium_room.tres' remapped 'res://data/facilities/expansion/premium_room.tres' at thread -1 +Loading resource: res://data/facilities/expansion/staff_dormitory.tres remapped: res://data/facilities/expansion/staff_dormitory.tres +Completed load for: 'res://data/facilities/expansion/staff_dormitory.tres' remapped 'res://data/facilities/expansion/staff_dormitory.tres' at thread -1 +Loading resource: res://data/facilities/guest_corridor.tres remapped: res://data/facilities/guest_corridor.tres +Completed load for: 'res://data/facilities/guest_corridor.tres' remapped 'res://data/facilities/guest_corridor.tres' at thread -1 +Loading resource: res://data/facilities/guest_elevator.tres remapped: res://data/facilities/guest_elevator.tres +Completed load for: 'res://data/facilities/guest_elevator.tres' remapped 'res://data/facilities/guest_elevator.tres' at thread -1 +Loading resource: res://data/facilities/infrastructure/guest_stairs.tres remapped: res://data/facilities/infrastructure/guest_stairs.tres +Completed load for: 'res://data/facilities/infrastructure/guest_stairs.tres' remapped 'res://data/facilities/infrastructure/guest_stairs.tres' at thread -1 +Loading resource: res://data/facilities/infrastructure/service_stairs.tres remapped: res://data/facilities/infrastructure/service_stairs.tres +Completed load for: 'res://data/facilities/infrastructure/service_stairs.tres' remapped 'res://data/facilities/infrastructure/service_stairs.tres' at thread -1 +Loading resource: res://data/facilities/kitchen.tres remapped: res://data/facilities/kitchen.tres +Completed load for: 'res://data/facilities/kitchen.tres' remapped 'res://data/facilities/kitchen.tres' at thread -1 +Loading resource: res://data/facilities/massage_room.tres remapped: res://data/facilities/massage_room.tres +Completed load for: 'res://data/facilities/massage_room.tres' remapped 'res://data/facilities/massage_room.tres' at thread -1 +Loading resource: res://data/facilities/public_bath.tres remapped: res://data/facilities/public_bath.tres +Completed load for: 'res://data/facilities/public_bath.tres' remapped 'res://data/facilities/public_bath.tres' at thread -1 +Loading resource: res://data/facilities/reception.tres remapped: res://data/facilities/reception.tres +Completed load for: 'res://data/facilities/reception.tres' remapped 'res://data/facilities/reception.tres' at thread -1 +Loading resource: res://data/facilities/rescue/infirmary.tres remapped: res://data/facilities/rescue/infirmary.tres +Completed load for: 'res://data/facilities/rescue/infirmary.tres' remapped 'res://data/facilities/rescue/infirmary.tres' at thread -1 +Loading resource: res://data/facilities/security_station.tres remapped: res://data/facilities/security_station.tres +Completed load for: 'res://data/facilities/security_station.tres' remapped 'res://data/facilities/security_station.tres' at thread -1 +Loading resource: res://data/facilities/service_corridor.tres remapped: res://data/facilities/service_corridor.tres +Completed load for: 'res://data/facilities/service_corridor.tres' remapped 'res://data/facilities/service_corridor.tres' at thread -1 +Loading resource: res://data/facilities/service_elevator.tres remapped: res://data/facilities/service_elevator.tres +Completed load for: 'res://data/facilities/service_elevator.tres' remapped 'res://data/facilities/service_elevator.tres' at thread -1 +Loading resource: res://data/facilities/staff_door.tres remapped: res://data/facilities/staff_door.tres +Completed load for: 'res://data/facilities/staff_door.tres' remapped 'res://data/facilities/staff_door.tres' at thread -1 +Loading resource: res://data/facilities/staff_waiting_room.tres remapped: res://data/facilities/staff_waiting_room.tres +Completed load for: 'res://data/facilities/staff_waiting_room.tres' remapped 'res://data/facilities/staff_waiting_room.tres' at thread -1 +Loading resource: res://data/facilities/standard_room.tres remapped: res://data/facilities/standard_room.tres +Completed load for: 'res://data/facilities/standard_room.tres' remapped 'res://data/facilities/standard_room.tres' at thread -1 +Loading resource: res://data/facilities/tavern.tres remapped: res://data/facilities/tavern.tres +Completed load for: 'res://data/facilities/tavern.tres' remapped 'res://data/facilities/tavern.tres' at thread -1 +Loading resource: res://data/facilities/warehouse.tres remapped: res://data/facilities/warehouse.tres +Completed load for: 'res://data/facilities/warehouse.tres' remapped 'res://data/facilities/warehouse.tres' at thread -1 +NATIVE_ADAPTER_LIBRARY_REGISTERED +Loading resource: res://data/facilities/adult_private_room.tres remapped: res://data/facilities/adult_private_room.tres +Completed load for: 'res://data/facilities/adult_private_room.tres' remapped 'res://data/facilities/adult_private_room.tres' at thread -1 +Loading resource: res://data/facilities/cafeteria.tres remapped: res://data/facilities/cafeteria.tres +Completed load for: 'res://data/facilities/cafeteria.tres' remapped 'res://data/facilities/cafeteria.tres' at thread -1 +Loading resource: res://data/facilities/expansion/chapel.tres remapped: res://data/facilities/expansion/chapel.tres +Completed load for: 'res://data/facilities/expansion/chapel.tres' remapped 'res://data/facilities/expansion/chapel.tres' at thread -1 +Loading resource: res://data/facilities/expansion/cleaning_room.tres remapped: res://data/facilities/expansion/cleaning_room.tres +Completed load for: 'res://data/facilities/expansion/cleaning_room.tres' remapped 'res://data/facilities/expansion/cleaning_room.tres' at thread -1 +Loading resource: res://data/facilities/expansion/premium_room.tres remapped: res://data/facilities/expansion/premium_room.tres +Completed load for: 'res://data/facilities/expansion/premium_room.tres' remapped 'res://data/facilities/expansion/premium_room.tres' at thread -1 +Loading resource: res://data/facilities/expansion/staff_dormitory.tres remapped: res://data/facilities/expansion/staff_dormitory.tres +Completed load for: 'res://data/facilities/expansion/staff_dormitory.tres' remapped 'res://data/facilities/expansion/staff_dormitory.tres' at thread -1 +Loading resource: res://data/facilities/guest_corridor.tres remapped: res://data/facilities/guest_corridor.tres +Completed load for: 'res://data/facilities/guest_corridor.tres' remapped 'res://data/facilities/guest_corridor.tres' at thread -1 +Loading resource: res://data/facilities/guest_elevator.tres remapped: res://data/facilities/guest_elevator.tres +Completed load for: 'res://data/facilities/guest_elevator.tres' remapped 'res://data/facilities/guest_elevator.tres' at thread -1 +Loading resource: res://data/facilities/infrastructure/guest_stairs.tres remapped: res://data/facilities/infrastructure/guest_stairs.tres +Completed load for: 'res://data/facilities/infrastructure/guest_stairs.tres' remapped 'res://data/facilities/infrastructure/guest_stairs.tres' at thread -1 +Loading resource: res://data/facilities/infrastructure/service_stairs.tres remapped: res://data/facilities/infrastructure/service_stairs.tres +Completed load for: 'res://data/facilities/infrastructure/service_stairs.tres' remapped 'res://data/facilities/infrastructure/service_stairs.tres' at thread -1 +Loading resource: res://data/facilities/kitchen.tres remapped: res://data/facilities/kitchen.tres +Completed load for: 'res://data/facilities/kitchen.tres' remapped 'res://data/facilities/kitchen.tres' at thread -1 +Loading resource: res://data/facilities/massage_room.tres remapped: res://data/facilities/massage_room.tres +Completed load for: 'res://data/facilities/massage_room.tres' remapped 'res://data/facilities/massage_room.tres' at thread -1 +Loading resource: res://data/facilities/public_bath.tres remapped: res://data/facilities/public_bath.tres +Completed load for: 'res://data/facilities/public_bath.tres' remapped 'res://data/facilities/public_bath.tres' at thread -1 +Loading resource: res://data/facilities/reception.tres remapped: res://data/facilities/reception.tres +Completed load for: 'res://data/facilities/reception.tres' remapped 'res://data/facilities/reception.tres' at thread -1 +Loading resource: res://data/facilities/rescue/infirmary.tres remapped: res://data/facilities/rescue/infirmary.tres +Completed load for: 'res://data/facilities/rescue/infirmary.tres' remapped 'res://data/facilities/rescue/infirmary.tres' at thread -1 +Loading resource: res://data/facilities/security_station.tres remapped: res://data/facilities/security_station.tres +Completed load for: 'res://data/facilities/security_station.tres' remapped 'res://data/facilities/security_station.tres' at thread -1 +Loading resource: res://data/facilities/service_corridor.tres remapped: res://data/facilities/service_corridor.tres +Completed load for: 'res://data/facilities/service_corridor.tres' remapped 'res://data/facilities/service_corridor.tres' at thread -1 +Loading resource: res://data/facilities/service_elevator.tres remapped: res://data/facilities/service_elevator.tres +Completed load for: 'res://data/facilities/service_elevator.tres' remapped 'res://data/facilities/service_elevator.tres' at thread -1 +Loading resource: res://data/facilities/staff_door.tres remapped: res://data/facilities/staff_door.tres +Completed load for: 'res://data/facilities/staff_door.tres' remapped 'res://data/facilities/staff_door.tres' at thread -1 +Loading resource: res://data/facilities/staff_waiting_room.tres remapped: res://data/facilities/staff_waiting_room.tres +Completed load for: 'res://data/facilities/staff_waiting_room.tres' remapped 'res://data/facilities/staff_waiting_room.tres' at thread -1 +Loading resource: res://data/facilities/standard_room.tres remapped: res://data/facilities/standard_room.tres +Completed load for: 'res://data/facilities/standard_room.tres' remapped 'res://data/facilities/standard_room.tres' at thread -1 +Loading resource: res://data/facilities/tavern.tres remapped: res://data/facilities/tavern.tres +Completed load for: 'res://data/facilities/tavern.tres' remapped 'res://data/facilities/tavern.tres' at thread -1 +Loading resource: res://data/facilities/warehouse.tres remapped: res://data/facilities/warehouse.tres +Completed load for: 'res://data/facilities/warehouse.tres' remapped 'res://data/facilities/warehouse.tres' at thread -1 +Ready route local: 252 checks, 0 failures diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json new file mode 100644 index 0000000..996a8de --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/outer-owned-finally.json @@ -0,0 +1,39 @@ +{ + "actual_captured_pids": [ + 59578 + ], + "cleanup": [ + { + "pid": 59578, + "cleanup": { + "owned_child_created": true, + "engine_ended": true, + "actual_process_exit_code": 0, + "attempts": [ + { + "attempt": 1, + "kill_attempted": false, + "wait_timeout_seconds": 5, + "wait_completed": true, + "errors": [], + "poll_before": 0, + "wait_returned_code": 0, + "poll_after": 0 + } + ], + "errors": [] + }, + "outer_cleanup_errors": [], + "engine_ended": true, + "outer_maximum_helper_invocations": 3, + "helper_maximum_waits": 3, + "per_wait_timeout_seconds": 5, + "foreign_process_or_group_signals": 0 + } + ], + "adapter_exception": null, + "all_captured_ended": true, + "outer_cleanup_errors": [], + "foreign_process_or_group_signals": 0, + "all_cleanup_before_outer_receipt": true +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/process.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/process.json new file mode 100644 index 0000000..12ba75e --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/process.json @@ -0,0 +1,140 @@ +{ + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "pid": 59578, + "started_utc": "2026-10-12T00:18:59.928450+00:00", + "ended_utc": "2026-10-12T00:19:11.508053+00:00", + "wall_seconds": 11.579403917, + "exit_code": 0, + "helper_exit_code": 0, + "timed_out": false, + "stdout_sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "error_lines": [], + "owned_popen_ended": true, + "old_helper_engine_ended": true, + "start_receipt_written": true, + "end_receipt_written": true, + "lifecycle_error": null, + "old_helper_lifecycle_error": null, + "actual_start_binding": { + "scope": "isolated diagnostic owned child", + "event": "ENGINE_STARTED", + "actual_pid": 59578, + "owner_pid": 59564, + "command": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "monotonic_ns": 2673321416, + "pid": 59578, + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "started_utc": "2026-10-12T00:18:59.928450+00:00", + "current_process_identity": { + "pid": 59578, + "ppid": 59564, + "pgid": 59578, + "args": "/Applications/Godot.app/Contents/MacOS/Godot --headless --path /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage --script /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd --verbose --log-file /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + }, + "live_identity_exact": true, + "tracked_child_ended_before_initial_probe": false, + "signal_scope": "tracked Popen child only; no external group signal" + }, + "actual_end_binding": { + "scope": "isolated diagnostic owned child", + "event": "ENGINE_ENDED", + "actual_pid": 59578, + "owner_pid": 59564, + "command": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "monotonic_ns": 14245020416, + "exit_code": 0, + "actual_process_exit_code": 0, + "engine_ended": true, + "timed_out": false, + "lifecycle_error": null, + "start_receipt_written": true, + "pid": 59578, + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "ended_utc": "2026-10-12T00:19:11.505315+00:00", + "signal_scope": "tracked Popen child only; no external group signal" + }, + "strict_native_diagnostics": { + "errors": [], + "banner_count": 1, + "known_unicode_diagnostic_count": 0, + "unrecognized_unicode_diagnostic_count": 0, + "exit_leak_diagnostic_lines": [] + }, + "external_process_or_group_signals": 0, + "owned_child_process_helper_sha256": "c007e712c281573254faa1233c2ac92e100ab87393256a6dc096b35283e43037", + "adapter_owned_cleanup": { + "owned_child_created": true, + "engine_ended": true, + "actual_process_exit_code": 0, + "attempts": [ + { + "attempt": 1, + "kill_attempted": false, + "wait_timeout_seconds": 5, + "wait_completed": true, + "errors": [], + "poll_before": 0, + "wait_returned_code": 0, + "poll_after": 0 + } + ], + "errors": [] + }, + "adapter_error": null, + "old_helper_bytes_preserved": true, + "helper_wait_None_maps_to_actual_timeout_seconds": 5, + "explicit_helper_wait_timeouts_preserved": true, + "additional_cleanup_wait_timeout_seconds": 5, + "additional_cleanup_max_attempts": 3 +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/started.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/started.json new file mode 100644 index 0000000..f978492 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/started.json @@ -0,0 +1,40 @@ +{ + "scope": "isolated diagnostic owned child", + "event": "ENGINE_STARTED", + "actual_pid": 59578, + "owner_pid": 59564, + "command": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "monotonic_ns": 2673321416, + "pid": 59578, + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "started_utc": "2026-10-12T00:18:59.928450+00:00", + "current_process_identity": { + "pid": 59578, + "ppid": 59564, + "pgid": 59578, + "args": "/Applications/Godot.app/Contents/MacOS/Godot --headless --path /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage --script /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd --verbose --log-file /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + }, + "live_identity_exact": true, + "tracked_child_ended_before_initial_probe": false, + "signal_scope": "tracked Popen child only; no external group signal" +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log new file mode 100644 index 0000000..e870649 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/boundaries/stdout.log @@ -0,0 +1,120 @@ +WorkerThreadPool: 10 threads, 3 max low-priority. +Godot Engine v4.7.2.stable.official.ed1daf0bf - https://godotengine.org +TextServer: Added interface "Dummy" +TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)" +SDL: Init OK! +Using "default" pen tablet driver... + +TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)". +CORE API HASH: 2004498165 +EDITOR API HASH: 1696660745 +Loading resource: /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd remapped: /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd +Completed load for: '/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd' remapped '/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd' at thread -1 +SceneTreeFTI: traversal method DEFAULT +Loading resource: res://autoload/event_bus.gd remapped: res://autoload/event_bus.gd +Completed load for: 'res://autoload/event_bus.gd' remapped 'res://autoload/event_bus.gd' at thread -1 +Loading resource: res://autoload/game_clock.gd remapped: res://autoload/game_clock.gd +Completed load for: 'res://autoload/game_clock.gd' remapped 'res://autoload/game_clock.gd' at thread -1 +Loading resource: res://autoload/game_state.gd remapped: res://autoload/game_state.gd +Completed load for: 'res://autoload/game_state.gd' remapped 'res://autoload/game_state.gd' at thread -1 +Loading resource: res://autoload/simulation_runtime.gd remapped: res://autoload/simulation_runtime.gd +Completed load for: 'res://autoload/simulation_runtime.gd' remapped 'res://autoload/simulation_runtime.gd' at thread -1 +Loaded system CA certificates +PACK_PROFILE_GUARD verified=true +Loading resource: res://data/facilities/adult_private_room.tres remapped: res://data/facilities/adult_private_room.tres +Completed load for: 'res://data/facilities/adult_private_room.tres' remapped 'res://data/facilities/adult_private_room.tres' at thread -1 +Loading resource: res://data/facilities/cafeteria.tres remapped: res://data/facilities/cafeteria.tres +Completed load for: 'res://data/facilities/cafeteria.tres' remapped 'res://data/facilities/cafeteria.tres' at thread -1 +Loading resource: res://data/facilities/expansion/chapel.tres remapped: res://data/facilities/expansion/chapel.tres +Completed load for: 'res://data/facilities/expansion/chapel.tres' remapped 'res://data/facilities/expansion/chapel.tres' at thread -1 +Loading resource: res://data/facilities/expansion/cleaning_room.tres remapped: res://data/facilities/expansion/cleaning_room.tres +Completed load for: 'res://data/facilities/expansion/cleaning_room.tres' remapped 'res://data/facilities/expansion/cleaning_room.tres' at thread -1 +Loading resource: res://data/facilities/expansion/premium_room.tres remapped: res://data/facilities/expansion/premium_room.tres +Completed load for: 'res://data/facilities/expansion/premium_room.tres' remapped 'res://data/facilities/expansion/premium_room.tres' at thread -1 +Loading resource: res://data/facilities/expansion/staff_dormitory.tres remapped: res://data/facilities/expansion/staff_dormitory.tres +Completed load for: 'res://data/facilities/expansion/staff_dormitory.tres' remapped 'res://data/facilities/expansion/staff_dormitory.tres' at thread -1 +Loading resource: res://data/facilities/guest_corridor.tres remapped: res://data/facilities/guest_corridor.tres +Completed load for: 'res://data/facilities/guest_corridor.tres' remapped 'res://data/facilities/guest_corridor.tres' at thread -1 +Loading resource: res://data/facilities/guest_elevator.tres remapped: res://data/facilities/guest_elevator.tres +Completed load for: 'res://data/facilities/guest_elevator.tres' remapped 'res://data/facilities/guest_elevator.tres' at thread -1 +Loading resource: res://data/facilities/infrastructure/guest_stairs.tres remapped: res://data/facilities/infrastructure/guest_stairs.tres +Completed load for: 'res://data/facilities/infrastructure/guest_stairs.tres' remapped 'res://data/facilities/infrastructure/guest_stairs.tres' at thread -1 +Loading resource: res://data/facilities/infrastructure/service_stairs.tres remapped: res://data/facilities/infrastructure/service_stairs.tres +Completed load for: 'res://data/facilities/infrastructure/service_stairs.tres' remapped 'res://data/facilities/infrastructure/service_stairs.tres' at thread -1 +Loading resource: res://data/facilities/kitchen.tres remapped: res://data/facilities/kitchen.tres +Completed load for: 'res://data/facilities/kitchen.tres' remapped 'res://data/facilities/kitchen.tres' at thread -1 +Loading resource: res://data/facilities/massage_room.tres remapped: res://data/facilities/massage_room.tres +Completed load for: 'res://data/facilities/massage_room.tres' remapped 'res://data/facilities/massage_room.tres' at thread -1 +Loading resource: res://data/facilities/public_bath.tres remapped: res://data/facilities/public_bath.tres +Completed load for: 'res://data/facilities/public_bath.tres' remapped 'res://data/facilities/public_bath.tres' at thread -1 +Loading resource: res://data/facilities/reception.tres remapped: res://data/facilities/reception.tres +Completed load for: 'res://data/facilities/reception.tres' remapped 'res://data/facilities/reception.tres' at thread -1 +Loading resource: res://data/facilities/rescue/infirmary.tres remapped: res://data/facilities/rescue/infirmary.tres +Completed load for: 'res://data/facilities/rescue/infirmary.tres' remapped 'res://data/facilities/rescue/infirmary.tres' at thread -1 +Loading resource: res://data/facilities/security_station.tres remapped: res://data/facilities/security_station.tres +Completed load for: 'res://data/facilities/security_station.tres' remapped 'res://data/facilities/security_station.tres' at thread -1 +Loading resource: res://data/facilities/service_corridor.tres remapped: res://data/facilities/service_corridor.tres +Completed load for: 'res://data/facilities/service_corridor.tres' remapped 'res://data/facilities/service_corridor.tres' at thread -1 +Loading resource: res://data/facilities/service_elevator.tres remapped: res://data/facilities/service_elevator.tres +Completed load for: 'res://data/facilities/service_elevator.tres' remapped 'res://data/facilities/service_elevator.tres' at thread -1 +Loading resource: res://data/facilities/staff_door.tres remapped: res://data/facilities/staff_door.tres +Completed load for: 'res://data/facilities/staff_door.tres' remapped 'res://data/facilities/staff_door.tres' at thread -1 +Loading resource: res://data/facilities/staff_waiting_room.tres remapped: res://data/facilities/staff_waiting_room.tres +Completed load for: 'res://data/facilities/staff_waiting_room.tres' remapped 'res://data/facilities/staff_waiting_room.tres' at thread -1 +Loading resource: res://data/facilities/standard_room.tres remapped: res://data/facilities/standard_room.tres +Completed load for: 'res://data/facilities/standard_room.tres' remapped 'res://data/facilities/standard_room.tres' at thread -1 +Loading resource: res://data/facilities/tavern.tres remapped: res://data/facilities/tavern.tres +Completed load for: 'res://data/facilities/tavern.tres' remapped 'res://data/facilities/tavern.tres' at thread -1 +Loading resource: res://data/facilities/warehouse.tres remapped: res://data/facilities/warehouse.tres +Completed load for: 'res://data/facilities/warehouse.tres' remapped 'res://data/facilities/warehouse.tres' at thread -1 +NATIVE_ADAPTER_LIBRARY_REGISTERED +Loading resource: res://data/facilities/adult_private_room.tres remapped: res://data/facilities/adult_private_room.tres +Completed load for: 'res://data/facilities/adult_private_room.tres' remapped 'res://data/facilities/adult_private_room.tres' at thread -1 +Loading resource: res://data/facilities/cafeteria.tres remapped: res://data/facilities/cafeteria.tres +Completed load for: 'res://data/facilities/cafeteria.tres' remapped 'res://data/facilities/cafeteria.tres' at thread -1 +Loading resource: res://data/facilities/expansion/chapel.tres remapped: res://data/facilities/expansion/chapel.tres +Completed load for: 'res://data/facilities/expansion/chapel.tres' remapped 'res://data/facilities/expansion/chapel.tres' at thread -1 +Loading resource: res://data/facilities/expansion/cleaning_room.tres remapped: res://data/facilities/expansion/cleaning_room.tres +Completed load for: 'res://data/facilities/expansion/cleaning_room.tres' remapped 'res://data/facilities/expansion/cleaning_room.tres' at thread -1 +Loading resource: res://data/facilities/expansion/premium_room.tres remapped: res://data/facilities/expansion/premium_room.tres +Completed load for: 'res://data/facilities/expansion/premium_room.tres' remapped 'res://data/facilities/expansion/premium_room.tres' at thread -1 +Loading resource: res://data/facilities/expansion/staff_dormitory.tres remapped: res://data/facilities/expansion/staff_dormitory.tres +Completed load for: 'res://data/facilities/expansion/staff_dormitory.tres' remapped 'res://data/facilities/expansion/staff_dormitory.tres' at thread -1 +Loading resource: res://data/facilities/guest_corridor.tres remapped: res://data/facilities/guest_corridor.tres +Completed load for: 'res://data/facilities/guest_corridor.tres' remapped 'res://data/facilities/guest_corridor.tres' at thread -1 +Loading resource: res://data/facilities/guest_elevator.tres remapped: res://data/facilities/guest_elevator.tres +Completed load for: 'res://data/facilities/guest_elevator.tres' remapped 'res://data/facilities/guest_elevator.tres' at thread -1 +Loading resource: res://data/facilities/infrastructure/guest_stairs.tres remapped: res://data/facilities/infrastructure/guest_stairs.tres +Completed load for: 'res://data/facilities/infrastructure/guest_stairs.tres' remapped 'res://data/facilities/infrastructure/guest_stairs.tres' at thread -1 +Loading resource: res://data/facilities/infrastructure/service_stairs.tres remapped: res://data/facilities/infrastructure/service_stairs.tres +Completed load for: 'res://data/facilities/infrastructure/service_stairs.tres' remapped 'res://data/facilities/infrastructure/service_stairs.tres' at thread -1 +Loading resource: res://data/facilities/kitchen.tres remapped: res://data/facilities/kitchen.tres +Completed load for: 'res://data/facilities/kitchen.tres' remapped 'res://data/facilities/kitchen.tres' at thread -1 +Loading resource: res://data/facilities/massage_room.tres remapped: res://data/facilities/massage_room.tres +Completed load for: 'res://data/facilities/massage_room.tres' remapped 'res://data/facilities/massage_room.tres' at thread -1 +Loading resource: res://data/facilities/public_bath.tres remapped: res://data/facilities/public_bath.tres +Completed load for: 'res://data/facilities/public_bath.tres' remapped 'res://data/facilities/public_bath.tres' at thread -1 +Loading resource: res://data/facilities/reception.tres remapped: res://data/facilities/reception.tres +Completed load for: 'res://data/facilities/reception.tres' remapped 'res://data/facilities/reception.tres' at thread -1 +Loading resource: res://data/facilities/rescue/infirmary.tres remapped: res://data/facilities/rescue/infirmary.tres +Completed load for: 'res://data/facilities/rescue/infirmary.tres' remapped 'res://data/facilities/rescue/infirmary.tres' at thread -1 +Loading resource: res://data/facilities/security_station.tres remapped: res://data/facilities/security_station.tres +Completed load for: 'res://data/facilities/security_station.tres' remapped 'res://data/facilities/security_station.tres' at thread -1 +Loading resource: res://data/facilities/service_corridor.tres remapped: res://data/facilities/service_corridor.tres +Completed load for: 'res://data/facilities/service_corridor.tres' remapped 'res://data/facilities/service_corridor.tres' at thread -1 +Loading resource: res://data/facilities/service_elevator.tres remapped: res://data/facilities/service_elevator.tres +Completed load for: 'res://data/facilities/service_elevator.tres' remapped 'res://data/facilities/service_elevator.tres' at thread -1 +Loading resource: res://data/facilities/staff_door.tres remapped: res://data/facilities/staff_door.tres +Completed load for: 'res://data/facilities/staff_door.tres' remapped 'res://data/facilities/staff_door.tres' at thread -1 +Loading resource: res://data/facilities/staff_waiting_room.tres remapped: res://data/facilities/staff_waiting_room.tres +Completed load for: 'res://data/facilities/staff_waiting_room.tres' remapped 'res://data/facilities/staff_waiting_room.tres' at thread -1 +Loading resource: res://data/facilities/standard_room.tres remapped: res://data/facilities/standard_room.tres +Completed load for: 'res://data/facilities/standard_room.tres' remapped 'res://data/facilities/standard_room.tres' at thread -1 +Loading resource: res://data/facilities/tavern.tres remapped: res://data/facilities/tavern.tres +Completed load for: 'res://data/facilities/tavern.tres' remapped 'res://data/facilities/tavern.tres' at thread -1 +Loading resource: res://data/facilities/warehouse.tres remapped: res://data/facilities/warehouse.tres +Completed load for: 'res://data/facilities/warehouse.tres' remapped 'res://data/facilities/warehouse.tres' at thread -1 +Ready route local: 252 checks, 0 failures +XR: Clearing primary interface +XR: Removed interface "Native mobile" +XR: Removed interface "OpenXR" diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd new file mode 100644 index 0000000..c17cdcf --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd @@ -0,0 +1,11 @@ +extends "/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd" +const Guard := preload("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd") +func _initialize() -> void: + if not Guard.activate(): quit(97); return + super._initialize() +func run() -> void: + var loaded := GDExtensionManager.load_extension("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension") + check(loaded == GDExtensionManager.LOAD_STATUS_OK and ClassDB.class_exists(&"TheTreeNumericCore"), "exact native extension registered before diagnostic") + if loaded != GDExtensionManager.LOAD_STATUS_OK or not ClassDB.class_exists(&"TheTreeNumericCore"): quit(96); return + print("NATIVE_ADAPTER_LIBRARY_REGISTERED") + super.run() diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate.gdextension b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate.gdextension new file mode 100644 index 0000000..bea9975 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/candidate.gdextension @@ -0,0 +1,7 @@ +[configuration] +entry_symbol = "tree_numeric_core_init" +compatibility_minimum = "4.7" + +[libraries] +macos.debug.arm64 = "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib" +macos.release.arm64 = "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib" diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/execution.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/execution.json new file mode 100644 index 0000000..b4fc7e9 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/execution.json @@ -0,0 +1,269 @@ +{ + "passed": true, + "error": null, + "guard_errors": [], + "phases": [ + { + "name": "boundaries", + "result": { + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "pid": 59578, + "started_utc": "2026-10-12T00:18:59.928450+00:00", + "ended_utc": "2026-10-12T00:19:11.508053+00:00", + "wall_seconds": 11.579403917, + "exit_code": 0, + "helper_exit_code": 0, + "timed_out": false, + "stdout_sha256": "87fa4f71bc08488c003609835e6eb1526c4cd3c58e2457bea36a7825b1333e08", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "error_lines": [], + "owned_popen_ended": true, + "old_helper_engine_ended": true, + "start_receipt_written": true, + "end_receipt_written": true, + "lifecycle_error": null, + "old_helper_lifecycle_error": null, + "actual_start_binding": { + "scope": "isolated diagnostic owned child", + "event": "ENGINE_STARTED", + "actual_pid": 59578, + "owner_pid": 59564, + "command": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "monotonic_ns": 2673321416, + "pid": 59578, + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "started_utc": "2026-10-12T00:18:59.928450+00:00", + "current_process_identity": { + "pid": 59578, + "ppid": 59564, + "pgid": 59578, + "args": "/Applications/Godot.app/Contents/MacOS/Godot --headless --path /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage --script /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd --verbose --log-file /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + }, + "live_identity_exact": true, + "tracked_child_ended_before_initial_probe": false, + "signal_scope": "tracked Popen child only; no external group signal" + }, + "actual_end_binding": { + "scope": "isolated diagnostic owned child", + "event": "ENGINE_ENDED", + "actual_pid": 59578, + "owner_pid": 59564, + "command": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "monotonic_ns": 14245020416, + "exit_code": 0, + "actual_process_exit_code": 0, + "engine_ended": true, + "timed_out": false, + "lifecycle_error": null, + "start_receipt_written": true, + "pid": 59578, + "argv": [ + "/Applications/Godot.app/Contents/MacOS/Godot", + "--headless", + "--path", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage", + "--script", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "--verbose", + "--log-file", + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries/engine-native.log" + ], + "ended_utc": "2026-10-12T00:19:11.505315+00:00", + "signal_scope": "tracked Popen child only; no external group signal" + }, + "strict_native_diagnostics": { + "errors": [], + "banner_count": 1, + "known_unicode_diagnostic_count": 0, + "unrecognized_unicode_diagnostic_count": 0, + "exit_leak_diagnostic_lines": [] + }, + "external_process_or_group_signals": 0, + "owned_child_process_helper_sha256": "c007e712c281573254faa1233c2ac92e100ab87393256a6dc096b35283e43037", + "adapter_owned_cleanup": { + "owned_child_created": true, + "engine_ended": true, + "actual_process_exit_code": 0, + "attempts": [ + { + "attempt": 1, + "kill_attempted": false, + "wait_timeout_seconds": 5, + "wait_completed": true, + "errors": [], + "poll_before": 0, + "wait_returned_code": 0, + "poll_after": 0 + } + ], + "errors": [] + }, + "adapter_error": null, + "old_helper_bytes_preserved": true, + "helper_wait_None_maps_to_actual_timeout_seconds": 5, + "explicit_helper_wait_timeouts_preserved": true, + "additional_cleanup_wait_timeout_seconds": 5, + "additional_cleanup_max_attempts": 3 + }, + "capture": { + "actual_captured_pids": [ + 59578 + ], + "cleanup": [ + { + "pid": 59578, + "cleanup": { + "owned_child_created": true, + "engine_ended": true, + "actual_process_exit_code": 0, + "attempts": [ + { + "attempt": 1, + "kill_attempted": false, + "wait_timeout_seconds": 5, + "wait_completed": true, + "errors": [], + "poll_before": 0, + "wait_returned_code": 0, + "poll_after": 0 + } + ], + "errors": [] + }, + "outer_cleanup_errors": [], + "engine_ended": true, + "outer_maximum_helper_invocations": 3, + "helper_maximum_waits": 3, + "per_wait_timeout_seconds": 5, + "foreign_process_or_group_signals": 0 + } + ], + "adapter_exception": null, + "all_captured_ended": true, + "outer_cleanup_errors": [], + "foreign_process_or_group_signals": 0, + "all_cleanup_before_outer_receipt": true, + "outer_receipt_written": true, + "outer_receipt_error": null, + "passed": true + } + } + ], + "samples": [ + { + "name": "boundaries", + "report": { + "Windows_accepted": false, + "case_count": 15, + "checks": 252, + "failures": [], + "fixtures": { + "bytes": 709, + "codec": "zstd", + "field_deletions": 0, + "file_envelope": false, + "full_bytes_roundtrip": true, + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/fixtures.varbytes.zst", + "sha256": "abb1d265988c2b5d7a7d42fc6625ee76eb2846964ff21863978280dd055415d5", + "uncompressed_bytes": 10948, + "uncompressed_sha256": "43250a2fa5c56ca73fc853f2d883dfbf23dfdc7c8ba647f191c2b1282b636e0f" + }, + "passed": true, + "performance_accepted": false, + "pid": 59578, + "ready_route_cases": 8, + "ready_route_fixtures": { + "bytes": 332, + "codec": "zstd", + "field_deletions": 0, + "file_envelope": false, + "full_bytes_roundtrip": true, + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/boundaries-measurement/ready-route-fixtures.varbytes.zst", + "sha256": "091eb9995586689e726da8abaf9b46aa451bc7ac768dbdad4375585a3188cb0d", + "uncompressed_bytes": 3288, + "uncompressed_sha256": "560b08669f28f79ab0eddff115d22830515420bea51e0271d71f5a569832b664" + }, + "unit_accepted": false + } + } + ], + "cleanup": [ + { + "pid": 59578, + "cleanup": { + "owned_child_created": true, + "engine_ended": true, + "actual_process_exit_code": 0, + "attempts": [ + { + "attempt": 1, + "kill_attempted": false, + "wait_timeout_seconds": 5, + "wait_completed": true, + "errors": [], + "poll_before": 0, + "wait_returned_code": 0, + "poll_after": 0 + } + ], + "errors": [] + }, + "outer_cleanup_errors": [], + "engine_ended": true, + "outer_maximum_helper_invocations": 3, + "helper_maximum_waits": 3, + "per_wait_timeout_seconds": 5, + "foreign_process_or_group_signals": 0 + } + ], + "cleanup_errors": [], + "input_source_default_doc4_preserved": true, + "candidate_adopted": false, + "unit_accepted": false, + "performance_accepted": false, + "normal_OS_accepted": false, + "Windows_accepted": false, + "limitations": [ + "Fifteen original projection boundary fixtures plus8 compact ready-route boundary fixtures compare all typed candidate bytes and entire Runtime plus public Path cache/errors/counters and observer call counts against byte-retained original loop. Synthetic fixtures do not approve new game values or general reentry/provider ownership; ready route cases compare full Runtime and Path state, ownership, typed/readonly, cache and ordered results; invalid shape and mid-call script-change execution remains uncovered. No whole647, performance, final full regression, OS or Windows acceptance." + ] +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/input.json.gz b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/input.json.gz new file mode 100644 index 0000000..420680e Binary files /dev/null and b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/input.json.gz differ diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json new file mode 100644 index 0000000..0c4a974 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304-r02/preexecution-root-verification.json @@ -0,0 +1,178 @@ +{ + "passed": true, + "review_sha256": "70690266737ad1b840b75ee643249f3e8900a55b432c86cc9262c1bfe7d3a023", + "verified_entries": [ + { + "path": "/Applications/Godot.app/Contents/MacOS/Godot", + "bytes": 351312912, + "sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd", + "bytes": 17582, + "sha256": "92d5e1956f4e613e12555d756de4f71fef03678cde159ac68fac3188ce3f336e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py", + "bytes": 26296, + "sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd", + "bytes": 2276, + "sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst", + "bytes": 240032, + "sha256": "1a88f7ed27d1d32102c6fe3a9533221d2565191712ed15b631190479d1d41505" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst", + "bytes": 1498, + "sha256": "d636067f11f70a82ae7d928d2463bc3c2a4107b1d63d1baaed065c8ef93b87d2" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.gd", + "bytes": 11882, + "sha256": "7e2f55e671b097cad57c0be332a1456e70b03690e55035c43a6650d9e85b1373" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd", + "bytes": 7571, + "sha256": "410e117b72c9fbabfad7b7ba837403a6ad24c3085b0d221f19974824a3dd7292" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02.py", + "bytes": 7152, + "sha256": "37e67090c91d12dec86814a6a572dfea43c28ce0409a6e07ea95af6ef65de432" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304-r02.py", + "bytes": 10741, + "sha256": "f594a2995dd54d8a6a61db1d474ce0ce012f122685ac29c82cca11289aa4a890" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate-guarded.gd", + "bytes": 1124, + "sha256": "00524070180300538a08a8e4cbfa9508e22b3e09fcae9aad5dd6a247abf099ed" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/candidate.gdextension", + "bytes": 327, + "sha256": "1930b4586d7fd733ab47c010b254c0a07a3cb5d4918c77851ff41dc764aec642" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/private/tmp/TheTree-ready-route-r304-r02-dfc91a3b4f064b7a86de568e170ea2c1/candidate.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd", + "bytes": 611530, + "sha256": "b4201726a735e9d979bd1ffae626ecd43ad2b76e4c7d1b51430884609bf2f4dc" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd", + "bytes": 10355, + "sha256": "742c464d16ab417cbc3c2930d43e508faf5c9f7688da416324ca1150bdb9b6b9" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension", + "bytes": 323, + "sha256": "04c4311764ab9d75be3df884f960f0944cd474847fb1ca061224ce4c1bc2aef7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd", + "bytes": 1118, + "sha256": "ebe45a6ae990ff4f38ba9e2df86a99e83810ee6d65f7b0811d4a02be6a4a8dd6" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json", + "bytes": 759469, + "sha256": "7f2403a6d4bd1dbff44f246bced74e810bf515f187f65c1a2dd3ef947c0445af" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py", + "bytes": 7138, + "sha256": "567b30c74a7f52127e5cc6de48fe956ba3eb4aaca8b1bd858e6c7c288fd2742f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-preexecution-independent-review-r304.json", + "bytes": 16416, + "sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304-r02/input.json", + "bytes": 758625, + "sha256": "34667cdb5107e476b475b5ebcf2f178ff2ffa6a0d8811a5542e83f4708a7e858" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + ], + "unit_accepted": false, + "performance_accepted": false +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.gd b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.gd new file mode 100644 index 0000000..9753a8e --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.gd @@ -0,0 +1,155 @@ +extends "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd" +class CustomFacility: + extends FacilityInstance +class CustomDefinition: + extends FacilityDefinition +class CustomElevator: + extends ElevatorService +class CustomGuest: + extends GuestRuntime +const CASES := ["ordinary", "stairs150", "stairs149", "foreign150", "elevator151", "integer_wrap", "clamp_low", "geometry_wrap", "inputs_unavailable", "staff_only", "custom_facility", "custom_definition", "custom_elevator", "custom_guest", "path_observer"] +var records: Array = [] +var core: Variant +var calls := 0 +func observed(_duration: int) -> void: calls += 1 +func setup(label: String) -> void: + var p := PathService.new() + var start := Vector3i.ZERO + var target := Vector3i(0,1,0) if label in ["stairs150","stairs149","foreign150","elevator151"] else Vector3i(2,0,0) + if label == "geometry_wrap": + start=Vector3i(-2147483648,0,0);target=start + var cells: Array[Vector3i] = [start,target] + if target.y==0 and label!="geometry_wrap": cells.insert(1,Vector3i(1,0,0)) + check(p.rebuild_graph(cells),label+" finite public graph") + if target.y!=0: check(p.set_vertical_walk_requires_connector(true),label+" actual connector-only vertical route") + runtime.path_service=p + p.path_query_measured.connect(Callable(runtime,"_on_path_query_measured")) + var e: ElevatorService = CustomElevator.new() if label=="custom_elevator" else ElevatorService.new() + e.configure(p);runtime.elevators=e + if label=="elevator151": + check(bool(e.synchronize([{&"shaft_id":&"transport.shaft.finite", &"module_ids":[&"finite.module"], &"stops":[start,target], &"width":2, &"capacity":4, &"travel_minutes_per_floor":10, &"access_id":&""}],646).get(&"ok",false)),label+" actual owned shaft") + var id: StringName=e._connector_configs(e.get_report()[&"shafts"][0][&"config"])[0][&"id"] + check(p.configure_connector(id,start,target,151,true,&"",true,{&"movement_type":PathService.MOVEMENT_ELEVATOR, &"cabin_capacity":4, &"queue_capacity":16, &"travel_minutes_per_floor":10}),label+" owned elevator cost151") + elif target.y!=0: + var id: StringName = &"foreign" if label=="foreign150" else &"infra.connector:finite" + check(p.configure_connector(id,start,target,149 if label=="stairs149" else 150),label+" public connector") + var f: FacilityInstance = CustomFacility.new() if label=="custom_facility" else FacilityInstance.new() + f.instance_id=&"finite.facility";f.definition_id=&"finite.definition";f.origin=target + f.occupied_cells=[];f.base_price=0;f.base_quality=101;f.capacity=4;f.base_service_minutes=7 + f.queue_entries=[&"q1",&"q2",&"q3"] + if label=="integer_wrap": f.base_service_minutes=9223372036854775807;f.capacity=-9223372036854775808 + if label=="clamp_low": f.base_quality=-9223372036854775808;f.capacity=0 + if label=="geometry_wrap": f.origin=Vector3i(2147483647,0,0);f.occupied_cells=[f.origin] + runtime.facility_service._instances={f.instance_id:f} + var d: FacilityDefinition = CustomDefinition.new() if label=="custom_definition" else FacilityDefinition.new() + d.id=f.definition_id;d.tags=[&"rest"] + if label=="inputs_unavailable": d.inventory_inputs={&"finite.missing":1} + if label=="staff_only": d.tags=[&"staff_only"] + runtime.definition_registry._facilities_by_id[f.definition_id]=d + var g: GuestRuntime = CustomGuest.new() if label=="custom_guest" else GuestRuntime.new() + g.guest_id=&"finite.guest";g.current_cell=start + runtime.guest_service._guests={g.guest_id:g};runtime.guest_service._guest_order_dirty=true + calls=0 + if label=="path_observer":p.path_query_measured.connect(observed) +func state() -> Array: + var p=runtime.path_service + return [runtime.create_snapshot(),p.last_error,p.last_no_route_reason,p.last_path_cost,p.cache_hits,p.cache_misses,p._path_cache,p._query_batch,p._guest_step_connector_memo,calls] +func project() -> Dictionary: + return core.project_guest_candidates(runtime,&"finite.guest",FacilityInstance.State.OPEN,FacilityInstance.State.DEGRADED,runtime.MOVEMENT_CREDIT_SCALE,runtime.STAIR_MOVEMENT_CREDIT,PathService.ORTHOGONAL_MOVE_COST,Callable(Time,"get_ticks_usec")) +const ROUTE_CASES := ["ordinary", "goal_only", "cycle_limit", "negative_terminal", "readonly_cells", "readonly_indices", "untyped_cells", "noncompact"] +var route_records: Array = [] +func route_setup(label: String) -> Dictionary: + setup("ordinary") + var p=runtime.path_service + var goal := Vector3i.ZERO if label == "goal_only" else Vector3i(2,0,0) + var goals: Array=[goal] + p.begin_guest_path_query_batch(Vector3i.ZERO,goals) + var layers: Array[int]=[0,1] + var access: Array[StringName]=[] + var tree: Dictionary=p._build_guest_query_tree_compact(Vector3i.ZERO,p._query_batch[&"targets"],layers,access) + if label == "cycle_limit": + var parents: PackedInt64Array=tree[&"parent_indices"] + parents[1]=2;parents[2]=1;tree[&"parent_indices"]=parents + elif label == "negative_terminal": + var parents: PackedInt64Array=tree[&"parent_indices"] + parents[2]=-99;tree[&"parent_indices"]=parents + elif label == "readonly_cells": tree[&"cells"].make_read_only() + elif label == "readonly_indices": tree[&"indices"].make_read_only() + elif label == "untyped_cells": + var cells: Array=[];cells.append_array(tree[&"cells"]);tree[&"cells"]=cells + elif label == "noncompact": + tree[&"compact"]=false + tree[&"parents"]={Vector3i(1,0,0):Vector3i.ZERO,Vector3i(2,0,0):Vector3i(1,0,0)} + tree[&"costs"]={Vector3i.ZERO:0,Vector3i(1,0,0):100,Vector3i(2,0,0):200} + p._query_batch[&"tree"]=tree;p._query_batch[&"ready"]=true;p._query_batch[&"arithmetic_wrapped"]=false + return {"path":p,"goal":goal,"goals":goals,"layers":layers,"access":access,"tree":tree} +func route_case(label: String) -> void: + var input: Dictionary=route_setup(label) + var p=input["path"] + var before: PackedByteArray=var_to_bytes(input["tree"]) + var actual: Dictionary=core.nearest_guest_access(p,Vector3i.ZERO,input["goals"],input["goal"],input["layers"],input["access"],Callable(Time,"get_ticks_usec")) + check(bool(actual.get(&"supported",false)),label+" ready route actual native selected") + check(var_to_bytes(input["tree"])==before and (label!="readonly_cells" or input["tree"][&"cells"].is_read_only()) and (label!="readonly_indices" or input["tree"][&"indices"].is_read_only()),label+" ready route original tree and readonly unchanged") + var got_bytes: PackedByteArray=var_to_bytes(actual) + var after: PackedByteArray=var_to_bytes(state()) + var route: Array=actual[&"path"] + var key: String=p._cache_key(Vector3i.ZERO,input["goal"],input["layers"],input["access"]) + var cached: Array=p._path_cache[key] + check(route.is_typed() and route.get_typed_builtin()==TYPE_VECTOR3I and not route.is_read_only() and cached.is_typed() and cached.get_typed_builtin()==TYPE_VECTOR3I and not cached.is_read_only() and not is_same(route,cached),label+" fresh writable typed path and separate cache copy") + var cache_before: PackedByteArray=var_to_bytes(p._path_cache) + route[0]=Vector3i(99,99,0) + check(var_to_bytes(p._path_cache)==cache_before,label+" returned path mutation leaves cache unchanged") + var returned_before: PackedByteArray=var_to_bytes(route) + cached[0]=Vector3i(77,77,0) + check(var_to_bytes(route)==returned_before,label+" cache copy mutation leaves returned path unchanged") + input=route_setup(label);p=input["path"];before=var_to_bytes(input["tree"]) + var expected: Dictionary=p._query_nearest_guest_access_without_native(Vector3i.ZERO,input["goals"],input["goal"]) + check(var_to_bytes(expected)==got_bytes,label+" full original ordered typed ready-route result") + check(var_to_bytes(state())==after,label+" full Runtime cache counters errors and signals equal") + check(var_to_bytes(input["tree"])==before,label+" original fallback tree unchanged") + route_records.append({"case":label,"expected":expected,"actual":bytes_to_var(got_bytes)}) + +func run() -> void: + output=OS.get_environment("THE_TREE_RUNTIME_MONITOR_OUTPUT") + runtime=root.get_node("SimulationRuntime");clock=root.get_node("GameClock") + var raw := FileAccess.get_file_as_bytes(OS.get_environment("THE_TREE_REPLAY_SNAPSHOT")).decompress(11411840,FileAccess.COMPRESSION_ZSTD) + var initial: Dictionary=bytes_to_var(raw) + runtime.initialize(clock,root.get_node("GameState"),int(initial[&"systems"][&"runtime"][&"world_seed"])) + check(runtime.restore_snapshot(initial),"fixed646 original seed/context restore") + core=ClassDB.instantiate(&"TheTreeNumericCore") + for label: String in CASES: + setup(label) + var before := var_to_bytes(state()) + var selected := project() + var fallback := label.begins_with("custom_") or label=="path_observer" + check(bool(selected.get(&"supported",false))==not fallback,label+" actual native domain") + if fallback:check(var_to_bytes(state())==before,label+" rejection has no public effects") + var got: Array=runtime._project_guest_candidates(&"finite.guest") if fallback else selected[&"candidates"] + var after := var_to_bytes(state()) + var got_bytes := var_to_bytes(got) + check(runtime.path_service._query_batch.is_empty(),label+" derived batch released") + setup(label) + check(var_to_bytes(state())==before,label+" same complete starting state") + var expected: Array=runtime._project_guest_candidates_without_native(&"finite.guest") + check(var_to_bytes(expected)==got_bytes,label+" complete ordered typed candidates") + check(var_to_bytes(state())==after,label+" complete Runtime Path cache errors counters callback count") + if label=="stairs150":check(int(got[0][&"travel_minutes"])==2,label+" stairs ceil150/100") + elif label=="elevator151":check(int(got[0][&"travel_minutes"])==12,label+" elevator ceil((151+1floor*10minutes*100)/100)") + elif label in ["stairs149","foreign150"]:check(int(got[0][&"travel_minutes"])==1,label+" ordinary movement retained") + if label=="integer_wrap":check(int(got[0][&"expected_wait"])==9223372036854775805 and int(got[0][&"group_fit"])==-9223372036854775808,label+" signed multiplication wrap") + if label=="clamp_low":check(got[0][&"expected_quality"]==0 and got[0][&"group_fit"]==0,label+" zero divisor guard and quality lower clamp") + if label=="ordinary": + check(got[0][&"expected_quality"]==100,label+" quality upper clamp") + var protected_bytes := var_to_bytes(expected) + got[0][&"facility_tags"].append(&"mutated");got[0][&"need_relief"].clear();got[0][&"path_handle"].clear() + check(var_to_bytes(expected)==protected_bytes and runtime.definition_registry.get_facility(&"finite.definition").tags==[&"rest"],label+" owned returned tags relief and handle") + records.append({"case":label,"native_supported":not fallback,"candidates":expected,"observer_calls":calls}) + for label: String in ROUTE_CASES: route_case(label) + var route_payload := typed("ready-route-fixtures",route_records) + core=null + var report := {"passed":failures.is_empty(),"checks":checks,"failures":failures,"pid":OS.get_process_id(),"case_count":CASES.size(),"ready_route_cases":ROUTE_CASES.size(),"ready_route_fixtures":route_payload,"fixtures":typed("fixtures",records),"unit_accepted":false,"performance_accepted":false,"Windows_accepted":false} + report["passed"]=failures.is_empty();report["checks"]=checks;report["failures"]=failures + var file := FileAccess.open(output.path_join("report.json"),FileAccess.WRITE) + if file==null:quit(98);return + file.store_string(JSON.stringify(report,"\t"));file.close() + print("Ready route local: %d checks, %d failures"%[checks,failures.size()]);quit(0 if failures.is_empty() else 1) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.py b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.py new file mode 100644 index 0000000..94b39a3 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304.py @@ -0,0 +1,74 @@ +# coding: utf-8 +"""One finite cold native guest projection QA against original Runtime golden; no full regression.""" +from pathlib import Path +import hashlib, importlib.util, json, os, shutil, subprocess, sys, uuid +sys.dont_write_bytecode=True +R=Path(__file__).resolve().parents[2];A=R/'artifacts/original-completion-2026-10-02' +O=A/'p23-02-native-ready-route-local-r304';D=R/'docs/plans/original-completion-2026-10-02' +NAMES=['IMPLEMENTATION_PLAN.md','PROGRESS_INTEGRATION.md','work_packages.json','progress_snapshot.json'] +def mod(name,path): + s=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +def unpack(ref): + raw=subprocess.run(['/opt/homebrew/bin/zstd','-d','-q','-c',ref['path']],capture_output=True,check=True,timeout=10).stdout + assert len(raw)==ref['uncompressed_bytes'] and hashlib.sha256(raw).hexdigest()==ref['uncompressed_sha256'] + return raw +def main(): + r=mod('impact_runner',R/'tools/run_all_tests.py');outer=mod('impact_owned',r.SUPPORT/'owned_outer.py');plan=r.read(O/'input.json') + assert not (O/'execution.json').exists() + fixed=plan['pins'];source=r.source_refs(R);player=r.default_player(R);docs={n:r.sha(D/n) for n in NAMES} + assert source==plan['source_before'] and player==plan['default_before'] and docs==plan['doc4_before'] + stage=Path(plan['stage']);parent=Path(plan['parent']);public=(stage/'project.godot').read_bytes() + def protect(): + assert r.source_refs(R)==source and r.default_player(R)==player and {n:r.sha(D/n) for n in NAMES}==docs + assert r.inventory(parent,stage=True)==plan['expected_stage'] and r.inventory(stage,stage=True)==plan['expected_stage'] + assert r.inventory(r.SUPPORT)==plan['support_inventory'] + for key,q in fixed.items(): + p=Path(q['path']);assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'],key + protect() + review=r.read(Path(fixed['host_review']['path'])) + assert not review['blockers'] and review['host_build_accepted'] + pre=r.read(A/'p23-02-native-ready-route-local-preexecution-independent-review-r304.json') + assert pre['execution_allowed'] and not pre['blockers'] + for group in ('evidence_sha256','canonical_doc4_context_pins'): + for q in pre[group].values(): + p=Path(q['path']);assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'] + root=r.read(O/'preexecution-root-verification.json');assert root['passed'] and root['review_sha256']==r.sha(A/'p23-02-native-ready-route-local-preexecution-independent-review-r304.json') + phases=[];samples=[];error=None;cleanup=[];cleanup_errors=[] + try: + for spec in plan['specs']: + name=spec['name'];protect() + assert not outer.native.helper['live_engines']() and shutil.disk_usage(A).free >= plan['capacity_floor_bytes'] + output=O/(name+'-measurement');output.mkdir();ident=uuid.uuid4().hex + startup='TheTree-PCK-tests-'+ident+'-impact-startup';profile='TheTree-PCK-tests-'+ident+'-impact-runtime' + assert not r.profile_path(startup).exists() and not r.profile_path(profile).exists() + env=r.fresh_environment(os.environ) + env.update(THE_TREE_PACK_PROFILE_NAME=profile,THE_TREE_PACK_PROFILE_EXPECTED=str(r.profile_path(profile)),THE_TREE_PACK_PROFILE_REPORT=str(O/(name+'-profile.json')),THE_TREE_RUNTIME_MONITOR_OUTPUT=str(output),THE_TREE_REPLAY_SNAPSHOT=fixed['fixture']['path'],THE_TREE_CANDIDATE_ORACLE=fixed['oracle']['path'],THE_TREE_PAIRED_CANDIDATE='r302-library303',THE_TREE_PAIRED_SAMPLE=name) + (stage/'project.godot').write_bytes(r.private_project(public,startup));phase=O/name + argv=[fixed['engine']['path'],'--headless','--path',str(stage),'--script',fixed['starter_'+name]['path'],'--verbose','--log-file',str(phase/'engine-native.log')] + result,capture=outer.run_phase(argv,phase,90,env,now_fn=r.now,dump_fn=r.write,sha_fn=r.sha,live_engines_fn=outer.native.helper['live_engines']) + row=dict(name=name,result=result,capture=capture);phases.append(row);r.write(O/(name+'-phase.json'),row) + report_path=output/'report.json';report=r.read(report_path) if report_path.exists() else None + if report is not None:samples.append(dict(name=name,report=report)) + assert result is not None and result['exit_code']==0 and not result['error_lines'] and not result['timed_out'] and capture['passed'] + logs=''.join((phase/n).read_text() for n in ['stdout.log','stderr.log','engine-native.log']) + assert 'Orphan StringName:' not in logs and 'unclaimed string names' not in logs + assert report and report['passed'] and not report['failures'] and report['pid']==result['pid'] and report['checks']==spec['expected_checks'] + assert (phase/'stdout.log').read_text().count(spec['label']+'%d checks, 0 failures'%report['checks'])==1 + assert (phase/'stdout.log').read_text().count('NATIVE_ADAPTER_LIBRARY_REGISTERED')==1 + r.profile_gate(r.profile_path(profile),O/(name+'-profile.json'),profile) + assert report['case_count']==15 and report['ready_route_cases']==8 + unpack(report['ready_route_fixtures']);assert sum(p.stat().st_size for p in O.rglob('*') if p.is_file())<=16*1048576 + unpack(report['fixtures']) + (stage/'project.godot').write_bytes(public);protect() + except BaseException as caught:error=type(caught).__name__+': '+str(caught) + finally: + cleanup,cleanup_errors=outer.finish_captured(outer.OWNED) + if all(q['engine_ended'] is True for q in cleanup):(stage/'project.godot').write_bytes(public) + else:cleanup_errors.append('Restoration refused while actual owned child remains live') + guard_errors=[] + try:protect() + except BaseException as caught:guard_errors.append(type(caught).__name__+': '+str(caught)) + passed=error is None and not guard_errors and not cleanup_errors and len(phases)==1 and len(samples)==1 + r.write(O/'execution.json',dict(passed=passed,error=error,guard_errors=guard_errors,phases=phases,samples=samples,cleanup=cleanup,cleanup_errors=cleanup_errors,input_source_default_doc4_preserved=not guard_errors,candidate_adopted=False,unit_accepted=False,performance_accepted=False,normal_OS_accepted=False,Windows_accepted=False,limitations=['Fifteen original projection boundary fixtures plus8 compact ready-route boundary fixtures compare all typed candidate bytes and entire Runtime plus public Path cache/errors/counters and observer call counts against byte-retained original loop. Synthetic fixtures do not approve new game values or general reentry/provider ownership; ready route cases compare full Runtime and Path state, ownership, typed/readonly, cache and ordered results; invalid shape and mid-call script-change execution remains uncovered. No whole647, performance, final full regression, OS or Windows acceptance.'])) + print(json.dumps(dict(passed=passed,error=error,guard_errors=guard_errors)),flush=True);return 0 if passed else 1 +if __name__=='__main__':raise SystemExit(main()) diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate-guarded.gd b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate-guarded.gd new file mode 100644 index 0000000..5adb203 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate-guarded.gd @@ -0,0 +1,11 @@ +extends "/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd" +const Guard := preload("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd") +func _initialize() -> void: + if not Guard.activate(): quit(97); return + super._initialize() +func run() -> void: + var loaded := GDExtensionManager.load_extension("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate.gdextension") + check(loaded == GDExtensionManager.LOAD_STATUS_OK and ClassDB.class_exists(&"TheTreeNumericCore"), "exact native extension registered before diagnostic") + if loaded != GDExtensionManager.LOAD_STATUS_OK or not ClassDB.class_exists(&"TheTreeNumericCore"): quit(96); return + print("NATIVE_ADAPTER_LIBRARY_REGISTERED") + super.run() diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate.gdextension b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate.gdextension new file mode 100644 index 0000000..7ced8ea --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/candidate.gdextension @@ -0,0 +1,7 @@ +[configuration] +entry_symbol = "tree_numeric_core_init" +compatibility_minimum = "4.7" + +[libraries] +macos.debug.arm64 = "/private/tmp/TheTree-ready-route-r304-3b80863933444e339e087ffc49628c0b/candidate.dylib" +macos.release.arm64 = "/private/tmp/TheTree-ready-route-r304-3b80863933444e339e087ffc49628c0b/candidate.dylib" diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/input.json.gz b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/input.json.gz new file mode 100644 index 0000000..441c310 Binary files /dev/null and b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/input.json.gz differ diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/preexecution-root-verification.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/preexecution-root-verification.json new file mode 100644 index 0000000..9e13438 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-local-r304/preexecution-root-verification.json @@ -0,0 +1,168 @@ +{ + "passed": true, + "review_sha256": "9830e8cc7ab5ceede78951d43818972e5c8b1fe0a7739d385b9d93c449a8288d", + "verified_entries": [ + { + "path": "/Applications/Godot.app/Contents/MacOS/Godot", + "bytes": 351312912, + "sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd", + "bytes": 17582, + "sha256": "92d5e1956f4e613e12555d756de4f71fef03678cde159ac68fac3188ce3f336e" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py", + "bytes": 26296, + "sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd", + "bytes": 2276, + "sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-single-actor-path-native-r03/diagnostic-measurement/checkpoint646.varbytes.zst", + "bytes": 240032, + "sha256": "1a88f7ed27d1d32102c6fe3a9533221d2565191712ed15b631190479d1d41505" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-report-window-trusted-report-one-guest-native-r02/diagnostic-measurement/candidates.varbytes.zst", + "bytes": 1498, + "sha256": "d636067f11f70a82ae7d928d2463bc3c2a4107b1d63d1baaed065c8ef93b87d2" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.gd", + "bytes": 11460, + "sha256": "8a2426704468655b2489234c617d5153f2d2148f4d0aa7a7a39d9e73f8dd39c1" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-guest-pipeline-boundaries-r195.gd", + "bytes": 7571, + "sha256": "410e117b72c9fbabfad7b7ba837403a6ad24c3085b0d221f19974824a3dd7292" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304.py", + "bytes": 7140, + "sha256": "55257a66bcd2cd244f4c31455e77d21e0137924a0833cbc9f2f30902c2a9cca3" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-local-r304.py", + "bytes": 10105, + "sha256": "9ac1d42a5593b7e0ec668cbb53bc03003b827bf84fea2bf5003e6a196a6c0d03" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate-guarded.gd", + "bytes": 1116, + "sha256": "256bb7a392c2b38b049ca0a39cde0a4bbd271b45ff50197bbda97ba4abdbff1a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/candidate.gdextension", + "bytes": 319, + "sha256": "13c4bd2ac8206197095df408b974ba955ecf047ed525119a1651a68195b7bd38" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/libtree_numeric_core.macos.template_debug.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/private/tmp/TheTree-ready-route-r304-3b80863933444e339e087ffc49628c0b/candidate.dylib", + "bytes": 367536, + "sha256": "c7b2eeddc5e429e7413b2e271226bae36e0733f861361011876bc1f962716c74" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-independent-review-r303.json", + "bytes": 21696, + "sha256": "426a51fcf5497e730c992c72c0684528729d76f20eadc7c2b3bb4893aa5e2e29" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-actual-root-verification-r303.json", + "bytes": 12307, + "sha256": "377e780f646facc4d1f9632741ebaba8837ec58ea693642bf07c83518b8d110b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-build-r303/execution.json", + "bytes": 7142, + "sha256": "913097cdce59a505259a1877a61b4328806e223c8759b0fb8a6fc61bb583e088" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/autoload/simulation_runtime.gd", + "bytes": 611530, + "sha256": "b4201726a735e9d979bd1ffae626ecd43ad2b76e4c7d1b51430884609bf2f4dc" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/core/performance_budget.gd", + "bytes": 10355, + "sha256": "742c464d16ab417cbc3c2930d43e508faf5c9f7688da416324ca1150bdb9b6b9" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate.gdextension", + "bytes": 323, + "sha256": "04c4311764ab9d75be3df884f960f0944cd474847fb1ca061224ce4c1bc2aef7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/candidate-guarded.gd", + "bytes": 1118, + "sha256": "ebe45a6ae990ff4f38ba9e2df86a99e83810ee6d65f7b0811d4a02be6a4a8dd6" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04/input.json", + "bytes": 759469, + "sha256": "7f2403a6d4bd1dbff44f246bced74e810bf515f187f65c1a2dd3ef947c0445af" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-local-r278-r04.py", + "bytes": 7138, + "sha256": "567b30c74a7f52127e5cc6de48fe956ba3eb4aaca8b1bd858e6c7c288fd2742f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-local-r304/input.json", + "bytes": 757928, + "sha256": "33867a9f019fd094dd1a848d2ec26d637033a7db26fa5cea17d8ce75d63225de" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + ], + "unit_accepted": false, + "performance_accepted": false +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-independent-review-r302.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-independent-review-r302.json new file mode 100644 index 0000000..0ff9f23 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-independent-review-r302.json @@ -0,0 +1,136 @@ +{ + "schema": 1, + "review": "r302 bounded independent static ready-route reconstruction/cache-copy", + "implementation_supported": true, + "static_accepted": true, + "build_allowed": false, + "execution_allowed": false, + "blockers": [], + "evidence_sha256": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_numeric_core.cpp", + "bytes": 54002, + "sha256": "ce20a90adb8a410dc1b6cbf607b7bfa8bf21eaef158c5c6bfc7a9bbcc703d2b2" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + "/private/tmp/thetree-prepare-ready-route-r302.py": { + "path": "/private/tmp/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-symbol-map-r273-r04/execution.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-symbol-map-r273-r04/execution.json", + "bytes": 239284, + "sha256": "5894ace631e88d5b02e58cfe654af9f140beb6bf032458b516b830e0b643c62a" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-sampling-r272-r03/actual-root-verification.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-sampling-r272-r03/actual-root-verification.json", + "bytes": 25953, + "sha256": "22462a79745aa07629fa30ee7ad2297db4bdefd2c4a340a2fea30fd4e615ec20" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/array.cpp": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/array.cpp", + "bytes": 27906, + "sha256": "ad9ebc6db6a962c817e2dbcee7f9c529dccd042090137e00dcf1a0594696f70b" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/source.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/source.json", + "bytes": 291, + "sha256": "cd89af6dd2258fe71036edf9f92ce6302d823b68c257405e2a56795726e87834" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json", + "bytes": 21552, + "sha256": "54576596f82b8aceca440c1a5514ce811125e977c64c210675feecbb3901929f" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + } + }, + "canonical_doc4_context_pins": { + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json": { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + }, + "verified": { + "mechanical_inverse_changes": 4, + "parent_cpp_full_inverse": true, + "header_byte_exact": true, + "new_public_binding_count": 0, + "retained_global_or_static_engine_state": false + }, + "findings": [ + "Compact translation follows original parent-before-bound evaluation and allows maximum_length+1 reversed entries before termination; negative parent returns goal-only and cycles preserve original truncation/reverse order.", + "Strict BOOL compact, Dictionary indices/adjacency, Array cells, PackedInt64Array parents, INT initial index and Vector3i appended cells protect the native domain. Invalid/missing/noncompact/conversion-shaped values return false before public mutation and invoke original helper at its original call position.", + "Local partial reversed path is discarded on unsupported shape; output is assigned only on success. No helper callback, Time, notification or persistent cache is added inside reconstruction.", + "Each original helper position independently rechecks builtin Path script. Custom paths retain dynamic reconstruct/copy dispatch; post-fallback script changes are rechecked for copy.", + "Engine Array::recursive_duplicate(false) creates fresh ArrayPrivate, retains typed metadata, shares only COW backing and starts writable. For the pre-existing TypedArray route it preserves original _copy_path values/order with independently mutable array storage.", + "Route failure, public cache publication, last reason/cost/error, terminal query and measured signal/clock order remain outside these four changes and are byte unchanged." + ], + "required_local_boundaries": [ + "Compile/link against authenticated SDK then ABI-load existing public nearest/project paths; no new helper API is bound.", + "Normal compact route, start==goal, negative parent goal-only, cycle and maximum bound+1 exact typed order; boundary/missing indices, mismatched parent/cell sizes, conversion-shaped indices/cells and noncompact original fallback.", + "Writable/readonly input trees and route; returned/cache arrays different identity, typed metadata, fresh writable copy, mutation isolation on cache and caller return.", + "Actual custom Path script and callback-induced script/profile/revision changes at nearest/terminal query positions; original fallback dispatch and whole public cache/counters/error/signal snapshots.", + "Finite existing local/golden comparisons and whole647 equality before any performance inference." + ], + "limits": [ + "Static source support only; no compiler, ABI load, native path selection, local/whole equivalence, performance, adoption or unit acceptance is established.", + "Exact resource-path builtin guard retains existing contract; malicious same-path script spoofing, arbitrary concurrent mutation, invalid/freed Objects and general reentry remain unaccepted.", + "Shape guards preserve malformed/conversion/error behavior by original fallback; static review does not accept every original error-generating path.", + "Historical272/273 sample identifies prior-version source locations only and is not current timing or a speed claim.", + "Native direct typed operations still require SDK compilation and finite engine ownership tests; allocation failure behavior has not been exercised." + ], + "reviewer_execution": { + "engine": 0, + "compiler": 0, + "tests": 0, + "validator": 0, + "author": 0, + "existing_edits": 0, + "new_agents": 0 + } +} diff --git a/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-root-verification-r302.json b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-root-verification-r302.json new file mode 100644 index 0000000..0cb9dff --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/checkpoints/native-ready-route-r302-r305/p23-02-native-ready-route-static-root-verification-r302.json @@ -0,0 +1,93 @@ +{ + "passed": true, + "review_sha256": "2bd34186da07d0ce7590036766c55062d303625a554c92949b83d8985f99a618", + "verified_entries": [ + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_numeric_core.cpp", + "bytes": 54002, + "sha256": "ce20a90adb8a410dc1b6cbf607b7bfa8bf21eaef158c5c6bfc7a9bbcc703d2b2" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-candidate-r274/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_numeric_core.cpp", + "bytes": 56783, + "sha256": "5f48ed8738425ee6d381d5302f3a4f6c9cc2da8d02c570a62c91c748cb40fc59" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/source/tree_core.hpp", + "bytes": 3299, + "sha256": "be46852fe55aeee4e18996b4d87222662b031fd1b946977c81092f4d0707e480" + }, + { + "path": "/private/tmp/thetree-prepare-ready-route-r302.py", + "bytes": 6099, + "sha256": "4df2960d3ecfb764c398ecb324cff08d66f07e5d942dbf109465333458b6f9e5" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/world/path_service.gd", + "bytes": 132925, + "sha256": "6b7f4e989ea9b09495f814d8ecb294028d10794005966414bf52640e122b0d17" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-symbol-map-r273-r04/execution.json", + "bytes": 239284, + "sha256": "5894ace631e88d5b02e58cfe654af9f140beb6bf032458b516b830e0b643c62a" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-residual-sampling-r272-r03/actual-root-verification.json", + "bytes": 25953, + "sha256": "22462a79745aa07629fa30ee7ad2297db4bdefd2c4a340a2fea30fd4e615ec20" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/array.cpp", + "bytes": 27906, + "sha256": "ad9ebc6db6a962c817e2dbcee7f9c529dccd042090137e00dcf1a0594696f70b" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-integer-window-codec-array-source-r289/source.json", + "bytes": 291, + "sha256": "cd89af6dd2258fe71036edf9f92ce6302d823b68c257405e2a56795726e87834" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-pure-tag-projection-build-actual-independent-review-r275.json", + "bytes": 21552, + "sha256": "54576596f82b8aceca440c1a5514ce811125e977c64c210675feecbb3901929f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-progress-disposition-r301.json", + "bytes": 58071, + "sha256": "ac64c035130b63ae0a5d0dda247afc5ea07d2c77b57fede7b7558142e5279bfd" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-ready-route-candidate-r302/input.json", + "bytes": 6602, + "sha256": "021180dc82cac96f1468102398a44532cd80271d634bacdd584b8d9f7551639f" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md", + "bytes": 491547, + "sha256": "a308e552d656cbb13f80fddf094bcc4d417193cafd5487693ff9f742fdd5eaf7" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md", + "bytes": 409611, + "sha256": "2dbcf78463a9bc01fe4701ae2d4cd6c2010a32d7c7068f5e7c92383ba57d07ea" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json", + "bytes": 1185667, + "sha256": "06f5f9c37e382c8ec1612962466b837392390b38657a042739b46b8c72d001ce" + }, + { + "path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json", + "bytes": 547774, + "sha256": "b61ae8f18990aab0ea91457907bd73faa07bbcd10f5f8e8fc92e0db47c213c47" + } + ], + "unit_accepted": false, + "performance_accepted": false +}