Preserve unadopted guest need normalization candidates and finite verification

This commit is contained in:
Takeshi
2026-10-12 08:49:28 +09:00
parent f69cb05c07
commit 6a80649a7f
23 changed files with 7130 additions and 0 deletions
@@ -0,0 +1,11 @@
# P23-02 Guest Need normalization r295–r298 checkpoint
レビュー済みの未採用候補と有限検証を保存する。r295 は Need map の正規化を共有する候補で、r296 の実 Godot 局所検証は 1619/0。224 個の Need 境界・キー型・readonly の組合せと追加 7 入力、custom definition callback 2 ケースを検証した。233 行の結果 fixture は原結果と byte 完全一致を独立レビューで確認した。結果の所有、公開状態、入力保持も固定された局所条件で確認している。
r296 の単一 Need helper 2000 回の有限な測定は原 28,461 µs、候補 41,815 µs。代表セーブ、6 Need、whole、安定した性能差の証拠ではない。この観測で速度利益を示しておらず、r295 は未採用。
r298 は同版 Godot 一次ソースに基づき、r295 の共有 guard の全走査を除いた候補。exact service/guest/definition script と Dictionary guard、原 validation、custom fallback、計算・呼出順序を保持する。静的独立レビューのみ支持され、r296 の実行証拠は r298 に適用しない。r298 の実行・whole・性能・採用の判断は未了。r299 は準備中・未実行であり、本 checkpoint に実行証拠として含めない。
現在の実装親 r274/library275 を保持する。正式完了の追加は 0。30 パッケージ / 88 成果単位、正式完了 9 / 着手 19 / 予定 60 の定義を維持する。P23-02 の原 17 条件は未受入。必要な最終全回帰、性能予算、通常 OS 入力、同一 Windows 配布版実機などは残件。手動 Ctrl 保持 wheel と左保持 drag は延期し、免除しない。Windows C08/X8 のみをブロック扱いとする。
manifest.json は原ファイルと保存コピーのサイズ・SHA256 を固定する。大きな JSON は gzip の復元内容を完全一致で検証した。原参照の絶対パスとレビュー時の r294 台帳文脈を保持する。SDK・engine・stage・全実行証拠を備えた単独実行パッケージではなく、完全な証拠はローカル artifacts に残す。親 checkpoints/.gdignore により保存 GDScript を本体の resource 走査から除外する。
@@ -0,0 +1,197 @@
{
"schema": 1,
"unit": "P23-02",
"status": "unadopted_checkpoint",
"formal_completion_added": 0,
"entries": [
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-candidate-r295/input.json",
"bytes": 4366,
"sha256": "f592b9895d9253be9e7f829cd88888fe166e77e00959570f7d4a7f0c3c169489",
"stored_bytes": 4366,
"stored_sha256": "f592b9895d9253be9e7f829cd88888fe166e77e00959570f7d4a7f0c3c169489",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/structural-check.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-candidate-r295/structural-check.json",
"bytes": 211,
"sha256": "20b5510966fce15f43e4682a367666b1e0b1bcfd28042462b10960af0c79a280",
"stored_bytes": 211,
"stored_sha256": "20b5510966fce15f43e4682a367666b1e0b1bcfd28042462b10960af0c79a280",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249",
"stored_bytes": 64563,
"stored_sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-static-independent-review-r295.json",
"bytes": 9244,
"sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8",
"stored_bytes": 9244,
"stored_sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-root-verification-r295.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-static-root-verification-r295.json",
"bytes": 3906,
"sha256": "6b015060efcf7a38773c5495f389fe987ec3eb31867e05721620aa32dd1ea9bd",
"stored_bytes": 3906,
"stored_sha256": "6b015060efcf7a38773c5495f389fe987ec3eb31867e05721620aa32dd1ea9bd",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296.py",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296.py",
"bytes": 5232,
"sha256": "b9059debc1eb3aea9497d5abea646238edec5c73291d170737c29ce9026803eb",
"stored_bytes": 5232,
"stored_sha256": "b9059debc1eb3aea9497d5abea646238edec5c73291d170737c29ce9026803eb",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/input.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/input.json.gz",
"bytes": 968619,
"sha256": "3bba39c1ff62fb59a7b844515072dc322728295c5d7680aef4055af5d10494ee",
"stored_bytes": 227315,
"stored_sha256": "fa574f2b3e464a5bc8929b6ddfe423fb0a80c796f1aef9502b2aa9c9a564754c",
"encoding": "gzip"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/local.gd",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/local.gd",
"bytes": 7048,
"sha256": "bd9cb24e28bc97c0e8f906b6d2b0d60c14964fdaabbac3ac6561334e434ff97f",
"stored_bytes": 7048,
"stored_sha256": "bd9cb24e28bc97c0e8f906b6d2b0d60c14964fdaabbac3ac6561334e434ff97f",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/guarded.gd",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/guarded.gd",
"bytes": 525,
"sha256": "5db64f0527aee0c74d0dff52103aefeec112824faa82137ab78d546979655658",
"stored_bytes": 525,
"stored_sha256": "5db64f0527aee0c74d0dff52103aefeec112824faa82137ab78d546979655658",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/custom_definition.gd",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/custom_definition.gd",
"bytes": 281,
"sha256": "d29c18196c89452a0ba6db8ec17d0ac2e75be2b6092533c734288230bc44f0c7",
"stored_bytes": 281,
"stored_sha256": "d29c18196c89452a0ba6db8ec17d0ac2e75be2b6092533c734288230bc44f0c7",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/original_guest_service.gd",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/original_guest_service.gd",
"bytes": 61426,
"sha256": "a70362ac6326266573a873319146d50a540829b751ad4c07746937fef85f5193",
"stored_bytes": 61426,
"stored_sha256": "a70362ac6326266573a873319146d50a540829b751ad4c07746937fef85f5193",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/execution.json",
"bytes": 10788,
"sha256": "d01a859ce75a18084cbec7a081c906e267d1e8c7a42bce55e2539dd3a7ede8c3",
"stored_bytes": 10788,
"stored_sha256": "d01a859ce75a18084cbec7a081c906e267d1e8c7a42bce55e2539dd3a7ede8c3",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/actual-root-verification.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/actual-root-verification.json",
"bytes": 10454,
"sha256": "6d9dc235ac63d6629e4375e5b75516f522f47d4d491b40cda790da14fa65f4fe",
"stored_bytes": 10454,
"stored_sha256": "6d9dc235ac63d6629e4375e5b75516f522f47d4d491b40cda790da14fa65f4fe",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-preexecution-independent-review-r296.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-preexecution-independent-review-r296.json",
"bytes": 11638,
"sha256": "dc2662c7f9b92de16e9d4d97daf86d3a2eb537f2587cc76946d77e7021907071",
"stored_bytes": 11638,
"stored_sha256": "dc2662c7f9b92de16e9d4d97daf86d3a2eb537f2587cc76946d77e7021907071",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-actual-independent-review-r296.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-actual-independent-review-r296.json",
"bytes": 19007,
"sha256": "ce06bfe9156ed8e1c9ec53519d6cc52b26c963ca0e8b4a263ff70d1a1abf9a23",
"stored_bytes": 19007,
"stored_sha256": "ce06bfe9156ed8e1c9ec53519d6cc52b26c963ca0e8b4a263ff70d1a1abf9a23",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/input.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-candidate-r298/input.json",
"bytes": 11472,
"sha256": "3e2eaa147e365a74145224d8995bade5b44528d59b5508dc159458555081ed99",
"stored_bytes": 11472,
"stored_sha256": "3e2eaa147e365a74145224d8995bade5b44528d59b5508dc159458555081ed99",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/source/guest_service.gd",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-candidate-r298/source/guest_service.gd",
"bytes": 63639,
"sha256": "5895d5da6488c767685b109ef01f9e2b57f41272d49cc9e3c415865769adc11d",
"stored_bytes": 63639,
"stored_sha256": "5895d5da6488c767685b109ef01f9e2b57f41272d49cc9e3c415865769adc11d",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r298.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-static-independent-review-r298.json",
"bytes": 17223,
"sha256": "940dd5f51b55942f07ef7ad091ec557af4d0d7bb07d48c08b6a98bde570f32b2",
"stored_bytes": 17223,
"stored_sha256": "940dd5f51b55942f07ef7ad091ec557af4d0d7bb07d48c08b6a98bde570f32b2",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-root-verification-r298.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-static-root-verification-r298.json",
"bytes": 9067,
"sha256": "e6f83f624358270199fb6a0d3236db0e20da614443514cba04d66995a671de42",
"stored_bytes": 9067,
"stored_sha256": "e6f83f624358270199fb6a0d3236db0e20da614443514cba04d66995a671de42",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/report.json",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/measurement/report.json",
"bytes": 1128,
"sha256": "fcf08d05ca7109beed8e0c4fc75f422baab72a515467e09debf58c812fb0689d",
"stored_bytes": 1128,
"stored_sha256": "fcf08d05ca7109beed8e0c4fc75f422baab72a515467e09debf58c812fb0689d",
"encoding": "identity"
},
{
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/evaluation-fixtures.varbytes.zst",
"checkpoint": "docs/plans/original-completion-2026-10-02/checkpoints/guest-need-normalization-r295-r298/p23-02-guest-need-normalization-local-r296/measurement/evaluation-fixtures.varbytes.zst",
"bytes": 3540,
"sha256": "c21dad1a71f30a2c8d4cab558bbfb4543f2daca4487b1fbdbcbb1b1a97b9143d",
"stored_bytes": 3540,
"stored_sha256": "c21dad1a71f30a2c8d4cab558bbfb4543f2daca4487b1fbdbcbb1b1a97b9143d",
"encoding": "identity"
}
]
}
@@ -0,0 +1,59 @@
{
"scope": "Source-only guarded reuse of one normalized Need map within exact builtin evaluate_candidate; no production/stage edit or execution",
"parent": "r274/library275",
"pins": {
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd",
"bytes": 61414,
"sha256": "56880410e9a00816f9a95d30821982955532de8dd976980934e12016a9f2b21e"
},
"/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-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-integer-window-codec-impact-whole-r293-r04/execution.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-integer-window-codec-impact-whole-r293-r04/execution.json",
"bytes": 33451,
"sha256": "44d6c26b797a99e7729d1eb77e725330b2b95bd643876eb41cd11237f2488848"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-residual-diagnostic-actual-independent-review-r238.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-residual-diagnostic-actual-independent-review-r238.json",
"bytes": 36734,
"sha256": "e41634755f116006c91ad251b48eb8b71286a53a6a687d6f371366f3140cc66d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd",
"bytes": 9374,
"sha256": "082aa3f33b9cb17daf10a2cf8a1dece7b79dd80c2ae21e1a424d1b2ceb52b918"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd",
"bytes": 14267,
"sha256": "57ba99e5d977b5302987f4359a19056f1ab09c8fb7e4762ee8d79cbb9316741a"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
}
},
"original_evaluation_validation_and_order_preserved": true,
"weights_thresholds_prices_rng_tick_save_changed": false,
"compiler_runs": 0,
"engine_runs": 0,
"candidate_adopted": false,
"unit_accepted": false,
"required_next": [
"independent static review",
"parse and exact builtin/fallback helper/callback boundary equivalence",
"full raw ranked candidate and guest decision/Runtime equality",
"impact and whole same-final-version validation",
"performance gain qualification before adoption"
]
}
@@ -0,0 +1,8 @@
{
"inverse_original_byteexact": true,
"three_pure_loop_bodies_byteexact": true,
"parser_executed": false,
"runtime_equivalence_accepted": false,
"production_stage_edits": 0,
"unit_accepted": false
}
@@ -0,0 +1,133 @@
{
"pins": {
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/source/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/source/guest_service.gd",
"bytes": 63639,
"sha256": "5895d5da6488c767685b109ef01f9e2b57f41272d49cc9e3c415865769adc11d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json",
"bytes": 9244,
"sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-actual-independent-review-r296.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-actual-independent-review-r296.json",
"bytes": 19007,
"sha256": "ce06bfe9156ed8e1c9ec53519d6cc52b26c963ca0e8b4a263ff70d1a1abf9a23"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/actual-root-verification.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/actual-root-verification.json",
"bytes": 10454,
"sha256": "6d9dc235ac63d6629e4375e5b75516f522f47d4d491b40cda790da14fa65f4fe"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json",
"bytes": 10788,
"sha256": "d01a859ce75a18084cbec7a081c906e267d1e8c7a42bce55e2539dd3a7ede8c3"
},
"/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/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd",
"bytes": 9374,
"sha256": "082aa3f33b9cb17daf10a2cf8a1dece7b79dd80c2ae21e1a424d1b2ceb52b918"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd",
"bytes": 14267,
"sha256": "57ba99e5d977b5302987f4359a19056f1ab09c8fb7e4762ee8d79cbb9316741a"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp",
"bytes": 94629,
"sha256": "4af0a620aa59d2376d1b35ab201f26edd352f056c908b970890ad9a3449bb5c0"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp.source.json",
"bytes": 278,
"sha256": "dfce2e51d892ac01b198055551cc899c06aa1b9962f20bca687dbb1c31e2bd9d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h",
"bytes": 34956,
"sha256": "3d7d7c8bdc02d4ac73d06b16f487a9ba0f9a188c854ab0befc57b98f807523b2"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h.source.json",
"bytes": 276,
"sha256": "42d0b1ef9b9f5329029e4250cc97533bd800ccfea2fa18d6586c21f7973009af"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp",
"bytes": 19030,
"sha256": "51e8ebbbffb9c65959aa4c86f7dd1a21ed121ef82706996893743de077c82645"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp.source.json",
"bytes": 288,
"sha256": "7aed774b87af26bf775abeaa63a22df93cb1552398cc52ca3230800b1abdd555"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h",
"bytes": 25252,
"sha256": "e6aecba36f8ff90af382427fb6be8b69e161583cffba7751b2c2ffdfa5e632c9"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h.source.json",
"bytes": 286,
"sha256": "e7c85dca32c621dd842706fe0851e74a63e288848b4055ca895d657059bcc312"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp",
"bytes": 27721,
"sha256": "13eb030c2e59ac0e7060852949bf5b7a62624e31474b781d89e72515410daa7d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp.source.json",
"bytes": 281,
"sha256": "032aaf8bb193500745770c940088a2223c1f3f6bb9f8edf6300693bb3e26fc7b"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp",
"bytes": 62857,
"sha256": "e3f73e1df096bedd4856e29227b302f879d0520c66718467338556b589f685c9"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp.source.json",
"bytes": 276,
"sha256": "f3002c603869280c99e5efc5f1e923258726c48c404571af34ba6f3bdc009cd2"
}
},
"scope": "Only replace r295 sharing guard, retains original pure computation/return order. Exact builtin service/guest/definition guards unchanged; no retained cache.",
"parent": "r274/library275 native plus unadopted295 GDScript refinement",
"removed_guards_basis": [
"Variant::_to_int and int constructors use scalar conversions; no Object/custom callback invoked",
"StringName constructor registrations and strict conversion selection do not invoke custom Object stringify",
"Dictionary::duplicate(true) uses RESOURCE_DEEP_DUPLICATE_NONE; nested Objects/Resources are returned unchanged by recursive_duplicate",
"Exact service/guest/definition checks retain custom properties/preference/helper dynamic fallback",
"Original Need map validation remains before sharing; shared map contains only validated INT scalar values"
],
"r296_scope": "Accepted local231+2/1619 only, initial guard single-Need 2000calls 28461->41815us not performance gain or representative tick. Static298 and modified local/whole verification required; old result does not validate expanded guard.",
"inverse_parent_byteexact": true,
"source_edits": 0,
"stage_edits": 0,
"engine_runs": 0,
"compiler_runs": 0,
"unit_accepted": false,
"candidate_adopted": false,
"unverified": [
"independent static callback/conversion/duplication proof",
"actual parse and expanded-guard local equivalence",
"new same-template helper observations including full-six Need map without extrapolating budget",
"original impact and whole same-version equality",
"full final regression and all17 acceptance conditions"
]
}
@@ -0,0 +1,249 @@
{
"review_id": "p23-02-guest-need-normalization-local-actual-independent-review-r296",
"finite_local_equivalence_accepted": true,
"finite_callback_fallback_equivalence_accepted": true,
"finite_exit_observation_accepted": true,
"blockers": [],
"evidence_sha256": {
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd",
"bytes": 61414,
"sha256": "56880410e9a00816f9a95d30821982955532de8dd976980934e12016a9f2b21e"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/original_guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/original_guest_service.gd",
"bytes": 61426,
"sha256": "a70362ac6326266573a873319146d50a540829b751ad4c07746937fef85f5193"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/custom_definition.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/custom_definition.gd",
"bytes": 281,
"sha256": "d29c18196c89452a0ba6db8ec17d0ac2e75be2b6092533c734288230bc44f0c7"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/local.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/local.gd",
"bytes": 7048,
"sha256": "bd9cb24e28bc97c0e8f906b6d2b0d60c14964fdaabbac3ac6561334e434ff97f"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/guarded.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/guarded.gd",
"bytes": 525,
"sha256": "5db64f0527aee0c74d0dff52103aefeec112824faa82137ab78d546979655658"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py",
"bytes": 26296,
"sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/regression/owned_outer.py": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/regression/owned_outer.py",
"bytes": 4177,
"sha256": "c2e3483b76db1a3ff940f23f88ea0083fc78736e874ebcdb385d766dde8866e7"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json",
"bytes": 9244,
"sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json",
"bytes": 4366,
"sha256": "f592b9895d9253be9e7f829cd88888fe166e77e00959570f7d4a7f0c3c169489"
},
"/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/とりにく工房ゲーム制作部/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"
},
"/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-guest-need-normalization-local-r296.py": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296.py",
"bytes": 5232,
"sha256": "b9059debc1eb3aea9497d5abea646238edec5c73291d170737c29ce9026803eb"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-preexecution-independent-review-r296.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-preexecution-independent-review-r296.json",
"bytes": 11638,
"sha256": "dc2662c7f9b92de16e9d4d97daf86d3a2eb537f2587cc76946d77e7021907071"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/input.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/input.json",
"bytes": 968619,
"sha256": "3bba39c1ff62fb59a7b844515072dc322728295c5d7680aef4055af5d10494ee"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/preexecution-root-verification.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/preexecution-root-verification.json",
"bytes": 5516,
"sha256": "9877abcde2f6fa06aeaa81a8a8d6b8a5b06bb7db8012bbe321f9cf8e106a8f12"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json",
"bytes": 10788,
"sha256": "d01a859ce75a18084cbec7a081c906e267d1e8c7a42bce55e2539dd3a7ede8c3"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/profile.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/profile.json",
"bytes": 907,
"sha256": "f52b9cc1f3642a8b150c97a40f2cf3cd9a80c793cba5a6693811369294a50a64"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/phase.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/phase.json",
"bytes": 8097,
"sha256": "5ea3de68f87dda0fa0793e2d87428990645d61fa70cba14e44b8fb4d73c6f3b9"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/evaluation-fixtures.varbytes.zst": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/evaluation-fixtures.varbytes.zst",
"bytes": 3540,
"sha256": "c21dad1a71f30a2c8d4cab558bbfb4543f2daca4487b1fbdbcbb1b1a97b9143d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/report.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/report.json",
"bytes": 1128,
"sha256": "fcf08d05ca7109beed8e0c4fc75f422baab72a515467e09debf58c812fb0689d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/stderr.log": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/ended.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/ended.json",
"bytes": 1772,
"sha256": "63f84a8e05af97d63b2a37ed47e1075263b1b8fe51190ff14f934f24149c3919"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/adapter-owned-cleanup.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/adapter-owned-cleanup.json",
"bytes": 351,
"sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/engine-native.log": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/engine-native.log",
"bytes": 7725,
"sha256": "067ea4cc50ac8e60720e8e58d4e83729afd1574522b290e8127a030eca581c1c"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/stdout.log": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/stdout.log",
"bytes": 7875,
"sha256": "f9e15b96bce11af6984f0562320758063cdcc880b237b802f09de863d616d839"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/started.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/started.json",
"bytes": 2392,
"sha256": "25d185b097982970d1d089fc6f45edcf97b461035e3c326d171922b3b1758384"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/process.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/process.json",
"bytes": 6661,
"sha256": "4ddf96836dc928b532bb708f81b6798705e314aac4b3369d068a5ac93cbf633b"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/outer-owned-finally.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/outer-owned-finally.json",
"bytes": 964,
"sha256": "13c2101303504e43e70f76c53389ef9894e4dd801a6de2939738f5e858eac729"
},
"/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"
}
},
"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": 492299,
"sha256": "61776f0673770277ab6d182107337ed40a108ff3b5ab2c1a8f29fc4f2c3015ad"
},
"/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": 410363,
"sha256": "8b0488910dba35b34da96d7062b9a69d293e70a1963c9c5890ec32b2891baaea"
},
"/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": 1184337,
"sha256": "32d80e911910bc762287dc3ddf0ee0ea3072ca2f0158aa2f9f355b9202cfdfeb"
},
"/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": 539512,
"sha256": "b417ee1b945dfe4666f3a2f3501f906756826ea88d741bb116f3dd20250c8958"
}
},
"observations": {
"engine_pid": 44204,
"owned_normal_exit_code": 0,
"checks": 1619,
"failures": 0,
"cases": 231,
"callback_cases": 2,
"typed_record_rows": 233,
"whole_raw_bytes": 408484,
"whole_raw_sha256": "ae97195121e2def68615caf2b0cb3bda59a130097ef34cb9656c75ac387b7343",
"finitecodec": {
"nodes": 28007,
"headers": {
"28": 676,
"27": 2078,
"4": 1288,
"21": 13636,
"65538": 288,
"2": 10028,
"0": 1,
"1": 8,
"3": 4
},
"file_envelope_bytes": 0,
"all_bytes_roundtrip": true
},
"independent_paired_full_span_equal": 233,
"private_profile_conditions": 5,
"original_service_full_body_baseline": "Only class_name renamed; original body authenticated by accepted preexecution proof and matching pin.",
"actual_loaded_scope": "r295 GDScript GuestService finite evaluate/rank, not new native ABI/library acceptance.",
"script_parse_and_listed_paths_observed": true,
"input_and_state_observation": "Pinned QA passed full service snapshot/error/input comparisons and 224 actual nested-readonly checks. Readonly/alias flags are QA assertions, not independently encoded flags in Variant byte archive. Returned fresh Dictionary checked 231 times.",
"microbenchmark": {
"input_index": 50,
"need_map_entries": 1,
"calls_each": 2000,
"original_us": 28461,
"candidate_us": 41815,
"fixed_order": [
"original",
"candidate"
],
"performance_accepted": false
}
},
"scope_limits": [
"233 stored expected/actual ordered typed result spans independently match all bytes; full snapshots/errors/input preservation and guard selection are evidenced by passing pinned QA assertions, not additional snapshot records in this archive.",
"Two custom preference cases genuinely mutate guest.needs and nested candidate relief, including explicit preference eager-default dispatch, with original fallback results and state equality. This is not general reentry or arbitrary custom override acceptance.",
"Inputs[50] is one Need map, not representative six-map workload; one-process fixed-order 2000-call microbenchmark is not whole tick, stable benefit/regression, pure CPU, P95/D10 or 50ms budget evidence.",
"No whole647/full172/normal OS/same-version Windows/performance/adoption/unit completion acceptance. Candidate remains unadopted.",
"16MiB output restriction is post-phase, not live peak."
],
"reviewer_execution": {
"engine": 0,
"compiler": 0,
"tests": 0,
"validator": 0,
"author": 0,
"new_agents": 0,
"existing_edits": 0,
"external_zstd_read_only": 1,
"finite_codec_read_only": 1
}
}
@@ -0,0 +1,155 @@
{
"review_id": "p23-02-guest-need-normalization-local-preexecution-independent-review-r296",
"execution_allowed": true,
"blockers": [],
"evidence_sha256": {
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd",
"bytes": 61414,
"sha256": "56880410e9a00816f9a95d30821982955532de8dd976980934e12016a9f2b21e"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/original_guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/original_guest_service.gd",
"bytes": 61426,
"sha256": "a70362ac6326266573a873319146d50a540829b751ad4c07746937fef85f5193"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/custom_definition.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/custom_definition.gd",
"bytes": 281,
"sha256": "d29c18196c89452a0ba6db8ec17d0ac2e75be2b6092533c734288230bc44f0c7"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/local.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/local.gd",
"bytes": 7048,
"sha256": "bd9cb24e28bc97c0e8f906b6d2b0d60c14964fdaabbac3ac6561334e434ff97f"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/guarded.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/guarded.gd",
"bytes": 525,
"sha256": "5db64f0527aee0c74d0dff52103aefeec112824faa82137ab78d546979655658"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py",
"bytes": 26296,
"sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/regression/owned_outer.py": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/regression/owned_outer.py",
"bytes": 4177,
"sha256": "c2e3483b76db1a3ff940f23f88ea0083fc78736e874ebcdb385d766dde8866e7"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json",
"bytes": 9244,
"sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json",
"bytes": 4366,
"sha256": "f592b9895d9253be9e7f829cd88888fe166e77e00959570f7d4a7f0c3c169489"
},
"/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/とりにく工房ゲーム制作部/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"
},
"/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-guest-need-normalization-local-r296.py": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296.py",
"bytes": 5232,
"sha256": "b9059debc1eb3aea9497d5abea646238edec5c73291d170737c29ce9026803eb"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/input.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/input.json",
"bytes": 968619,
"sha256": "3bba39c1ff62fb59a7b844515072dc322728295c5d7680aef4055af5d10494ee"
}
},
"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": 492299,
"sha256": "61776f0673770277ab6d182107337ed40a108ff3b5ab2c1a8f29fc4f2c3015ad"
},
"/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": 410363,
"sha256": "8b0488910dba35b34da96d7062b9a69d293e70a1963c9c5890ec32b2891baaea"
},
"/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": 1184337,
"sha256": "32d80e911910bc762287dc3ddf0ee0ea3072ca2f0158aa2f9f355b9202cfdfeb"
},
"/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": 539512,
"sha256": "b417ee1b945dfe4666f3a2f3501f906756826ea88d741bb116f3dd20250c8958"
}
},
"allowed_scope": "One bounded owned headless engine, original class-name-only baseline versus transient r295 GuestService; restore original GuestService/project after child termination. No compiler, clone, adoption or whole execution.",
"independent_derivation": {
"enumerated_builtin_cases": 224,
"additional_cases": 7,
"candidate_cases": 231,
"callback_cases": 2,
"checks": {
"setup": 4,
"builtin_comparisons": 1120,
"additional_comparisons": 28,
"rank": 1,
"custom_callback": 10,
"actual_nested_readonly": 224,
"fresh_return": 231,
"exclusive_typed": 1,
"total": 1619
},
"starter_assertions": 0,
"inventory_files_each": 1299,
"transient_inventory_difference": [
"scripts/guest/guest_service.gd"
],
"baseline_body_exact_inverse": true,
"capacity_free_bytes_observed": 1255604224,
"floor_bytes": 536870912,
"admission_bytes": 553648128
},
"verified_controls": [
"Original class_name is the only baseline change; full evaluate and other methods remain byte-identical. Candidate source and static review pins match.",
"224 canonical map fixtures independently restore nested readonly after duplicate(true); 7 additional fixtures cover scalar/invalid/float/explicit/alias spellings. No count assumes a registration assertion in the Guard starter.",
"CustomDefinition inherits a Resource definition with no autoload-dependent startup references; preference_for performs real needs and nested relief mutation; eager default call must execute once even with explicit preference.",
"Snapshot/input/ordered return comparisons, fresh returned Dictionary checks and one ranked tie/order comparison remain asserted.",
"QA inherits deferred synchronous run; no coroutine super.run issue. Typed archive exclusive check occurs before report construction. Guard activates private runtime profile before deferred evaluation.",
"Driver validates preexecution pins and bound root SHA, exact source/default/current docs/SUPPORT/shared and immutable parent, 512MiB floor plus 16MiB admission, no live foreign engine before patch, owned90s capture/strict error logs/private5/orphan rejection. Restoration in finally requires all captured engines ended; final full integrity protection."
],
"inference_limits": [
"Textual GDScript syntax/type review is not actual parse execution; isolated engine may still reject types and must retain failure evidence.",
"One process 2000 evaluations per side is a helper microbenchmark only, fixed original-first order; no stable gain, whole tick, pure CPU, P95/D10 or 50ms inference.",
"16MiB output budget is checked after phase, not enforced as live peak. Capacity acceptance is observation-specific and runtime admission remains mandatory.",
"Finite callback covers custom definition preference mutation; arbitrary service/guest override, concurrent mutation, malicious same-path resource replacement and generic reentry remain unaccepted.",
"No whole647/final172/normal OS/same-version Windows/performance/adoption/unit acceptance."
],
"reviewer_execution": {
"engine": 0,
"compiler": 0,
"tests": 0,
"validator": 0,
"author": 0,
"existing_edits": 0,
"new_agents": 0
}
}
@@ -0,0 +1,43 @@
# coding: utf-8
from pathlib import Path
import hashlib,importlib.util,json,os,shutil,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-guest-need-normalization-local-r296'
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 main():
r=mod('r296',R/'tools/run_all_tests.py');outer=mod('outer296',r.SUPPORT/'owned_outer.py');plan=r.read(O/'input.json');assert not (O/'execution.json').exists()
prepath=A/'p23-02-guest-need-normalization-local-preexecution-independent-review-r296.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():
p=Path(q.get('path',key));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(prepath)
stage=Path(plan['stage']);parent=Path(plan['parent']);guest=Path(plan['guest_source']);original=guest.read_bytes();modified=Path(plan['modified_guest']).read_bytes();public=(stage/'project.godot').read_bytes();patched=False
def protect():
assert r.source_refs(R)==plan['source_before'] and r.default_player(R)==plan['default_before'];assert {n:r.sha(D/n) for n in plan['doc4_before']}==plan['doc4_before'];assert r.inventory(r.SUPPORT)==plan['support_inventory']
assert r.inventory(parent,stage=True)==plan['expected_stage'];assert r.inventory(stage,stage=True)==(plan['patched_stage'] if patched else plan['expected_stage'])
for key,q in plan['pins'].items():
p=Path(q['path'])
if p==guest:assert p.read_bytes()==(modified if patched else original)
else:assert p.stat().st_size==q['bytes'] and r.sha(p)==q['sha256'],key
protect();assert not outer.native.helper['live_engines']();assert shutil.disk_usage(A).free>=plan['capacity_floor_bytes']+plan['output_budget_bytes']
error=None;phase=None;report=None;cleanup=[];cleanup_errors=[]
try:
guest.write_bytes(modified);patched=True;protect();output=O/'measurement';output.mkdir();ident=uuid.uuid4().hex;startup='TheTree-PCK-tests-'+ident+'-needs-startup';profile='TheTree-PCK-tests-'+ident+'-needs-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/'profile.json'),THE_TREE_RUNTIME_MONITOR_OUTPUT=str(output))
(stage/'project.godot').write_bytes(r.private_project(public,startup));argv=[plan['engine_path'],'--headless','--path',str(stage),'--script',str(O/'guarded.gd'),'--verbose','--log-file',str(O/'engine/engine-native.log')]
result,capture=outer.run_phase(argv,O/'engine',plan['timeout_seconds'],env,now_fn=r.now,dump_fn=r.write,sha_fn=r.sha,live_engines_fn=outer.native.helper['live_engines']);phase=dict(result=result,capture=capture);r.write(O/'phase.json',phase)
rp=output/'report.json';report=r.read(rp) if rp.exists() else None;assert result and result['exit_code']==0 and not result['error_lines'] and not result['timed_out'] and capture['passed'];assert report and report['passed'] and not report['failures'] and report['checks']==plan['expected_checks'] and report['cases']==plan['local_cases'] and report['callback_cases']==2 and report['pid']==result['pid']
logs=''.join((O/'engine'/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;r.profile_gate(r.profile_path(profile),O/'profile.json',profile)
assert sum(p.stat().st_size for p in O.rglob('*') if p.is_file())<=plan['output_budget_bytes'];(stage/'project.godot').write_bytes(public);guest.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):guest.write_bytes(original);patched=False;(stage/'project.godot').write_bytes(public)
else:cleanup_errors.append('Restoration refused while owned child remains live')
guard_errors=[]
try:assert guest.read_bytes()==original and not patched;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 phase is not None and report is not None
r.write(O/'execution.json',dict(passed=passed,error=error,guard_errors=guard_errors,phase=phase,report=report,cleanup=cleanup,cleanup_errors=cleanup_errors,source_default_doc4_support_stage_preserved=not guard_errors,guest_project_restored_byteexact=not patched,compiler_runs=0,unit_accepted=False,performance_accepted=False,candidate_adopted=False));print(json.dumps(dict(passed=passed,error=error,guard_errors=guard_errors,timings=report.get('timings') if report else None)),flush=True);return 0 if passed else 1
if __name__=='__main__':raise SystemExit(main())
@@ -0,0 +1,183 @@
{
"passed": true,
"review_sha256": "ce06bfe9156ed8e1c9ec53519d6cc52b26c963ca0e8b4a263ff70d1a1abf9a23",
"verified_entries": [
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd",
"bytes": 61414,
"sha256": "56880410e9a00816f9a95d30821982955532de8dd976980934e12016a9f2b21e"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/original_guest_service.gd",
"bytes": 61426,
"sha256": "a70362ac6326266573a873319146d50a540829b751ad4c07746937fef85f5193"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/custom_definition.gd",
"bytes": 281,
"sha256": "d29c18196c89452a0ba6db8ec17d0ac2e75be2b6092533c734288230bc44f0c7"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/local.gd",
"bytes": 7048,
"sha256": "bd9cb24e28bc97c0e8f906b6d2b0d60c14964fdaabbac3ac6561334e434ff97f"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/guarded.gd",
"bytes": 525,
"sha256": "5db64f0527aee0c74d0dff52103aefeec112824faa82137ab78d546979655658"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/run_all_tests.py",
"bytes": 26296,
"sha256": "320ca668732b4ff72fc4449998af2327d4e5c527b06896740806aaf0487282b4"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/tools/regression/owned_outer.py",
"bytes": 4177,
"sha256": "c2e3483b76db1a3ff940f23f88ea0083fc78736e874ebcdb385d766dde8866e7"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json",
"bytes": 9244,
"sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json",
"bytes": 4366,
"sha256": "f592b9895d9253be9e7f829cd88888fe166e77e00959570f7d4a7f0c3c169489"
},
{
"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/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-cache-public-mutations-r144/profile_guard.gd",
"bytes": 2276,
"sha256": "597696c705cc8f0e79a35265ca3ef8df55f7fc3c4e0e5a2ce9a4e20e29e29a6f"
},
{
"path": "/Applications/Godot.app/Contents/MacOS/Godot",
"bytes": 351312912,
"sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296.py",
"bytes": 5232,
"sha256": "b9059debc1eb3aea9497d5abea646238edec5c73291d170737c29ce9026803eb"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-preexecution-independent-review-r296.json",
"bytes": 11638,
"sha256": "dc2662c7f9b92de16e9d4d97daf86d3a2eb537f2587cc76946d77e7021907071"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/input.json",
"bytes": 968619,
"sha256": "3bba39c1ff62fb59a7b844515072dc322728295c5d7680aef4055af5d10494ee"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/preexecution-root-verification.json",
"bytes": 5516,
"sha256": "9877abcde2f6fa06aeaa81a8a8d6b8a5b06bb7db8012bbe321f9cf8e106a8f12"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json",
"bytes": 10788,
"sha256": "d01a859ce75a18084cbec7a081c906e267d1e8c7a42bce55e2539dd3a7ede8c3"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/profile.json",
"bytes": 907,
"sha256": "f52b9cc1f3642a8b150c97a40f2cf3cd9a80c793cba5a6693811369294a50a64"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/phase.json",
"bytes": 8097,
"sha256": "5ea3de68f87dda0fa0793e2d87428990645d61fa70cba14e44b8fb4d73c6f3b9"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/evaluation-fixtures.varbytes.zst",
"bytes": 3540,
"sha256": "c21dad1a71f30a2c8d4cab558bbfb4543f2daca4487b1fbdbcbb1b1a97b9143d"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/report.json",
"bytes": 1128,
"sha256": "fcf08d05ca7109beed8e0c4fc75f422baab72a515467e09debf58c812fb0689d"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/stderr.log",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/ended.json",
"bytes": 1772,
"sha256": "63f84a8e05af97d63b2a37ed47e1075263b1b8fe51190ff14f934f24149c3919"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/adapter-owned-cleanup.json",
"bytes": 351,
"sha256": "c1f3d289b362cc61b9be169a3994be27df39f35e6221881b4a9678ce3c72ba54"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/engine-native.log",
"bytes": 7725,
"sha256": "067ea4cc50ac8e60720e8e58d4e83729afd1574522b290e8127a030eca581c1c"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/stdout.log",
"bytes": 7875,
"sha256": "f9e15b96bce11af6984f0562320758063cdcc880b237b802f09de863d616d839"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/started.json",
"bytes": 2392,
"sha256": "25d185b097982970d1d089fc6f45edcf97b461035e3c326d171922b3b1758384"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/process.json",
"bytes": 6661,
"sha256": "4ddf96836dc928b532bb708f81b6798705e314aac4b3369d068a5ac93cbf633b"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/outer-owned-finally.json",
"bytes": 964,
"sha256": "13c2101303504e43e70f76c53389ef9894e4dd801a6de2939738f5e858eac729"
},
{
"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/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md",
"bytes": 492299,
"sha256": "61776f0673770277ab6d182107337ed40a108ff3b5ab2c1a8f29fc4f2c3015ad"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md",
"bytes": 410363,
"sha256": "8b0488910dba35b34da96d7062b9a69d293e70a1963c9c5890ec32b2891baaea"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json",
"bytes": 1184337,
"sha256": "32d80e911910bc762287dc3ddf0ee0ea3072ca2f0158aa2f9f355b9202cfdfeb"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json",
"bytes": 539512,
"sha256": "b417ee1b945dfe4666f3a2f3501f906756826ea88d741bb116f3dd20250c8958"
}
],
"unit_accepted": false,
"performance_accepted": false
}
@@ -0,0 +1,9 @@
extends "res://scripts/guest/guest_definition.gd"
var watched_guest: Variant
var watched_candidate: Dictionary
var calls := 0
func preference_for(_tags: Variant) -> int:
calls += 1
watched_guest.needs[&"hunger"] = 99
watched_candidate[&"need_relief"][&"hunger"] = 80
return 13
@@ -0,0 +1,262 @@
{
"passed": true,
"error": null,
"guard_errors": [],
"phase": {
"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-guest-need-normalization-local-r296/guarded.gd",
"--verbose",
"--log-file",
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/engine-native.log"
],
"pid": 44204,
"started_utc": "2026-10-11T23:34:52.715973+00:00",
"ended_utc": "2026-10-11T23:34:54.109697+00:00",
"wall_seconds": 1.393236333,
"exit_code": 0,
"helper_exit_code": 0,
"timed_out": false,
"stdout_sha256": "f9e15b96bce11af6984f0562320758063cdcc880b237b802f09de863d616d839",
"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": 44204,
"owner_pid": 44180,
"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-guest-need-normalization-local-r296/guarded.gd",
"--verbose",
"--log-file",
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/engine-native.log"
],
"monotonic_ns": 2578288416,
"pid": 44204,
"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-guest-need-normalization-local-r296/guarded.gd",
"--verbose",
"--log-file",
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/engine-native.log"
],
"started_utc": "2026-10-11T23:34:52.715973+00:00",
"current_process_identity": {
"pid": 44204,
"ppid": 44180,
"pgid": 44204,
"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-guest-need-normalization-local-r296/guarded.gd --verbose --log-file /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/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": 44204,
"owner_pid": 44180,
"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-guest-need-normalization-local-r296/guarded.gd",
"--verbose",
"--log-file",
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/engine-native.log"
],
"monotonic_ns": 3964880666,
"exit_code": 0,
"actual_process_exit_code": 0,
"engine_ended": true,
"timed_out": false,
"lifecycle_error": null,
"start_receipt_written": true,
"pid": 44204,
"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-guest-need-normalization-local-r296/guarded.gd",
"--verbose",
"--log-file",
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/engine/engine-native.log"
],
"ended_utc": "2026-10-11T23:34:54.107599+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": [
44204
],
"cleanup": [
{
"pid": 44204,
"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
}
},
"report": {
"callback_cases": 2,
"candidate_adopted": false,
"cases": 231,
"checks": 1619,
"failures": [],
"fixtures": {
"bytes": 3540,
"codec": "zstd",
"field_deletions": 0,
"file_envelope": false,
"full_bytes_roundtrip": true,
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/evaluation-fixtures.varbytes.zst",
"sha256": "c21dad1a71f30a2c8d4cab558bbfb4543f2daca4487b1fbdbcbb1b1a97b9143d",
"uncompressed_bytes": 408484,
"uncompressed_sha256": "ae97195121e2def68615caf2b0cb3bda59a130097ef34cb9656c75ac387b7343"
},
"limits": [
"One process finite builtin and custom-preference observations only. Adjacent helper microbenchmark is not representative whole-tick, stable gain, P95/D10/50ms, full regression, OS or Windows acceptance."
],
"passed": true,
"performance_accepted": false,
"pid": 44204,
"timings": [
{
"calls": 2000,
"elapsed_us": 28461,
"mode": "original"
},
{
"calls": 2000,
"elapsed_us": 41815,
"mode": "candidate"
}
],
"unit_accepted": false
},
"cleanup": [
{
"pid": 44204,
"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": [],
"source_default_doc4_support_stage_preserved": true,
"guest_project_restored_byteexact": true,
"compiler_runs": 0,
"unit_accepted": false,
"performance_accepted": false,
"candidate_adopted": false
}
@@ -0,0 +1,5 @@
extends "/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/local.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()
@@ -0,0 +1,87 @@
extends "/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-build-preview-monitor-compressed-r06.gd"
const Original = preload("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/original_guest_service.gd")
const Candidate = preload("res://scripts/guest/guest_service.gd")
const CustomDefinition = preload("/Users/korizatou114/Projects/\u3068\u308a\u306b\u304f\u5de5\u623f\u30b2\u30fc\u30e0\u5236\u4f5c\u90e8/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/custom_definition.gd")
func setup(service: Variant) -> Variant:
var definition: Variant = service.create_definition(&"test", {&"preference_weights": {&"dining": 3}, &"risk_tolerance": 40})
check(definition != null, "definition registered")
var guest: Variant = service.spawn_guest(&"g", &"test", 0, {&"wallet_gold": 120, &"credit_limit_gold": 40})
check(guest != null, "guest registered")
return guest
func run() -> void:
output = OS.get_environment("THE_TREE_RUNTIME_MONITOR_OUTPUT")
if not output.is_absolute_path(): quit(98); return
var original: Variant = Original.new()
var candidate: Variant = Candidate.new()
var og: Variant = setup(original)
var cg: Variant = setup(candidate)
var fixtures: Array = []
var needs: Array[StringName] = [&"hunger", &"sleep", &"hygiene", &"medical", &"leisure", &"intimacy"]
var inputs: Array[Dictionary] = []
for magnitude: int in [-9223372036854775807 - 1, -1, 0, 1, 99, 100, 101, 9223372036854775807]:
for selected: int in range(7):
for string_keys: bool in [false, true]:
for readonly: bool in [false, true]:
var relief: Dictionary = {}
for ni: int in range(6):
if selected == 6 or ni == selected: relief[String(needs[ni]) if string_keys else needs[ni]] = magnitude
if readonly: relief.make_read_only()
inputs.append({&"facility_id": &"f", &"facility_tags": [&"dining"], &"need_relief": relief, &"expected_quality": 80, &"estimated_total_gold": 15, &"travel_minutes": 2, &"expected_wait": 3})
for extra: Dictionary in [{&"need_relief": 45}, {&"need_relief": null}, {&"need_relief": {&"unknown": 1}}, {&"need_effects": {&"hunger": 2.5}}, {&"expected_quality": 12.5}, {&"preference": 7, &"urgency": 9}, {&"instance_id": "fallback", &"facility_id": "", &"tags": ["dining"]}]:
var row: Dictionary = {&"facility_id": &"f", &"need_relief": {&"hunger": 80}}
row.merge(extra, true); inputs.append(row)
for index: int in range(inputs.size()):
var left: Dictionary = inputs[index].duplicate(true)
var right: Dictionary = inputs[index].duplicate(true)
if index < 224:
if index % 2 == 1:
left[&"need_relief"].make_read_only(); right[&"need_relief"].make_read_only()
check(left[&"need_relief"].is_read_only() == (index % 2 == 1) and right[&"need_relief"].is_read_only() == (index % 2 == 1), "actual nested readonly shape " + str(index))
if index % 8 == 7:
left.make_read_only(); right.make_read_only()
var lb: PackedByteArray = var_to_bytes(left)
var rb: PackedByteArray = var_to_bytes(right)
var expected: Dictionary = original.evaluate_candidate(&"g", left)
var actual: Dictionary = candidate.evaluate_candidate(&"g", right)
check(var_to_bytes(expected) == var_to_bytes(actual), "full ordered evaluate " + str(index))
check(original.last_error == candidate.last_error, "error observation " + str(index))
check(var_to_bytes(left) == lb and var_to_bytes(right) == rb, "input unchanged " + str(index))
check(var_to_bytes(original.create_snapshot()) == var_to_bytes(candidate.create_snapshot()), "full service state " + str(index))
if index < 224: check(candidate._can_share_candidate_need_map(cg, candidate.get_definition(&"test"), right), "exact builtin shared guard " + str(index))
check(not is_same(actual, right) and not is_same(actual, expected), "fresh returned dictionary " + str(index))
fixtures.append({"input": right, "expected": expected, "actual": actual})
var ranking: Array = inputs.slice(0, 20)
check(var_to_bytes(original.rank_candidates(&"g", ranking)) == var_to_bytes(candidate.rank_candidates(&"g", ranking)), "full ranked ties/order")
for explicit: bool in [false, true]:
var osvc: Variant = Original.new(); var csvc: Variant = Candidate.new()
var od: Variant = CustomDefinition.new().configure(&"callback", {})
var cd: Variant = CustomDefinition.new().configure(&"callback", {})
check(osvc.register_definition(od) and csvc.register_definition(cd), "custom definitions registered")
var oguest: Variant = osvc.spawn_guest(&"g", &"callback", 0)
var cguest: Variant = csvc.spawn_guest(&"g", &"callback", 0)
var left: Dictionary = {&"facility_id": &"f", &"need_relief": {&"hunger": 10}}
if explicit: left[&"preference"] = 7
var right: Dictionary = left.duplicate(true)
od.watched_guest = oguest; od.watched_candidate = left
cd.watched_guest = cguest; cd.watched_candidate = right
check(not csvc._can_share_candidate_need_map(cguest, cd, right), "custom preference fallback")
var expected: Dictionary = osvc.evaluate_candidate(&"g", left)
var actual: Dictionary = csvc.evaluate_candidate(&"g", right)
check(var_to_bytes(expected) == var_to_bytes(actual), "callback full ordered result")
check(od.calls == 1 and cd.calls == 1, "original eager default callback position")
check(var_to_bytes(left) == var_to_bytes(right) and var_to_bytes(osvc.create_snapshot()) == var_to_bytes(csvc.create_snapshot()), "callback input/full state equality")
fixtures.append({"callback_explicit": explicit, "expected": expected, "actual": actual})
var scalar: Dictionary = inputs[50].duplicate(true)
var times: Array[Dictionary] = []
for mode: String in ["original", "candidate"]:
var service: Variant = original if mode == "original" else candidate
var start: int = Time.get_ticks_usec()
for index: int in range(2000): service.evaluate_candidate(&"g", scalar)
times.append({"mode": mode, "calls": 2000, "elapsed_us": Time.get_ticks_usec() - start})
var bytes_pin: Dictionary = typed("evaluation-fixtures", fixtures)
var report: Dictionary = {"checks": checks, "failures": failures, "passed": failures.is_empty(), "pid": OS.get_process_id(), "cases": inputs.size(), "callback_cases": 2, "fixtures": bytes_pin, "timings": times, "unit_accepted": false, "performance_accepted": false, "candidate_adopted": false, "limits": ["One process finite builtin and custom-preference observations only. Adjacent helper microbenchmark is not representative whole-tick, stable gain, P95/D10/50ms, full regression, OS or Windows acceptance."]}
var file: FileAccess = 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("Guest Need normalization local: %d checks, %d failures" % [checks, failures.size()])
quit(0 if failures.is_empty() else 1)
@@ -0,0 +1,37 @@
{
"callback_cases": 2,
"candidate_adopted": false,
"cases": 231,
"checks": 1619,
"failures": [],
"fixtures": {
"bytes": 3540,
"codec": "zstd",
"field_deletions": 0,
"file_envelope": false,
"full_bytes_roundtrip": true,
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/measurement/evaluation-fixtures.varbytes.zst",
"sha256": "c21dad1a71f30a2c8d4cab558bbfb4543f2daca4487b1fbdbcbb1b1a97b9143d",
"uncompressed_bytes": 408484,
"uncompressed_sha256": "ae97195121e2def68615caf2b0cb3bda59a130097ef34cb9656c75ac387b7343"
},
"limits": [
"One process finite builtin and custom-preference observations only. Adjacent helper microbenchmark is not representative whole-tick, stable gain, P95/D10/50ms, full regression, OS or Windows acceptance."
],
"passed": true,
"performance_accepted": false,
"pid": 44204,
"timings": [
{
"calls": 2000,
"elapsed_us": 28461,
"mode": "original"
},
{
"calls": 2000,
"elapsed_us": 41815,
"mode": "candidate"
}
],
"unit_accepted": false
}
@@ -0,0 +1,106 @@
{
"review_id": "p23-02-guest-need-normalization-static-independent-review-r295",
"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-reconstruction-local-r209/stage/scripts/guest/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd",
"bytes": 61414,
"sha256": "56880410e9a00816f9a95d30821982955532de8dd976980934e12016a9f2b21e"
},
"/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-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-integer-window-codec-impact-whole-r293-r04/execution.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-integer-window-codec-impact-whole-r293-r04/execution.json",
"bytes": 33451,
"sha256": "44d6c26b797a99e7729d1eb77e725330b2b95bd643876eb41cd11237f2488848"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-residual-diagnostic-actual-independent-review-r238.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-residual-diagnostic-actual-independent-review-r238.json",
"bytes": 36734,
"sha256": "e41634755f116006c91ad251b48eb8b71286a53a6a687d6f371366f3140cc66d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd",
"bytes": 9374,
"sha256": "082aa3f33b9cb17daf10a2cf8a1dece7b79dd80c2ae21e1a424d1b2ceb52b918"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd",
"bytes": 14267,
"sha256": "57ba99e5d977b5302987f4359a19056f1ab09c8fb7e4762ee8d79cbb9316741a"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json",
"bytes": 4366,
"sha256": "f592b9895d9253be9e7f829cd88888fe166e77e00959570f7d4a7f0c3c169489"
}
},
"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": 492299,
"sha256": "61776f0673770277ab6d182107337ed40a108ff3b5ab2c1a8f29fc4f2c3015ad"
},
"/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": 410363,
"sha256": "8b0488910dba35b34da96d7062b9a69d293e70a1963c9c5890ec32b2891baaea"
},
"/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": 539512,
"sha256": "b417ee1b945dfe4666f3a2f3501f906756826ea88d741bb116f3dd20250c8958"
},
"/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": 1184337,
"sha256": "32d80e911910bc762287dc3ddf0ee0ea3072ca2f0158aa2f9f355b9202cfdfeb"
}
},
"verified_scope": [
"Entire original GuestService is recovered byte-for-byte by removing appended four helpers and reversing the three evaluation replacements.",
"Original candidate validation remains before the guard. Integer relief, absent relief, custom GuestService/GuestRuntime/GuestDefinition, unsafe candidate conversions and noninteger preference weights retain original helper paths.",
"For exact builtin, valid Dictionary relief and listed primitive inputs, eager preference/default helpers between relief/urgency/priority are synchronous primitive operations with no signal, await, Callable or external Object callback. No assumption that explicit preference/urgency skips evaluation of its default expression.",
"All three normalized helper arithmetic/loop bodies are byte-identical to originals after normalization, preserving NEED order, max, division and signed INT expressions.",
"Original utility terms insertion order, weights, result deep duplication, price/preference/helper calls and public result assembly are unchanged. Shared normalized Dictionary is invocation-local with no retained cache or ownership escape."
],
"cost_and_limitations": [
"Guard adds script/load identity checks, six needs reads, scans of 17 optional integer fields, id/tag element checks and all preference_weights values; it allocates values()/literal arrays and a normalized Dictionary. No net speed benefit is established.",
"GDScript was reviewed textually only; Variant shared_need_map is passed to Dictionary parameters only on non-null validated-normalization path. Actual parser/type checking and runtime behavior remain unverified.",
"Exact-resource identity assumes authenticated builtin resources, not malicious same-path replacement, arbitrary concurrent mutation, or subclass collision/override of newly introduced private helper names.",
"Guard prevents builtin preference conversions from invoking custom conversion behavior; custom definition.preference_for remains original fallback and must be tested with real script/input mutation.",
"INT extrema preserve original arithmetic text, but actual overflow/division behavior and all typed/read-only/string-key input combinations require finite local tests.",
"Static support does not prove native load, local/whole equality, performance/P95/D10/50ms, full172, OS/Windows, adoption or unit completion."
],
"required_next": [
"Parse candidate in isolated controlled stage; do not edit production.",
"Compare original versus candidate evaluate/rank/decision full typed results and public state for empty/partial/all six canonical Need maps, String/StringName keys, integer scalar and absent relief, invalid maps, readonly/typed dictionaries and INT boundaries.",
"Exercise custom service/guest/definition and preference callback changing relief, needs or script; require original fallback observation order.",
"Verify caller mutation isolation and utility_terms/deepdup ownership, then necessary finite impact/whole and qualified performance evidence before any adoption."
],
"reviewer_execution": {
"engine": 0,
"compiler": 0,
"tests": 0,
"validator": 0,
"existing_edits": 0,
"new_agents": 0
}
}
@@ -0,0 +1,185 @@
{
"review_id": "p23-02-guest-need-normalization-static-independent-review-r298",
"implementation_supported": true,
"static_accepted": true,
"execution_allowed": false,
"build_allowed": false,
"blockers": [],
"evidence_sha256": {
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/source/guest_service.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/source/guest_service.gd",
"bytes": 63639,
"sha256": "5895d5da6488c767685b109ef01f9e2b57f41272d49cc9e3c415865769adc11d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json",
"bytes": 9244,
"sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-actual-independent-review-r296.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-actual-independent-review-r296.json",
"bytes": 19007,
"sha256": "ce06bfe9156ed8e1c9ec53519d6cc52b26c963ca0e8b4a263ff70d1a1abf9a23"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/actual-root-verification.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/actual-root-verification.json",
"bytes": 10454,
"sha256": "6d9dc235ac63d6629e4375e5b75516f522f47d4d491b40cda790da14fa65f4fe"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json",
"bytes": 10788,
"sha256": "d01a859ce75a18084cbec7a081c906e267d1e8c7a42bce55e2539dd3a7ede8c3"
},
"/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/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd",
"bytes": 9374,
"sha256": "082aa3f33b9cb17daf10a2cf8a1dece7b79dd80c2ae21e1a424d1b2ceb52b918"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd",
"bytes": 14267,
"sha256": "57ba99e5d977b5302987f4359a19056f1ab09c8fb7e4762ee8d79cbb9316741a"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp",
"bytes": 94629,
"sha256": "4af0a620aa59d2376d1b35ab201f26edd352f056c908b970890ad9a3449bb5c0"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp.source.json",
"bytes": 278,
"sha256": "dfce2e51d892ac01b198055551cc899c06aa1b9962f20bca687dbb1c31e2bd9d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h",
"bytes": 34956,
"sha256": "3d7d7c8bdc02d4ac73d06b16f487a9ba0f9a188c854ab0befc57b98f807523b2"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h.source.json",
"bytes": 276,
"sha256": "42d0b1ef9b9f5329029e4250cc97533bd800ccfea2fa18d6586c21f7973009af"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp",
"bytes": 19030,
"sha256": "51e8ebbbffb9c65959aa4c86f7dd1a21ed121ef82706996893743de077c82645"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp.source.json",
"bytes": 288,
"sha256": "7aed774b87af26bf775abeaa63a22df93cb1552398cc52ca3230800b1abdd555"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h",
"bytes": 25252,
"sha256": "e6aecba36f8ff90af382427fb6be8b69e161583cffba7751b2c2ffdfa5e632c9"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h.source.json",
"bytes": 286,
"sha256": "e7c85dca32c621dd842706fe0851e74a63e288848b4055ca895d657059bcc312"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp",
"bytes": 27721,
"sha256": "13eb030c2e59ac0e7060852949bf5b7a62624e31474b781d89e72515410daa7d"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp.source.json",
"bytes": 281,
"sha256": "032aaf8bb193500745770c940088a2223c1f3f6bb9f8edf6300693bb3e26fc7b"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp",
"bytes": 62857,
"sha256": "e3f73e1df096bedd4856e29227b302f879d0520c66718467338556b589f685c9"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp.source.json",
"bytes": 276,
"sha256": "f3002c603869280c99e5efc5f1e923258726c48c404571af34ba6f3bdc009cd2"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/input.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/input.json",
"bytes": 11472,
"sha256": "3e2eaa147e365a74145224d8995bade5b44528d59b5508dc159458555081ed99"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_deep_duplicate.h": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_deep_duplicate.h",
"bytes": 2592,
"sha256": "e43e4ee411e969ea4b584ac330394a452aabca90780087f8d5876167fc71ac4e"
},
"/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_deep_duplicate.h.source.json": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_deep_duplicate.h.source.json",
"bytes": 281,
"sha256": "5a0ccfd31fc7f3ad6349b414a42a0a9e3277b061ee613e98b39e2bd24c3988ba"
},
"/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"
}
},
"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": 492299,
"sha256": "61776f0673770277ab6d182107337ed40a108ff3b5ab2c1a8f29fc4f2c3015ad"
},
"/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": 410363,
"sha256": "8b0488910dba35b34da96d7062b9a69d293e70a1963c9c5890ec32b2891baaea"
},
"/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": 1184337,
"sha256": "32d80e911910bc762287dc3ddf0ee0ea3072ca2f0158aa2f9f355b9202cfdfeb"
},
"/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": 539512,
"sha256": "b417ee1b945dfe4666f3a2f3501f906756826ea88d741bb116f3dd20250c8958"
}
},
"verified_scope": [
"Only _can_share_candidate_need_map differs; replacing its complete body with r295 recovers r295 byte-for-byte. All normalization, three helper loops, evaluation arithmetic, call order, deepdup and original fallback text are unchanged.",
"Same fixed ed1daf0bf primary source: _to_int is a scalar switch with no Object/user dispatch; int constructors accept numeric/bool/string paths and StringName constructors accept String/StringName through strict constructor matching, not arbitrary Object stringify. Invalid conversions may error and remain a required local boundary, not callback evidence.",
"Exact builtin preference_for/_sorted_unique_names retain only name conversion, Array iteration/has and fixed pure sort comparison, integer dictionary weights. Builtin price/facility helpers similarly use fixed conversions/arithmetic/dictionary lookup; no signal/Callable/await or external Object invocation lies between three Need reads.",
"Dictionary.duplicate(true) explicitly selects RESOURCE_DEEP_DUPLICATE_NONE. Nested Dictionary and Array recursion propagate mode and positive recursion_count. Variant OBJECT branch returns the existing object before Resource::_duplicate_from_variant when mode NONE and recursion_count>0. No nested Resource getter/script duplicate hook is invoked on that path.",
"Three exact Script identities and Dictionary relief remain mandatory. Existing validation rejects noncanonical/noninteger Need maps before normalization. Custom service/guest/definition uses original fallback, including definition preference callbacks and eager default evaluation."
],
"cost_and_remaining": [
"Removed six Need/17 scalar/id/tag/preference-weight scans; retained resource/script identity checks and one Dictionary normalization have unmeasured cost. No speed benefit is supported.",
"Primary source review supports synchronous conversion/duplication purity; it does not assert permissive conversion of every Object/malformed type, exact diagnostic-stack equality, NaN/Inf overflow behavior, arbitrary concurrent mutation or malicious same-path script replacement.",
"Expanded guard admits inputs rejected by r295 sharing guard, including convertible scalar/tag/weight/need values and Object-bearing extra fields; r296 local evidence does not validate r298 expanded guard, parser behavior or new ownership/error boundaries.",
"Required isolated finite local comparison: bool/float/string/StringName conversions, invalid Object constructors, nested Resource/Object extras with callback counters, typed/readonly dictionaries/arrays, INT extrema, custom guest/service/definition and explicit-preference mutations. Compare ordered evaluate/rank/decision results, error observations, all public state/input and returned ownership.",
"Then necessary impact/whole and qualified performance validation; whole647/full172/P95D10/50ms/normal OS/Windows/adoption/unit acceptance remain false."
],
"reviewer_execution": {
"engine": 0,
"compiler": 0,
"tests": 0,
"validator": 0,
"author": 0,
"existing_edits": 0,
"new_agents": 0
}
}
@@ -0,0 +1,73 @@
{
"passed": true,
"review_sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8",
"verified_entries": [
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-reconstruction-local-r209/stage/scripts/guest/guest_service.gd",
"bytes": 61414,
"sha256": "56880410e9a00816f9a95d30821982955532de8dd976980934e12016a9f2b21e"
},
{
"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-candidate-r274/source/tree_numeric_core.cpp",
"bytes": 54002,
"sha256": "ce20a90adb8a410dc1b6cbf607b7bfa8bf21eaef158c5c6bfc7a9bbcc703d2b2"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-native-integer-window-codec-impact-whole-r293-r04/execution.json",
"bytes": 33451,
"sha256": "44d6c26b797a99e7729d1eb77e725330b2b95bd643876eb41cd11237f2488848"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-current-residual-diagnostic-actual-independent-review-r238.json",
"bytes": 36734,
"sha256": "e41634755f116006c91ad251b48eb8b71286a53a6a687d6f371366f3140cc66d"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd",
"bytes": 9374,
"sha256": "082aa3f33b9cb17daf10a2cf8a1dece7b79dd80c2ae21e1a424d1b2ceb52b918"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd",
"bytes": 14267,
"sha256": "57ba99e5d977b5302987f4359a19056f1ab09c8fb7e4762ee8d79cbb9316741a"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/input.json",
"bytes": 4366,
"sha256": "f592b9895d9253be9e7f829cd88888fe166e77e00959570f7d4a7f0c3c169489"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md",
"bytes": 492299,
"sha256": "61776f0673770277ab6d182107337ed40a108ff3b5ab2c1a8f29fc4f2c3015ad"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md",
"bytes": 410363,
"sha256": "8b0488910dba35b34da96d7062b9a69d293e70a1963c9c5890ec32b2891baaea"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json",
"bytes": 539512,
"sha256": "b417ee1b945dfe4666f3a2f3501f906756826ea88d741bb116f3dd20250c8958"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json",
"bytes": 1184337,
"sha256": "32d80e911910bc762287dc3ddf0ee0ea3072ca2f0158aa2f9f355b9202cfdfeb"
}
],
"unit_accepted": false,
"performance_accepted": false
}
@@ -0,0 +1,158 @@
{
"passed": true,
"review_sha256": "940dd5f51b55942f07ef7ad091ec557af4d0d7bb07d48c08b6a98bde570f32b2",
"verified_entries": [
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r295/source/guest_service.gd",
"bytes": 64563,
"sha256": "2794f20630168d902e6a7fb55a0b5aacfbbcfcccd51d336f0724f03ee35ea249"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/source/guest_service.gd",
"bytes": 63639,
"sha256": "5895d5da6488c767685b109ef01f9e2b57f41272d49cc9e3c415865769adc11d"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-static-independent-review-r295.json",
"bytes": 9244,
"sha256": "0954f512e6065c26ffc7d06c087fe973379a48c9cebef6752f19ec52d24f59d8"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-actual-independent-review-r296.json",
"bytes": 19007,
"sha256": "ce06bfe9156ed8e1c9ec53519d6cc52b26c963ca0e8b4a263ff70d1a1abf9a23"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/actual-root-verification.json",
"bytes": 10454,
"sha256": "6d9dc235ac63d6629e4375e5b75516f522f47d4d491b40cda790da14fa65f4fe"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-local-r296/execution.json",
"bytes": 10788,
"sha256": "d01a859ce75a18084cbec7a081c906e267d1e8c7a42bce55e2539dd3a7ede8c3"
},
{
"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/とりにく工房ゲーム制作部/scripts/guest/guest_definition.gd",
"bytes": 9374,
"sha256": "082aa3f33b9cb17daf10a2cf8a1dece7b79dd80c2ae21e1a424d1b2ceb52b918"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/guest/guest_runtime.gd",
"bytes": 14267,
"sha256": "57ba99e5d977b5302987f4359a19056f1ab09c8fb7e4762ee8d79cbb9316741a"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp",
"bytes": 94629,
"sha256": "4af0a620aa59d2376d1b35ab201f26edd352f056c908b970890ad9a3449bb5c0"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.cpp.source.json",
"bytes": 278,
"sha256": "dfce2e51d892ac01b198055551cc899c06aa1b9962f20bca687dbb1c31e2bd9d"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h",
"bytes": 34956,
"sha256": "3d7d7c8bdc02d4ac73d06b16f487a9ba0f9a188c854ab0befc57b98f807523b2"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant.h.source.json",
"bytes": 276,
"sha256": "42d0b1ef9b9f5329029e4250cc97533bd800ccfea2fa18d6586c21f7973009af"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp",
"bytes": 19030,
"sha256": "51e8ebbbffb9c65959aa4c86f7dd1a21ed121ef82706996893743de077c82645"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.cpp.source.json",
"bytes": 288,
"sha256": "7aed774b87af26bf775abeaa63a22df93cb1552398cc52ca3230800b1abdd555"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h",
"bytes": 25252,
"sha256": "e6aecba36f8ff90af382427fb6be8b69e161583cffba7751b2c2ffdfa5e632c9"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_construct.h.source.json",
"bytes": 286,
"sha256": "e7c85dca32c621dd842706fe0851e74a63e288848b4055ca895d657059bcc312"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp",
"bytes": 27721,
"sha256": "13eb030c2e59ac0e7060852949bf5b7a62624e31474b781d89e72515410daa7d"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/dictionary.cpp.source.json",
"bytes": 281,
"sha256": "032aaf8bb193500745770c940088a2223c1f3f6bb9f8edf6300693bb3e26fc7b"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp",
"bytes": 62857,
"sha256": "e3f73e1df096bedd4856e29227b302f879d0520c66718467338556b589f685c9"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_setget.cpp.source.json",
"bytes": 276,
"sha256": "f3002c603869280c99e5efc5f1e923258726c48c404571af34ba6f3bdc009cd2"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-normalization-candidate-r298/input.json",
"bytes": 11472,
"sha256": "3e2eaa147e365a74145224d8995bade5b44528d59b5508dc159458555081ed99"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_deep_duplicate.h",
"bytes": 2592,
"sha256": "e43e4ee411e969ea4b584ac330394a452aabca90780087f8d5876167fc71ac4e"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-02-guest-need-conversion-source-r297/variant_deep_duplicate.h.source.json",
"bytes": 281,
"sha256": "5a0ccfd31fc7f3ad6349b414a42a0a9e3277b061ee613e98b39e2bd24c3988ba"
},
{
"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/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md",
"bytes": 492299,
"sha256": "61776f0673770277ab6d182107337ed40a108ff3b5ab2c1a8f29fc4f2c3015ad"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/PROGRESS_INTEGRATION.md",
"bytes": 410363,
"sha256": "8b0488910dba35b34da96d7062b9a69d293e70a1963c9c5890ec32b2891baaea"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/work_packages.json",
"bytes": 1184337,
"sha256": "32d80e911910bc762287dc3ddf0ee0ea3072ca2f0158aa2f9f355b9202cfdfeb"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/progress_snapshot.json",
"bytes": 539512,
"sha256": "b417ee1b945dfe4666f3a2f3501f906756826ea88d741bb116f3dd20250c8958"
}
],
"unit_accepted": false,
"performance_accepted": false
}