Archive cold evidence on Drive and preserve current acceptance pins

This commit is contained in:
Takeshi
2026-10-15 22:10:37 +09:00
parent cb0a58bc28
commit afde233203
89 changed files with 28181 additions and 7 deletions
@@ -0,0 +1,233 @@
{
"source_archive_verification": {
"actual_cloud_readback": true,
"whole_archive_sha256": "adf793994e1d0079b226f882d40fd9dc0d8282da42d7b04d24195e2b3a84c151",
"bytes": 437422438,
"all_unique_payloads_verified": 10804,
"original_file_mappings_verified": 47574,
"manifest_identical": true,
"formal_credit": 0
},
"source_cloud_parts": [
{
"order": 0,
"offset": 0,
"path": "/private/tmp/tree-offload-review-r04/upload-0000.bin",
"bytes": 67108864,
"sha256": "88c14f4fc36278bdbe953e60a4a9a0c03312c4a90fc4a18b6cdbb44af8c811c8",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1zDFSBgYRTnNh633ee8yzsjtq7dQeHoWp",
"title": "review-material-r04.tar.gz.part-0000",
"file_name": "review-material-r04.tar.gz.part-0000",
"mime_type": "application/x-gzip",
"url": "https://drive.google.com/file/d/1zDFSBgYRTnNh633ee8yzsjtq7dQeHoWp/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1zDFSBgYRTnNh633ee8yzsjtq7dQeHoWp",
"title": "review-material-r04.tar.gz.part-0000",
"file_name": "review-material-r04.tar.gz.part-0000",
"mime_type": "application/x-gzip",
"url": "https://drive.google.com/file/d/1zDFSBgYRTnNh633ee8yzsjtq7dQeHoWp/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 1,
"offset": 67108864,
"path": "/private/tmp/tree-offload-review-r04/upload-0001.bin",
"bytes": 67108864,
"sha256": "2c05a971176d0b5e9f3c288f69ce5d4ec9dc6c8623d6c52edbd709aa5f4b9b0c",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1adCPiKM7VECXZxCX1AHdBZxUSKXIyAiC",
"title": "review-material-r04.tar.gz.part-0001",
"file_name": "review-material-r04.tar.gz.part-0001",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1adCPiKM7VECXZxCX1AHdBZxUSKXIyAiC/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1adCPiKM7VECXZxCX1AHdBZxUSKXIyAiC",
"title": "review-material-r04.tar.gz.part-0001",
"file_name": "review-material-r04.tar.gz.part-0001",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1adCPiKM7VECXZxCX1AHdBZxUSKXIyAiC/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 2,
"offset": 134217728,
"path": "/private/tmp/tree-offload-review-r04/upload-0002.bin",
"bytes": 67108864,
"sha256": "608f89ef345bee96cd275ae67ee6b0636fc9165e7a3ef539b1e48d1b973f27ac",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "15_UXbGuW50NkTf1RgbkBSpUodPmXfcY9",
"title": "review-material-r04.tar.gz.part-0002",
"file_name": "review-material-r04.tar.gz.part-0002",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/15_UXbGuW50NkTf1RgbkBSpUodPmXfcY9/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "15_UXbGuW50NkTf1RgbkBSpUodPmXfcY9",
"title": "review-material-r04.tar.gz.part-0002",
"file_name": "review-material-r04.tar.gz.part-0002",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/15_UXbGuW50NkTf1RgbkBSpUodPmXfcY9/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 3,
"offset": 201326592,
"path": "/private/tmp/tree-offload-review-r04/upload-0003.bin",
"bytes": 67108864,
"sha256": "a6e73590c86b6282ef63fd88863de357911434998f389229cdb2ac1f470a53bc",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1ki8e92PBUZeOavzsuvfQU4zoMIvwQdyA",
"title": "review-material-r04.tar.gz.part-0003",
"file_name": "review-material-r04.tar.gz.part-0003",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1ki8e92PBUZeOavzsuvfQU4zoMIvwQdyA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1ki8e92PBUZeOavzsuvfQU4zoMIvwQdyA",
"title": "review-material-r04.tar.gz.part-0003",
"file_name": "review-material-r04.tar.gz.part-0003",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1ki8e92PBUZeOavzsuvfQU4zoMIvwQdyA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 4,
"offset": 268435456,
"path": "/private/tmp/tree-offload-review-r04/upload-0004.bin",
"bytes": 67108864,
"sha256": "a50e262a1ec412b97f1185b469d436f4fcd1fc020cbbe972209a6f609448bb13",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1I8To-mkJC_kmQZyYiRbrCipaeF4cidcl",
"title": "review-material-r04.tar.gz.part-0004",
"file_name": "review-material-r04.tar.gz.part-0004",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1I8To-mkJC_kmQZyYiRbrCipaeF4cidcl/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1I8To-mkJC_kmQZyYiRbrCipaeF4cidcl",
"title": "review-material-r04.tar.gz.part-0004",
"file_name": "review-material-r04.tar.gz.part-0004",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1I8To-mkJC_kmQZyYiRbrCipaeF4cidcl/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 5,
"offset": 335544320,
"path": "/private/tmp/tree-offload-review-r04/upload-0005.bin",
"bytes": 67108864,
"sha256": "67ba53bbd2dc2416661e888758419d9465d3a5dd5f8ffc191f788493e013f305",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1ILqHWPtXVjZ4nvgkaNBgjw4TrEdIuXpZ",
"title": "review-material-r04.tar.gz.part-0005",
"file_name": "review-material-r04.tar.gz.part-0005",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1ILqHWPtXVjZ4nvgkaNBgjw4TrEdIuXpZ/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1ILqHWPtXVjZ4nvgkaNBgjw4TrEdIuXpZ",
"title": "review-material-r04.tar.gz.part-0005",
"file_name": "review-material-r04.tar.gz.part-0005",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1ILqHWPtXVjZ4nvgkaNBgjw4TrEdIuXpZ/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 6,
"offset": 402653184,
"path": "/private/tmp/tree-offload-review-r04/upload-0006.bin",
"bytes": 34769254,
"sha256": "a88d6f246cef9c98686f94cf1167b4a6cb980610d44043e404f7515575adb202",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1K1xXtKe-PNuVtpqgjltLXMuJJVlOL-zO",
"title": "review-material-r04.tar.gz.part-0006",
"file_name": "review-material-r04.tar.gz.part-0006",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1K1xXtKe-PNuVtpqgjltLXMuJJVlOL-zO/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1K1xXtKe-PNuVtpqgjltLXMuJJVlOL-zO",
"title": "review-material-r04.tar.gz.part-0006",
"file_name": "review-material-r04.tar.gz.part-0006",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1K1xXtKe-PNuVtpqgjltLXMuJJVlOL-zO/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
}
],
"source_cloud_manifest": {
"accepted_input": "file_uri",
"success": true,
"id": "19esHPY2m15iQD8A7dX-0TxXdbJoLShOA",
"title": "review-material-r04-MANIFEST.json",
"file_name": "review-material-r04-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/19esHPY2m15iQD8A7dX-0TxXdbJoLShOA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "19esHPY2m15iQD8A7dX-0TxXdbJoLShOA",
"title": "review-material-r04-MANIFEST.json",
"file_name": "review-material-r04-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/19esHPY2m15iQD8A7dX-0TxXdbJoLShOA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"new_file_mappings": 18305,
"every_new_file_hash_and_size_in_verified_archive": true,
"new_payload_upload_required": false,
"formal_credit": 0
}
@@ -0,0 +1,6 @@
{
"files": 18305,
"missing_files": 0,
"missing": [],
"all_objects_available_in_verified_r04_cloud": true
}
@@ -0,0 +1,25 @@
{
"scripts": [
{
"actual_executed_path": "/private/tmp/tree-offload-canonical-r05.py",
"preserved_script": "tree-offload-canonical-r05.py",
"sha256": "8979a7b6eff80535d3657b5116f4e223a24a584bf3990dd7594edc9e00ea8339"
},
{
"actual_executed_path": "/private/tmp/tree-offload-canonical-r05-prepare.py",
"preserved_script": "tree-offload-canonical-r05-prepare.py",
"sha256": "2efadfe4b8d4fd272003f69db9d39ae75d365a3de086d7ec9b78e1b3300d5ee4"
},
{
"actual_executed_path": "/private/tmp/tree-offload-canonical-r05-source-recheck.py",
"preserved_script": "tree-offload-canonical-r05-source-recheck.py",
"sha256": "3b96d1392a2db2f0b9692e9fc30663f2aa8116a14ef13fa21aff9d439ebde730"
},
{
"actual_executed_path": "/private/tmp/tree-offload-canonical-r05-retire.py",
"preserved_script": "tree-offload-canonical-r05-retire.py",
"sha256": "c8eb635295056793c9e54bbe088890b02704a6e94e86edd8b74f454a7fcb8332"
}
],
"note": "Historical executed tools; source manifests were gzip archived only after all execution/retirement gates passed. Restore.py is standalone recovery entrypoint."
}
@@ -0,0 +1,29 @@
{
"original_name": "MANIFEST.json",
"uncompressed_bytes": 7168589,
"uncompressed_sha256": "37d86cbfd6e81bab12df7614087e4f5a1ef8646e65e1cd8531b16dac2c8a1eb7",
"compressed_name": "MANIFEST.json.gz",
"compressed_bytes": 1070751,
"compressed_sha256": "01c715187d5bf110f11159fc564497e28ada446705181d694dde08fe681ba684",
"cloud_manifest": {
"accepted_input": "file_uri",
"success": true,
"id": "1AT5t69o2vYVZQjF_Q9NiL9gBPhjRn_qg",
"title": "canonical-r05-MANIFEST.json",
"file_name": "canonical-r05-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1AT5t69o2vYVZQjF_Q9NiL9gBPhjRn_qg/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1AT5t69o2vYVZQjF_Q9NiL9gBPhjRn_qg",
"title": "canonical-r05-MANIFEST.json",
"file_name": "canonical-r05-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1AT5t69o2vYVZQjF_Q9NiL9gBPhjRn_qg/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"exact_content_verified": true
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1Ex0Y1Ix6U8DY9FKKM-OJEDTL_im0Vq53",
"title": "canonical-r05-CLOUD_OBJECT_REUSE.json",
"file_name": "canonical-r05-CLOUD_OBJECT_REUSE.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1Ex0Y1Ix6U8DY9FKKM-OJEDTL_im0Vq53/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1Ex0Y1Ix6U8DY9FKKM-OJEDTL_im0Vq53",
"title": "canonical-r05-CLOUD_OBJECT_REUSE.json",
"file_name": "canonical-r05-CLOUD_OBJECT_REUSE.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1Ex0Y1Ix6U8DY9FKKM-OJEDTL_im0Vq53/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "51b74dfc3c6a15ce151e460bdad1e98f53ffa40ed3f9949263381d72fcf7eca3",
"bytes": 10097
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1AT5t69o2vYVZQjF_Q9NiL9gBPhjRn_qg",
"title": "canonical-r05-MANIFEST.json",
"file_name": "canonical-r05-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1AT5t69o2vYVZQjF_Q9NiL9gBPhjRn_qg/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1AT5t69o2vYVZQjF_Q9NiL9gBPhjRn_qg",
"title": "canonical-r05-MANIFEST.json",
"file_name": "canonical-r05-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1AT5t69o2vYVZQjF_Q9NiL9gBPhjRn_qg/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "37d86cbfd6e81bab12df7614087e4f5a1ef8646e65e1cd8531b16dac2c8a1eb7",
"bytes": 7168589
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1bfAR3vso3sdA_joQ_GCA3MZ7EO8HCp2D",
"title": "canonical-r05-RESTORE.md",
"file_name": "canonical-r05-RESTORE.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/1bfAR3vso3sdA_joQ_GCA3MZ7EO8HCp2D/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1bfAR3vso3sdA_joQ_GCA3MZ7EO8HCp2D",
"title": "canonical-r05-RESTORE.md",
"file_name": "canonical-r05-RESTORE.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/1bfAR3vso3sdA_joQ_GCA3MZ7EO8HCp2D/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "4f9c6cc124f1650541d18224375125d908a25dfbaf15667b24ccedcc5fc2d50e",
"bytes": 1005
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1TjnRzNCj-nJB7jlRxRIXwXGRqdnf6K8c",
"title": "canonical-r05-restore.py",
"file_name": "canonical-r05-restore.py",
"mime_type": "text/x-python",
"url": "https://drive.google.com/file/d/1TjnRzNCj-nJB7jlRxRIXwXGRqdnf6K8c/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1TjnRzNCj-nJB7jlRxRIXwXGRqdnf6K8c",
"title": "canonical-r05-restore.py",
"file_name": "canonical-r05-restore.py",
"mime_type": "text/x-python",
"url": "https://drive.google.com/file/d/1TjnRzNCj-nJB7jlRxRIXwXGRqdnf6K8c/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "a96e0ca7732a8b2840a42d29347ed49d45bd6032a40f48049b7bbb83b53e5827",
"bytes": 1925
}
@@ -0,0 +1,9 @@
# 旧版P08証跡の復元
退避先: https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK
CLOUD_OBJECT_REUSE.json の source_cloud_parts の順序で review-material-r04.tar.gz.part-0000〜0006 を取得。各サイズ・SHA-256を確認して連結し、source_archive_verification のSHA-256と照合する。アーカイブは r04 と共用し、追加本体の転送は行っていない。復元にはこのr05の MANIFEST.json(またはローカルの MANIFEST.json.gz)を使う。r04内蔵の別パス対応表を使わない。
`python3 restore.py review-material-r04.tar.gz MANIFEST.json /Users/korizatou114/Projects/TheTree-managed-worktrees`
既存のファイルへの上書きを拒否する。空の別ディレクトリへの復元も可。全復元ファイルのサイズ・SHA-256・モード・mtimeを照合する。現行版への validated-current-proof-alias、現行build、実装worktree、現在候補、実行記録はローカルに保持する。
@@ -0,0 +1,13 @@
{
"unix": 1792068949.544412,
"files": 18305,
"logical_bytes": 2001146758,
"free_before_selection": 2722979840,
"free_before_retirement": 2702245888,
"free_after": 3157508096,
"net_free_change_from_selection": 434528256,
"new_payload_upload_bytes": 0,
"all_sources_and_cloud_object_hashes_verified": true,
"current_alias_and_build_receipts_unchanged": true,
"formal_credit": 0
}
@@ -0,0 +1,5 @@
{
"all_sources_rehashed_and_unchanged": true,
"manifest_sha256": "37d86cbfd6e81bab12df7614087e4f5a1ef8646e65e1cd8531b16dac2c8a1eb7",
"unix": 1792068852.53724
}
@@ -0,0 +1,32 @@
"""Restore new path mappings from the byte-verified r04 content-addressed archive."""
import argparse,contextlib,gzip,hashlib,json,os,tarfile
from pathlib import Path
p=argparse.ArgumentParser();p.add_argument('archive');p.add_argument('manifest');p.add_argument('destination');a=p.parse_args();mp=Path(a.manifest);raw=gzip.decompress(mp.read_bytes())if mp.suffix=='.gz'else mp.read_bytes();m=json.loads(raw);dest=Path(a.destination).resolve();h=hashlib.sha256()
with open(a.archive,'rb')as f:
for b in iter(lambda:f.read(1024**2),b''):h.update(b)
assert h.hexdigest()==m['source_r04_archive_sha256'];rows=m['members'];by_hash={};seen=set();restored=0
assert len({x['path']for x in rows})==len(rows)
for x in rows:
q=dest/x['path'];assert q.resolve().is_relative_to(dest)and not q.exists()and not q.is_symlink()
if x['type']=='file':by_hash.setdefault(x['sha256'],[]).append(x)
for x in rows:
if x['type']=='directory':(dest/x['path']).mkdir(parents=True,exist_ok=True)
with tarfile.open(a.archive,'r|gz')as t:
for e in t:
assert e.isfile()
if not e.name.startswith('objects/'):continue
key=e.name[8:]
if key not in by_hash:continue
assert key not in seen;seen.add(key);group=by_hash[key];assert all(x['bytes']==e.size for x in group);v=hashlib.sha256()
with contextlib.ExitStack()as stack:
out=[stack.enter_context((dest/x['path']).open('xb'))for x in group];f=stack.enter_context(t.extractfile(e))
for b in iter(lambda:f.read(1024**2),b''):
v.update(b)
for o in out:o.write(b)
assert v.hexdigest()==key
for x in group:
q=dest/x['path'];assert q.stat().st_size==x['bytes'];os.chmod(q,x['mode']);os.utime(q,ns=(x['mtime_ns'],x['mtime_ns']));restored+=1
assert seen==set(by_hash)and restored==m['files']
for x in reversed(rows):
if x['type']=='directory':q=dest/x['path'];os.chmod(q,x['mode']);os.utime(q,ns=(x['mtime_ns'],x['mtime_ns']))
print('Restored and verified',restored,'files')
@@ -0,0 +1,3 @@
globals().update(__import__('runpy').run_path('/private/tmp/tree-offload-canonical-r05.py',run_name='offload_library'))
m=json.loads((D/'MANIFEST.json').read_bytes());coverage=json.loads((D/'COVERAGE_CHECK.json').read_bytes());assert coverage['all_objects_available_in_verified_r04_cloud'];v=json.loads((R04/'CLOUD_ARCHIVE_VERIFIED.json').read_bytes());assert v['actual_cloud_readback']and m['source_r04_archive_sha256']==v['whole_archive_sha256'];save(D/'CLOUD_OBJECT_REUSE.json',dict(source_archive_verification=v,source_cloud_parts=json.loads((R04/'CLOUD_PARTS.json').read_bytes()),source_cloud_manifest=json.loads((R04/'READBACK-MANIFEST.json.json').read_bytes())['cloud'],new_file_mappings=m['files'],every_new_file_hash_and_size_in_verified_archive=True,new_payload_upload_required=False,formal_credit=0))
print('Verified archive reuse mapping saved')
@@ -0,0 +1,15 @@
globals().update(__import__('runpy').run_path('/private/tmp/tree-offload-canonical-r05.py',run_name='offload_library'))
m=json.loads((D/'MANIFEST.json').read_bytes());s=json.loads((D/'SOURCE_RECHECK.json').read_bytes());assert s['all_sources_rehashed_and_unchanged']and s['manifest_sha256']==sha(D/'MANIFEST.json')and time.time()-s['unix']<3600;assert json.loads((D/'COVERAGE_CHECK.json').read_bytes())['all_objects_available_in_verified_r04_cloud']
for n in ['MANIFEST.json','CLOUD_OBJECT_REUSE.json','restore.py','RESTORE.md']:
j=json.loads((D/('READBACK-'+n+'.json')).read_bytes());assert j['actual_cloud_readback_verified']and j['sha256']==sha(D/n)
assert not(D/'RETIREMENT.json').exists();check_idle();current=B/'p08-03-code/.runtime/P08-03/build';alias=parent/'validated-current-proof-alias';link=os.readlink(alias);assert Path(link).is_dir();protected={str(x):sha(x)for x in current.rglob('*.json')if 'stage'not in x.parts and 'profile'not in x.parts};assert protected
for x in m['members']:
q=B/x['path'];st=q.lstat();assert not q.is_symlink()and(q.is_file()if x['type']=='file'else q.is_dir());assert st.st_mtime_ns==x['mtime_ns']and st.st_mode&0o7777==x['mode'];assert x['type']!='file'or st.st_size==x['bytes']
free=shutil.disk_usage(R).free;save(D/'RETIREMENT_INTENT.json',dict(unix=time.time(),manifest_sha256=sha(D/'MANIFEST.json'),all_sources_rehashed_and_stat_rechecked=True,only_cold_canonical_roots=m['roots'],current_alias_target=link,current_build_json_guards=protected))
for x in m['members']:
if x['type']=='file':(B/x['path']).unlink()
for x in sorted(m['members'],key=lambda x:len(Path(x['path']).parts),reverse=True):
if x['type']=='directory':(B/x['path']).rmdir()
assert os.readlink(alias)==link and Path(link).is_dir();assert all(sha(Path(p))==h for p,h in protected.items());assert all(not(B/x).exists()for x in m['roots'])
save(parent/'CLOUD_HISTORY_R05.json',dict(state='cloud_archived',roots=m['roots'],folder_url='https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK',manifest=str(D/'MANIFEST.json'),restore=str(D/'RESTORE.md'),source_archive_sha256=m['source_r04_archive_sha256'],alias_and_current_build_retained=True,formal_credit=0))
r=dict(unix=time.time(),files=m['files'],logical_bytes=m['logical_bytes'],free_before_selection=m['free_before'],free_before_retirement=free,free_after=shutil.disk_usage(R).free,net_free_change_from_selection=shutil.disk_usage(R).free-m['free_before'],new_payload_upload_bytes=0,all_sources_and_cloud_object_hashes_verified=True,current_alias_and_build_receipts_unchanged=True,formal_credit=0);save(D/'RETIREMENT.json',r);print(json.dumps(r),flush=True)
@@ -0,0 +1,2 @@
globals().update(__import__('runpy').run_path('/private/tmp/tree-offload-canonical-r05.py',run_name='offload_library'))
m=json.loads((D/'MANIFEST.json').read_bytes());roots=m['roots'];check_idle();assert inv()==m['members'];save(D/'SOURCE_RECHECK.json',dict(all_sources_rehashed_and_unchanged=True,manifest_sha256=sha(D/'MANIFEST.json'),unix=time.time()));print('All 18,305 historical canonical files rehashed and unchanged',flush=True)
@@ -0,0 +1,11 @@
exec(open('/private/tmp/tree-offload-review-r04.py').read().split("if __name__")[0])
R04=D;D=R/'docs/plans/original-completion-2026-10-02/execution/drive-offload-canonical-r05-20261015';parent=B/'p08-03-code/.runtime/P08-03/evidence-archive/pre-d369';roots=sorted(str(x.relative_to(B))for x in parent.iterdir()if x.is_dir()and not x.is_symlink());assert len(roots)==8
def check_idle():
c=sqlite3.connect('file:'+str(DB/'the-tree-p08-03-code/state.sqlite')+'?mode=ro',uri=True);assert c.execute("select count(*) from runs where finished is null and status not in ('failed','finished')").fetchone()[0]==0
ps=subprocess.check_output(['ps','-axo','pid,command'],text=True);opened=subprocess.run(['lsof','-n','-F','n'],capture_output=True,text=True).stdout
for s in roots:assert not any(str(B/s)in x for x in ps.splitlines())and not any(x.startswith('n'+str(B/s)+'/')for x in opened.splitlines())
if __name__=='__main__':
assert D.exists() and not any(D.iterdir());check_idle();old=json.loads((R04/'MANIFEST.json').read_bytes());objects={x['sha256']:x for x in old['members']if x['type']=='file'};before=shutil.disk_usage(R).free;rows=inv();missing=[x for x in rows if x['type']=='file'and(x['sha256']not in objects or objects[x['sha256']]['bytes']!=x['bytes'])]
save(D/'COVERAGE_CHECK.json',dict(files=sum(x['type']=='file'for x in rows),missing_files=len(missing),missing=[dict(path=x['path'],bytes=x['bytes'],sha256=x['sha256'])for x in missing],all_objects_available_in_verified_r04_cloud=not missing))
m=dict(base=str(B),roots=roots,members=rows,files=sum(x['type']=='file'for x in rows),logical_bytes=sum(x.get('bytes',0)for x in rows),free_before=before,source_r04_manifest_sha256=sha(R04/'MANIFEST.json'),source_r04_archive_sha256=json.loads((R04/'PREPARED.json').read_bytes())['sha256'],created=time.time(),scope='Idle superseded canonical pre-d369 historical P08 evidence only; current build and current candidates retained',formal_credit=0)
save(D/'MANIFEST.json',m);print(json.dumps(dict(files=m['files'],logical_bytes=m['logical_bytes'],missing=len(missing))),flush=True)
@@ -0,0 +1,9 @@
{
"actual_cloud_readback": true,
"whole_archive_sha256": "75953c3d35d5fbc633e7cb68c6510ea8ad33aa9b7591a83feccd1d8c69389cc0",
"bytes": 236897320,
"all_unique_payloads_verified": 6689,
"original_file_mappings_verified": 14259,
"manifest_identical": true,
"formal_credit": 0
}
@@ -0,0 +1,114 @@
[
{
"order": 0,
"offset": 0,
"path": "/private/tmp/tree-offload-cold-r06/upload-0000.bin",
"bytes": 67108864,
"sha256": "22c205b386248abf7b39b70c2b858a483654aa7e089a3d64b70a17a571886f53",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1MXFzQ_yfhmdJU9Q_dnWwqD7MNQlp8QYE",
"title": "cold-r06.tar.gz.part-0000",
"file_name": "cold-r06.tar.gz.part-0000",
"mime_type": "application/x-gzip",
"url": "https://drive.google.com/file/d/1MXFzQ_yfhmdJU9Q_dnWwqD7MNQlp8QYE/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1MXFzQ_yfhmdJU9Q_dnWwqD7MNQlp8QYE",
"title": "cold-r06.tar.gz.part-0000",
"file_name": "cold-r06.tar.gz.part-0000",
"mime_type": "application/x-gzip",
"url": "https://drive.google.com/file/d/1MXFzQ_yfhmdJU9Q_dnWwqD7MNQlp8QYE/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 1,
"offset": 67108864,
"path": "/private/tmp/tree-offload-cold-r06/upload-0001.bin",
"bytes": 67108864,
"sha256": "6e199f6f2d6efb73252038892f0dc2a41892aa1bbb3c2888b5b4b5e45270ba3c",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1Ws-lJGHGUPFVg0i43hdhct3vue6pkOW-",
"title": "cold-r06.tar.gz.part-0001",
"file_name": "cold-r06.tar.gz.part-0001",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1Ws-lJGHGUPFVg0i43hdhct3vue6pkOW-/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1Ws-lJGHGUPFVg0i43hdhct3vue6pkOW-",
"title": "cold-r06.tar.gz.part-0001",
"file_name": "cold-r06.tar.gz.part-0001",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1Ws-lJGHGUPFVg0i43hdhct3vue6pkOW-/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 2,
"offset": 134217728,
"path": "/private/tmp/tree-offload-cold-r06/upload-0002.bin",
"bytes": 67108864,
"sha256": "70bc0439aceba6fd5642b8e819b69959e977db25e993dfa027a9abb3ba2d6549",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1wDnWAWPIdFxs1RqHAG5ow2vOt4mkNekY",
"title": "cold-r06.tar.gz.part-0002",
"file_name": "cold-r06.tar.gz.part-0002",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1wDnWAWPIdFxs1RqHAG5ow2vOt4mkNekY/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1wDnWAWPIdFxs1RqHAG5ow2vOt4mkNekY",
"title": "cold-r06.tar.gz.part-0002",
"file_name": "cold-r06.tar.gz.part-0002",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1wDnWAWPIdFxs1RqHAG5ow2vOt4mkNekY/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 3,
"offset": 201326592,
"path": "/private/tmp/tree-offload-cold-r06/upload-0003.bin",
"bytes": 35570728,
"sha256": "ff1f41ae4c20f2b8c7b61877671e68f0e7e9fc6a8c8852e1748c5c06f99b0627",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1f-rJ_4Z1yV4lc7F2BBVartTFB84WZEJy",
"title": "cold-r06.tar.gz.part-0003",
"file_name": "cold-r06.tar.gz.part-0003",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1f-rJ_4Z1yV4lc7F2BBVartTFB84WZEJy/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1f-rJ_4Z1yV4lc7F2BBVartTFB84WZEJy",
"title": "cold-r06.tar.gz.part-0003",
"file_name": "cold-r06.tar.gz.part-0003",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1f-rJ_4Z1yV4lc7F2BBVartTFB84WZEJy/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
}
]
@@ -0,0 +1,25 @@
{
"scripts": [
{
"actual_executed_path": "/private/tmp/tree-offload-cold-r06.py",
"preserved_script": "tree-offload-cold-r06.py",
"sha256": "52ed2ad5db40d737f81309d524f0a6972d41120bb5d17aac80bc0f27c4ebf4b8"
},
{
"actual_executed_path": "/private/tmp/tree-offload-cold-r06-verify-cloud.py",
"preserved_script": "tree-offload-cold-r06-verify-cloud.py",
"sha256": "d4819004cc19f0f7c6c5811c8cc87956e8c72837c065f6bad27232f24debed3c"
},
{
"actual_executed_path": "/private/tmp/tree-offload-cold-r06-source-recheck.py",
"preserved_script": "tree-offload-cold-r06-source-recheck.py",
"sha256": "dfad371e44b3d047c6f72a90dd71c35519cb6949f9173d472b78928b04e93507"
},
{
"actual_executed_path": "/private/tmp/tree-offload-cold-r06-retire.py",
"preserved_script": "tree-offload-cold-r06-retire.py",
"sha256": "8d3ac0929902f4853f5d9503c89dd7d184b1412d8d3784cc93dd1ea9b61ad52d"
}
],
"note": "Historical executed tools; source manifests were gzip archived only after all execution/retirement gates passed. Restore.py is standalone recovery entrypoint."
}
@@ -0,0 +1,27 @@
{
"recorded_unix": 1792069625.883337,
"scope": "This request only: three new offload batches r04/r05/r06; prior offloads not added",
"batches": [
"drive-offload-review-material-r04-20261015",
"drive-offload-canonical-r05-20261015",
"drive-offload-cold-r06-20261015"
],
"retired_roots": 23,
"archived_original_file_paths": 80138,
"archived_logical_bytes": 14737457073,
"uploaded_payload_archive_bytes": 674319758,
"r05_reused_existing_cloud_objects_without_new_payload": true,
"free_before": 2699243520,
"free_after": 3348508672,
"net_observed_free_change": 649265152,
"logical_bytes_are_not_reclaimed_physical_bytes": true,
"cloud_folder_url": "https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"all_cloud_archive_payloads_and_mappings_retrieved_and_verified": true,
"all_source_members_rehashed_before_retirement": true,
"local_current_candidates_and_build_evidence_retained": true,
"p18_current_eight_receipts_unchanged": true,
"p08_current_alias_and_build_receipts_unchanged": true,
"p23_old_failed_diagnostic_outcomes_retained_locally": true,
"local_manifests_gzip_roundtrip_verified": true,
"formal_original_unit_credit": 0
}
@@ -0,0 +1,13 @@
# 証跡のGoogle Drive退避結果
今回の3バッチ(r04・r05・r06)だけを集計。23か所・80,138ファイル、論理サイズ14.737 GBを退避。実空き容量は開始時2.514 GiBから終了時3.119 GiBへ、純増0.605 GiB。論理サイズを物理回収量に換算しない。macOSの共有コピーのため見かけの容量と空きの回復量は異なる。
退避先: https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK
- r04: 終了済みレビュー11件の資料コピー。全47,574ファイル分の内容をDrive再取得で照合。
- r05: 旧版P08の8実行分、18,305ファイル。全内容がr04の検証済みオブジェクトに一致するため、本体の再送を省略。新しい元パス対応表・復元スクリプトもDrive再取得で照合。
- r06: P23旧候補49445d4-r13の診断一式とP08旧プレビュー3件、14,259ファイル。旧P23の不合格条件を含む小さな実行結果はローカルにも同じバイト内容で保持。現行P23の9a26候補には充当しない。
各バッチのCLOUD_PARTS.jsonまたはCLOUD_OBJECT_REUSE.jsonに実際のDriveファイルURLとSHA-256を保持。RESTORE.mdに復元手順、MANIFEST.json.gzに全元パス・サイズ・SHA-256・mode・mtimeを保持。gzipから復号した全バイトも元対応表と照合済み。公開範囲の変更は行っていない。
現在のP18候補265ce30および統合予行の計8主要証跡、現在のP08参照とbuild証跡は不変。実装worktree、現行候補、現在の検証証跡、原本、ユーザー保存データ、実行記録、レビュー回答を保持。ゲームの正式完了数は加算しない。
@@ -0,0 +1,29 @@
{
"original_name": "MANIFEST.json",
"uncompressed_bytes": 4919377,
"uncompressed_sha256": "db9c53deedb48cf78f8eda1b15481d6b15967870d5a12f190224073f7dbd9fb4",
"compressed_name": "MANIFEST.json.gz",
"compressed_bytes": 781400,
"compressed_sha256": "d34769ecb7af2b80ad3e70e7572089d6dded20f23d50222cdb4d27c72631ee34",
"cloud_manifest": {
"accepted_input": "file_uri",
"success": true,
"id": "1AjdqKoVypig1-47vbE1U8KpYqv2xKpFb",
"title": "cold-r06-MANIFEST.json",
"file_name": "cold-r06-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1AjdqKoVypig1-47vbE1U8KpYqv2xKpFb/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1AjdqKoVypig1-47vbE1U8KpYqv2xKpFb",
"title": "cold-r06-MANIFEST.json",
"file_name": "cold-r06-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1AjdqKoVypig1-47vbE1U8KpYqv2xKpFb/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"exact_content_verified": true
}
@@ -0,0 +1,48 @@
{
"reason": "Retain exact old unaccepted diagnostics and false conditions for ongoing audits while bulky source/profile copies are on Drive",
"files": [
{
"original": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/root-cua-trace.json",
"retained": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-cold-r06-20261015/retained-p23-r13-outcomes/root-cua-trace.json",
"sha256": "e1c8826a165d36c0bf2d9b2a4f02fba6f3d52ac2e0fc04f6a3bc9eadc95f0350",
"bytes": 18858
},
{
"original": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/os-proof.json",
"retained": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-cold-r06-20261015/retained-p23-r13-outcomes/os-proof.json",
"sha256": "7c5d043f10e6547d67fb60eabf215e740bdd86693ddddb42e9589c23bd2b40de",
"bytes": 162904
},
{
"original": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/parse-paths.json",
"retained": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-cold-r06-20261015/retained-p23-r13-outcomes/parse-paths.json",
"sha256": "47b7ecd0131e9e19b3a858f99424d91caac1323d3f447a712625e4fe20490e9e",
"bytes": 15803
},
{
"original": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/root-strict-pre-review.json",
"retained": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-cold-r06-20261015/retained-p23-r13-outcomes/root-strict-pre-review.json",
"sha256": "ad65ab0f2b2a5a8b0cccaf9e12dfc0be8231ab6f24589628089fe54c862353bc",
"bytes": 3202
},
{
"original": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/runner-input.json",
"retained": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-cold-r06-20261015/retained-p23-r13-outcomes/runner-input.json",
"sha256": "fd78bd2a24aa05f7b4cdf04a7d9358c2e859e2c70b3ce78a304c6a21451a4bbd",
"bytes": 318720
},
{
"original": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/index.json",
"retained": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-cold-r06-20261015/retained-p23-r13-outcomes/index.json",
"sha256": "c0cc9e939845b5f3ae8375d414327821eb75c3e5f5158ae32eb872eda1b99a03",
"bytes": 1424167
},
{
"original": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/runner-ended.json",
"retained": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-cold-r06-20261015/retained-p23-r13-outcomes/runner-ended.json",
"sha256": "d3069a1de33f49bb5be426dd67147910bf52ca912ffad0743957cf582d535bac",
"bytes": 3204
}
],
"formal_credit": 0
}
@@ -0,0 +1,7 @@
{
"archive": "/private/tmp/tree-offload-cold-r06/cold-r06.tar.gz",
"bytes": 236897320,
"sha256": "75953c3d35d5fbc633e7cb68c6510ea8ad33aa9b7591a83feccd1d8c69389cc0",
"all_members_verified": true,
"unique_payloads": 6689
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1fAnug1qqMbpC30j5NQ9MpEcAXOUk94fL",
"title": "cold-r06-CLOUD_ARCHIVE_VERIFIED.json",
"file_name": "cold-r06-CLOUD_ARCHIVE_VERIFIED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1fAnug1qqMbpC30j5NQ9MpEcAXOUk94fL/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1fAnug1qqMbpC30j5NQ9MpEcAXOUk94fL",
"title": "cold-r06-CLOUD_ARCHIVE_VERIFIED.json",
"file_name": "cold-r06-CLOUD_ARCHIVE_VERIFIED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1fAnug1qqMbpC30j5NQ9MpEcAXOUk94fL/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "07f53e41dd238db4e9ddc0fb29cd9cf38777c61298a5f5cf62cd401bf9441deb",
"bytes": 288
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1hVH1bFxeRJR739YCJo6cejb5VouO4MAp",
"title": "cold-r06-CLOUD_PARTS.json",
"file_name": "cold-r06-CLOUD_PARTS.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1hVH1bFxeRJR739YCJo6cejb5VouO4MAp/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1hVH1bFxeRJR739YCJo6cejb5VouO4MAp",
"title": "cold-r06-CLOUD_PARTS.json",
"file_name": "cold-r06-CLOUD_PARTS.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1hVH1bFxeRJR739YCJo6cejb5VouO4MAp/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "ef6fea99bd5f2b092c38c2c066aee99f00fd47ef20bcf36a6c495a941de21113",
"bytes": 4558
}
@@ -0,0 +1,24 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "19sUILvigTR84_UFpn4x2OMw7tzC59k4z",
"title": "offload-r04-r06-FINAL_REPORT.json",
"file_name": "offload-r04-r06-FINAL_REPORT.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/19sUILvigTR84_UFpn4x2OMw7tzC59k4z/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "19sUILvigTR84_UFpn4x2OMw7tzC59k4z",
"title": "offload-r04-r06-FINAL_REPORT.json",
"file_name": "offload-r04-r06-FINAL_REPORT.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/19sUILvigTR84_UFpn4x2OMw7tzC59k4z/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "d34795aee5e9686ba7330e94f9d0856db96d2931549ab19a671e0c647e503bd6"
}
@@ -0,0 +1,24 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "127T4_zEJhsGlgThLkhZbDR6-dR8e6FMv",
"title": "offload-r04-r06-FINAL_REPORT.md",
"file_name": "offload-r04-r06-FINAL_REPORT.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/127T4_zEJhsGlgThLkhZbDR6-dR8e6FMv/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "127T4_zEJhsGlgThLkhZbDR6-dR8e6FMv",
"title": "offload-r04-r06-FINAL_REPORT.md",
"file_name": "offload-r04-r06-FINAL_REPORT.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/127T4_zEJhsGlgThLkhZbDR6-dR8e6FMv/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "fa4ea3291637d060e671e5f99ad76ca9eee480953c7c425c079074137e945c61"
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1AjdqKoVypig1-47vbE1U8KpYqv2xKpFb",
"title": "cold-r06-MANIFEST.json",
"file_name": "cold-r06-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1AjdqKoVypig1-47vbE1U8KpYqv2xKpFb/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1AjdqKoVypig1-47vbE1U8KpYqv2xKpFb",
"title": "cold-r06-MANIFEST.json",
"file_name": "cold-r06-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1AjdqKoVypig1-47vbE1U8KpYqv2xKpFb/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "db9c53deedb48cf78f8eda1b15481d6b15967870d5a12f190224073f7dbd9fb4",
"bytes": 4919377
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1SU1qY9FZd2I1uw0Kok4E64zBksIu7_oi",
"title": "cold-r06-PREPARED.json",
"file_name": "cold-r06-PREPARED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1SU1qY9FZd2I1uw0Kok4E64zBksIu7_oi/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1SU1qY9FZd2I1uw0Kok4E64zBksIu7_oi",
"title": "cold-r06-PREPARED.json",
"file_name": "cold-r06-PREPARED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1SU1qY9FZd2I1uw0Kok4E64zBksIu7_oi/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "7c166916784393ff2ebb9f857482382b45a853bdcbe1879d9ab150cb78ac4dd6",
"bytes": 231
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1EzPkW1mZ6sSaaJzLVkK0ur1Lg8PSeVP4",
"title": "cold-r06-RESTORE.md",
"file_name": "cold-r06-RESTORE.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/1EzPkW1mZ6sSaaJzLVkK0ur1Lg8PSeVP4/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1EzPkW1mZ6sSaaJzLVkK0ur1Lg8PSeVP4",
"title": "cold-r06-RESTORE.md",
"file_name": "cold-r06-RESTORE.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/1EzPkW1mZ6sSaaJzLVkK0ur1Lg8PSeVP4/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "740d91711a465f535b82350ae0f2b83b360696d8859850a592545dd5965d0cc0",
"bytes": 971
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1iRbjOkdZ4fuDapeye8vTL7reH5jf-J48",
"title": "cold-r06-restore.py",
"file_name": "cold-r06-restore.py",
"mime_type": "text/x-python",
"url": "https://drive.google.com/file/d/1iRbjOkdZ4fuDapeye8vTL7reH5jf-J48/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1iRbjOkdZ4fuDapeye8vTL7reH5jf-J48",
"title": "cold-r06-restore.py",
"file_name": "cold-r06-restore.py",
"mime_type": "text/x-python",
"url": "https://drive.google.com/file/d/1iRbjOkdZ4fuDapeye8vTL7reH5jf-J48/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "9e5fae33042236e7c863931f6731c8867d89c075d14d28fd45571ee844ccdc4f",
"bytes": 1288
}
@@ -0,0 +1,9 @@
# 旧P23診断とP08旧プレビューの復元
退避先: https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK
CLOUD_PARTS.json の順に cold-r06.tar.gz.part-0000 以降を取得。各SHA-256とサイズを照合して連結し、PREPARED.json の全体SHA-256を確認する。
`python3 restore.py cold-r06.tar.gz /Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02`
既存ファイルを上書きしない。全ファイルのサイズ・SHA-256・mode・mtimeを確認する。詳細な元パス対応はアーカイブ内 MANIFEST.json、ローカルの MANIFEST.json.gz、Driveの cold-r06-MANIFEST.json に保持。旧P23の index/os-proof/Rootの不合格条件/runner入出力は retained-p23-r13-outcomes に同じバイト内容を残す。旧診断を合格や現行9a26候補の証拠に変更しない。現行候補・全P18証跡・P08現行証跡は退避対象外。
@@ -0,0 +1,22 @@
{
"recorded_unix": 1792069525.880496,
"files": 14259,
"roots": [
"p23-03-native-os-49445d4-r13",
"p08-runtime-preview-8d52b20-target-r02/stage",
"p08-runtime-preview-78dc82d-targeted-r01/stage",
"p08-runtime-preview-12f04d6-target-impact-r03/stage"
],
"logical_bytes": 1262084277,
"unique_bytes": 784595702,
"cloud_archive_bytes": 236897320,
"free_before_selection": 3159797760,
"free_before_retirement": 2663612416,
"free_after": 3310927872,
"net_free_change_from_selection": 151130112,
"actual_cloud_readback_all_payloads_verified": true,
"retired_only_manifest_members": true,
"current_sources_build_evidence_run_records_review_results_retained": true,
"temporary_archives_removed_after_verification": true,
"formal_credit": 0
}
@@ -0,0 +1,15 @@
{
"unix": 1792069524.3539698,
"manifest_sha256": "db9c53deedb48cf78f8eda1b15481d6b15967870d5a12f190224073f7dbd9fb4",
"whole_archive_sha256": "75953c3d35d5fbc633e7cb68c6510ea8ad33aa9b7591a83feccd1d8c69389cc0",
"full_cloud_content_verified": true,
"all_sources_rehashed_and_stat_rechecked": true,
"active_jobs_and_open_files_zero": true,
"files": 14259,
"roots": [
"p23-03-native-os-49445d4-r13",
"p08-runtime-preview-8d52b20-target-r02/stage",
"p08-runtime-preview-78dc82d-targeted-r01/stage",
"p08-runtime-preview-12f04d6-target-impact-r03/stage"
]
}
@@ -0,0 +1,5 @@
{
"recorded_unix": 1792069422.347965,
"all_sources_unchanged": true,
"manifest_sha256": "db9c53deedb48cf78f8eda1b15481d6b15967870d5a12f190224073f7dbd9fb4"
}
@@ -0,0 +1,21 @@
"""Restore content-addressed archive without overwriting existing files."""
import argparse,hashlib,json,os,tarfile
from pathlib import Path
p=argparse.ArgumentParser();p.add_argument('archive');p.add_argument('destination');a=p.parse_args();dest=Path(a.destination).resolve()
with tarfile.open(a.archive,'r:gz')as t:
m=json.loads(t.extractfile('MANIFEST.json').read());rows=m['members'];expected={'MANIFEST.json'}|{'objects/'+x['sha256']for x in rows if x['type']=='file'}
assert {x.name for x in t.getmembers()}==expected and len(t.getmembers())==len(expected)
for x in rows:
target=dest/x['path'];assert target.resolve().is_relative_to(dest) and not target.exists()
for x in rows:
q=dest/x['path']
if x['type']=='directory':q.mkdir(parents=True,exist_ok=True)
else:
q.parent.mkdir(parents=True,exist_ok=True);h=hashlib.sha256()
with q.open('xb')as out,t.extractfile('objects/'+x['sha256'])as f:
for b in iter(lambda:f.read(1048576),b''):h.update(b);out.write(b)
assert q.stat().st_size==x['bytes'] and h.hexdigest()==x['sha256']
os.chmod(q,x['mode']);os.utime(q,ns=(x['mtime_ns'],x['mtime_ns']))
for x in reversed(rows):
if x['type']=='directory':os.utime(dest/x['path'],ns=(x['mtime_ns'],x['mtime_ns']))
print('Restored and verified',m['files'],'files')
@@ -0,0 +1,321 @@
[
"res://autoload/event_bus.gd",
"res://autoload/game_clock.gd",
"res://autoload/game_state.gd",
"res://autoload/simulation_runtime.gd",
"res://scenes/main/main.gd",
"res://scenes/main/world_preview.gd",
"res://scripts/authority/authority_service.gd",
"res://scripts/authority/evidence.gd",
"res://scripts/authority/heat_state.gd",
"res://scripts/authority/incident.gd",
"res://scripts/authority/inspection.gd",
"res://scripts/construction/construction_job.gd",
"res://scripts/construction/construction_service.gd",
"res://scripts/construction/excavation_service.gd",
"res://scripts/construction/facility_resize_preview.gd",
"res://scripts/construction/facility_resize_routes.gd",
"res://scripts/construction/placement_report.gd",
"res://scripts/core/command.gd",
"res://scripts/core/command_queue.gd",
"res://scripts/core/command_result.gd",
"res://scripts/core/definition_registry.gd",
"res://scripts/core/deterministic_rng.gd",
"res://scripts/core/domain_event.gd",
"res://scripts/core/domain_event_stream.gd",
"res://scripts/core/performance_budget.gd",
"res://scripts/core/save_migration_registry.gd",
"res://scripts/core/save_service.gd",
"res://scripts/core/simulation_digest.gd",
"res://scripts/core/simulation_kernel.gd",
"res://scripts/core/simulation_snapshot.gd",
"res://scripts/core/stable_id_generator.gd",
"res://scripts/core/state_transaction.gd",
"res://scripts/data/facility_catalog.gd",
"res://scripts/data/facility_definition.gd",
"res://scripts/data/mvp_content_catalog.gd",
"res://scripts/defense/defense_service.gd",
"res://scripts/economy/economy_service.gd",
"res://scripts/economy/facility_upkeep_accrual.gd",
"res://scripts/economy/facility_upkeep_settlement.gd",
"res://scripts/economy/ledger_backed_resource_state.gd",
"res://scripts/economy/ledger_entry.gd",
"res://scripts/environment/facility_cleaning_bridge.gd",
"res://scripts/environment/facility_cleaning_policy.gd",
"res://scripts/environment/facility_cleanliness_service.gd",
"res://scripts/environment/weather_timeline.gd",
"res://scripts/events/event_action.gd",
"res://scripts/events/event_choice.gd",
"res://scripts/events/event_condition.gd",
"res://scripts/events/event_definition.gd",
"res://scripts/events/event_instance.gd",
"res://scripts/events/event_service.gd",
"res://scripts/facility/facility_instance.gd",
"res://scripts/facility/facility_pricing.gd",
"res://scripts/facility/facility_service.gd",
"res://scripts/facility/service_instance.gd",
"res://scripts/facility/service_request.gd",
"res://scripts/guest/guest_definition.gd",
"res://scripts/guest/guest_runtime.gd",
"res://scripts/guest/guest_service.gd",
"res://scripts/inventory/inventory_reservation.gd",
"res://scripts/inventory/inventory_service.gd",
"res://scripts/inventory/logistics_dispatcher.gd",
"res://scripts/inventory/logistics_request.gd",
"res://scripts/mana/mana_network_service.gd",
"res://scripts/mana/mana_power_projection.gd",
"res://scripts/mana/mana_reserve_balance.gd",
"res://scripts/operations/operations_coordinator.gd",
"res://scripts/progression/progression_service.gd",
"res://scripts/relationship/placement_risk_preview_service.gd",
"res://scripts/relationship/relationship_service.gd",
"res://scripts/relationship/relationship_state.gd",
"res://scripts/staff/shift_instance.gd",
"res://scripts/staff/staff_commute_service.gd",
"res://scripts/staff/staff_runtime.gd",
"res://scripts/staff/staff_service.gd",
"res://scripts/staff/staff_task.gd",
"res://scripts/staff/task_dispatcher.gd",
"res://scripts/supply/kitchen_production_service.gd",
"res://scripts/supply/supply_auto_purchase_plans.gd",
"res://scripts/supply/supply_auto_purchase_quote_plans.gd",
"res://scripts/supply/supply_catalog.gd",
"res://scripts/supply/supply_logistics_bridge.gd",
"res://scripts/supply/supply_management_service.gd",
"res://scripts/supply/supply_purchase_quote_v2.gd",
"res://scripts/transport/elevator_service.gd",
"res://scripts/ui/business_management_panel.gd",
"res://scripts/ui/defense_management_panel.gd",
"res://scripts/ui/event_log_dialog.gd",
"res://scripts/ui/guest_observation_panel.gd",
"res://scripts/ui/inactive_layer_rooms.gd",
"res://scripts/ui/infirmary_room_art.gd",
"res://scripts/ui/inn_opening_guide.gd",
"res://scripts/ui/layer_interface_skin.gd",
"res://scripts/ui/manual_save_slots_dialog.gd",
"res://scripts/ui/operating_ledger_panel.gd",
"res://scripts/ui/paired_bgm.gd",
"res://scripts/ui/pixel_people.gd",
"res://scripts/ui/pixel_tower_art.gd",
"res://scripts/ui/pixel_tower_demo.gd",
"res://scripts/ui/room_presentation.gd",
"res://scripts/ui/staff_management_panel.gd",
"res://scripts/ui/standard_room_art.gd",
"res://scripts/ui/supply_management_panel.gd",
"res://scripts/ui/ui_audio_feedback.gd",
"res://scripts/ui/ui_audio_owner_shutdown.gd",
"res://scripts/ui/ui_audio_settings_dialog.gd",
"res://scripts/ui/visual_theme_profile.gd",
"res://scripts/ui/world_tree_rank_dialog.gd",
"res://scripts/world/facility_infrastructure_projector.gd",
"res://scripts/world/legacy_stair_service.gd",
"res://scripts/world/path_service.gd",
"res://scripts/world/route_subslot_path_adapter.gd",
"res://scripts/world/spatial_subslot_service.gd",
"res://scripts/world/world_service.gd",
"res://tests/business/test_business_closure.gd",
"res://tests/business/test_business_operations.gd",
"res://tests/business/test_required_kitchen.gd",
"res://tests/environment/test_cleaning_access.gd",
"res://tests/environment/test_facility_cleanliness.gd",
"res://tests/environment/test_runtime_cleanliness.gd",
"res://tests/environment/test_runtime_weather.gd",
"res://tests/environment/test_weather_recovery.gd",
"res://tests/environment/test_weather_timeline.gd",
"res://tests/export/test_exported_opening.gd",
"res://tests/fixtures/p08-02/mixed_world.gd",
"res://tests/fixtures/p08-02/reader.gd",
"res://tests/fixtures/p08-02/writer.gd",
"res://tests/fixtures/p08-03/passive_placement.gd",
"res://tests/fixtures/p08-03/placement.gd",
"res://tests/fixtures/p23-03/diagnostic_stream.gd",
"res://tests/fixtures/p23-03/layout_comparison.gd",
"res://tests/fixtures/p23-03/observation.gd",
"res://tests/fixtures/p23-03/passive_observation.gd",
"res://tests/fixtures/p23-03/passive_os_recorder.gd",
"res://tests/fixtures/pre_auto_purchase_runtime.gd",
"res://tests/fixtures/pre_upkeep_runtime.gd",
"res://tests/fixtures/required_kitchen_setup.gd",
"res://tests/helpers/ui_audio_fixture_cleanup.gd",
"res://tests/helpers/ui_audio_teardown.gd",
"res://tests/mvp/test_amelia_donations.gd",
"res://tests/mvp/test_anri_floor_pricing.gd",
"res://tests/mvp/test_approved_free_unique_arrears.gd",
"res://tests/mvp/test_chapel_boundaries.gd",
"res://tests/mvp/test_chapel_service.gd",
"res://tests/mvp/test_fine_cleaning_effect.gd",
"res://tests/mvp/test_mvp_content_catalog.gd",
"res://tests/mvp/test_operations_coordinator.gd",
"res://tests/mvp/test_original_midnight_settlement.gd",
"res://tests/mvp/test_original_room_zones.gd",
"res://tests/mvp/test_pending_service_pricing_report.gd",
"res://tests/mvp/test_premium_room.gd",
"res://tests/mvp/test_premium_room_guest_flow.gd",
"res://tests/mvp/test_progression_service.gd",
"res://tests/mvp/test_runtime_content_progression.gd",
"res://tests/mvp/test_runtime_mana_depletion.gd",
"res://tests/mvp/test_runtime_operations_acceptance.gd",
"res://tests/mvp/test_runtime_operations_integration.gd",
"res://tests/mvp/test_runtime_upkeep.gd",
"res://tests/mvp/test_staff_unique_contract_report.gd",
"res://tests/mvp/test_tomari_floor_trouble.gd",
"res://tests/mvp/test_unique_character_validation_policy.gd",
"res://tests/mvp/test_upkeep_construction_boundaries.gd",
"res://tests/mvp/test_upkeep_legacy_midnight.gd",
"res://tests/mvp/test_upkeep_loss_streak.gd",
"res://tests/performance/fixtures/linear_path_reference.gd",
"res://tests/performance/fixtures/simulation_digest_v1_reference.gd",
"res://tests/performance/fixtures/uncached_preview_reference.gd",
"res://tests/performance/perf_mvp_001_harness.gd",
"res://tests/performance/profile_production_scene.gd",
"res://tests/performance/test_digest_performance.gd",
"res://tests/performance/test_facility_reachability.gd",
"res://tests/performance/test_lazy_digest.gd",
"res://tests/performance/test_mvp_manifest_cache.gd",
"res://tests/performance/test_path_membership.gd",
"res://tests/performance/test_perf_mvp_001.gd",
"res://tests/performance/test_snapshot_ownership.gd",
"res://tests/performance/test_system_optimization.gd",
"res://tests/performance/test_world_snapshot_cache.gd",
"res://tests/run_tests.gd",
"res://tests/s0/test_command_snapshot_key_order.gd",
"res://tests/s0/test_command_transaction.gd",
"res://tests/s0/test_definition_registry.gd",
"res://tests/s0/test_determinism.gd",
"res://tests/s0/test_domain_events.gd",
"res://tests/s0/test_kernel_and_save.gd",
"res://tests/s0/test_runtime_integration.gd",
"res://tests/s0/test_stable_id_generator.gd",
"res://tests/s1/test_construction_service.gd",
"res://tests/s1/test_dimension_batch_save.gd",
"res://tests/s1/test_excavation_service.gd",
"res://tests/s1/test_facility_infrastructure_projector.gd",
"res://tests/s1/test_facility_resize_preview.gd",
"res://tests/s1/test_original_facility_dimensions.gd",
"res://tests/s1/test_p08_combined_migration.gd",
"res://tests/s1/test_path_congestion.gd",
"res://tests/s1/test_path_service.gd",
"res://tests/s1/test_path_snapshot_transit_guard.gd",
"res://tests/s1/test_route_subslot_path_adapter.gd",
"res://tests/s1/test_runtime_infrastructure_integration.gd",
"res://tests/s1/test_runtime_world_construction.gd",
"res://tests/s1/test_spatial_subslot_service.gd",
"res://tests/s1/test_weighted_resize_runtime.gd",
"res://tests/s1/test_world_service.gd",
"res://tests/s2/test_economy_service.gd",
"res://tests/s2/test_facility_pricing.gd",
"res://tests/s2/test_facility_service.gd",
"res://tests/s2/test_facility_upkeep_accrual.gd",
"res://tests/s2/test_facility_upkeep_settlement.gd",
"res://tests/s2/test_inventory_logistics.gd",
"res://tests/s2/test_kitchen_production.gd",
"res://tests/s2/test_ledger_backed_resources.gd",
"res://tests/s2/test_mana_network_service.gd",
"res://tests/s2/test_mana_power_projection.gd",
"res://tests/s2/test_mana_reserve_balance.gd",
"res://tests/s2/test_original_facility_parameters.gd",
"res://tests/s2/test_runtime_operations_cycle.gd",
"res://tests/s2/test_service_start_slots.gd",
"res://tests/s3/test_guest_observation_restore_order.gd",
"res://tests/s3/test_guest_service.gd",
"res://tests/s3/test_runtime_actor_cycle.gd",
"res://tests/s3/test_runtime_actor_hardening.gd",
"res://tests/s3/test_runtime_path_traffic.gd",
"res://tests/s3/test_runtime_staff_assignment.gd",
"res://tests/s3/test_staff_payroll_operations.gd",
"res://tests/s3/test_staff_service.gd",
"res://tests/s4/test_placement_risk_preview_service.gd",
"res://tests/s4/test_relationship_event_service.gd",
"res://tests/s4/test_runtime_relationship_events.gd",
"res://tests/s5/test_authority_service.gd",
"res://tests/s5/test_defense_service.gd",
"res://tests/s5/test_runtime_authority_cycle.gd",
"res://tests/s5/test_runtime_defense_autonomy.gd",
"res://tests/s5/test_runtime_defense_cycle.gd",
"res://tests/s5/test_runtime_event_defense.gd",
"res://tests/s6/test_performance_budget.gd",
"res://tests/s6/test_runtime_save_lifecycle.gd",
"res://tests/s6/test_runtime_snapshot_serialization.gd",
"res://tests/s6/test_save_operations.gd",
"res://tests/s6/test_save_preflight.gd",
"res://tests/s6/test_save_recovery_preservation.gd",
"res://tests/staff/test_dormitory_dimension_migration.gd",
"res://tests/staff/test_dormitory_shift_cycle.gd",
"res://tests/staff/test_rescue_elevator.gd",
"res://tests/staff/test_shift_rush.gd",
"res://tests/staff/test_staff_commute.gd",
"res://tests/staff/test_staff_dormitory.gd",
"res://tests/staff/test_staff_rescue.gd",
"res://tests/staff/test_staff_rest.gd",
"res://tests/staff/test_task_work_clock.gd",
"res://tests/supply/test_mimi_purchase_quote.gd",
"res://tests/supply/test_normal_auto_purchase_chain.gd",
"res://tests/supply/test_normal_supply_chain.gd",
"res://tests/supply/test_supply_auto_purchase.gd",
"res://tests/supply/test_supply_auto_purchase_boundaries.gd",
"res://tests/supply/test_supply_auto_purchase_destruction.gd",
"res://tests/supply/test_supply_logistics_bridge.gd",
"res://tests/supply/test_supply_management_service.gd",
"res://tests/supply/test_supply_save_migration.gd",
"res://tests/transport/test_elevator_service.gd",
"res://tests/transport/test_runtime_build_preview.gd",
"res://tests/transport/test_runtime_stairs.gd",
"res://tests/transport/test_runtime_transport.gd",
"res://tests/transport/test_runtime_transport_comparison.gd",
"res://tests/transport/test_transport_boundaries.gd",
"res://tests/transport/test_transport_comparison.gd",
"res://tests/transport/test_transport_density_migration.gd",
"res://tests/transport/test_transport_save.gd",
"res://tests/ui/capture_main_dashboard.gd",
"res://tests/ui/capture_pixel_tower.gd",
"res://tests/ui/fixtures/counted_dashboard.gd",
"res://tests/ui/fixtures/opening_restart_flow.gd",
"res://tests/ui/fixtures/selection_cross_process.gd",
"res://tests/ui/test_actor_selection.gd",
"res://tests/ui/test_anri_recruitment.gd",
"res://tests/ui/test_approved_free_unique_arrears_ui.gd",
"res://tests/ui/test_business_management.gd",
"res://tests/ui/test_chapel_gameplay.gd",
"res://tests/ui/test_cleaning_gameplay.gd",
"res://tests/ui/test_dashboard_coalescing.gd",
"res://tests/ui/test_defense_management.gd",
"res://tests/ui/test_dimension_migration_ui.gd",
"res://tests/ui/test_elevator_management.gd",
"res://tests/ui/test_event_log_ui.gd",
"res://tests/ui/test_first_operating_day.gd",
"res://tests/ui/test_guest_decision_log.gd",
"res://tests/ui/test_guest_observation.gd",
"res://tests/ui/test_layer_presentation.gd",
"res://tests/ui/test_layer_skin.gd",
"res://tests/ui/test_main_audio_feedback.gd",
"res://tests/ui/test_main_dashboard.gd",
"res://tests/ui/test_opening_assignment.gd",
"res://tests/ui/test_original_build_pointer.gd",
"res://tests/ui/test_original_facility_controls.gd",
"res://tests/ui/test_p08_normal_placement_ops.gd",
"res://tests/ui/test_p23_life_observation.gd",
"res://tests/ui/test_paired_bgm.gd",
"res://tests/ui/test_pixel_tower.gd",
"res://tests/ui/test_rank_pointer.gd",
"res://tests/ui/test_room_presentation.gd",
"res://tests/ui/test_selection_autosave.gd",
"res://tests/ui/test_selection_departure.gd",
"res://tests/ui/test_selection_lifecycle.gd",
"res://tests/ui/test_staff_management.gd",
"res://tests/ui/test_staff_rescue.gd",
"res://tests/ui/test_staff_rest.gd",
"res://tests/ui/test_stair_transport_details.gd",
"res://tests/ui/test_supply_auto_purchase_ui.gd",
"res://tests/ui/test_supply_management.gd",
"res://tests/ui/test_ui_audio_feedback.gd",
"res://tests/ui/test_ui_presentation_audio_contract.gd",
"res://tests/ui/test_upkeep_closed_ui.gd",
"res://tests/ui/test_upkeep_inspector.gd",
"res://tests/ui/test_world_tree_rank.gd",
"res://tests/world/test_elevator_topology.gd",
"res://tests/world/test_legacy_stairs.gd",
"res://tests/world/test_path_transit_density.gd",
"res://tests/world/test_path_vertical_policy.gd",
"res://tests/world/test_stair_infrastructure.gd",
"res://tools/capture_facility_audit.gd"
]
@@ -0,0 +1,29 @@
{
"scope": "frozen checker before independent visual verdicts; preparation only",
"candidate": "49445d4a4d38281eb29dab1c1f85dd2b8ffbed11",
"checker_sha256": "927f8f63eef7d55c4a9f96783e7240adb05ad236c9252dd8b9e27e9beb996683",
"elapsed_seconds": 269.671074125,
"deficits": [
"missing actual OS A semantic/pixel coverage: room",
"missing actual OS A semantic/pixel coverage: queue",
"missing actual OS A semantic/pixel coverage: EV",
"missing actual OS A semantic/pixel coverage: staff",
"missing actual OS A semantic/pixel coverage: goods",
"missing actual OS A semantic/pixel coverage: business",
"missing actual OS B semantic/pixel coverage: room",
"missing actual OS B semantic/pixel coverage: queue",
"missing actual OS B semantic/pixel coverage: EV",
"missing actual OS B semantic/pixel coverage: staff",
"missing actual OS B semantic/pixel coverage: goods",
"missing actual OS B semantic/pixel coverage: business",
"room_occupancy_and_operation: {\"room\": [\"os_guards\", \"pixels_room\"], \"queue\": [\"os_guards\", \"pixels_queue\"], \"EV\": [\"os_guards\", \"pixels_EV\"], \"staff\": [\"os_guards\", \"pixels_staff\"], \"goods\": [\"os_guards\", \"pixels_goods\"], \"business\": [\"os_guards\", \"pixels_business\"]}",
"queues_and_overflow: {\"room\": [\"os_guards\", \"pixels_room\"], \"queue\": [\"os_guards\", \"pixels_queue\"], \"EV\": [\"os_guards\", \"pixels_EV\"], \"staff\": [\"os_guards\", \"pixels_staff\"], \"goods\": [\"os_guards\", \"pixels_goods\"], \"business\": [\"os_guards\", \"pixels_business\"]}",
"elevator_state_and_passengers: {\"room\": [\"os_guards\", \"pixels_room\"], \"queue\": [\"os_guards\", \"pixels_queue\"], \"EV\": [\"os_guards\", \"pixels_EV\"], \"staff\": [\"os_guards\", \"pixels_staff\"], \"goods\": [\"os_guards\", \"pixels_goods\"], \"business\": [\"os_guards\", \"pixels_business\"]}",
"staff_state_and_jobs: {\"room\": [\"os_guards\", \"pixels_room\"], \"queue\": [\"os_guards\", \"pixels_queue\"], \"EV\": [\"os_guards\", \"pixels_EV\"], \"staff\": [\"os_guards\", \"pixels_staff\"], \"goods\": [\"os_guards\", \"pixels_goods\"], \"business\": [\"os_guards\", \"pixels_business\"]}",
"supplies_and_carried_goods: {\"room\": [\"os_guards\", \"pixels_room\"], \"queue\": [\"os_guards\", \"pixels_queue\"], \"EV\": [\"os_guards\", \"pixels_EV\"], \"staff\": [\"os_guards\", \"pixels_staff\"], \"goods\": [\"os_guards\", \"pixels_goods\"], \"business\": [\"os_guards\", \"pixels_business\"]}",
"same_demand_route_improvement: {\"room\": [\"os_guards\", \"pixels_room\"], \"queue\": [\"os_guards\", \"pixels_queue\"], \"EV\": [\"os_guards\", \"pixels_EV\"], \"staff\": [\"os_guards\", \"pixels_staff\"], \"goods\": [\"os_guards\", \"pixels_goods\"], \"business\": [\"os_guards\", \"pixels_business\"]}",
"normal_os_and_distinct_pid_resume: {\"room\": [\"os_guards\", \"pixels_room\"], \"queue\": [\"os_guards\", \"pixels_queue\"], \"EV\": [\"os_guards\", \"pixels_EV\"], \"staff\": [\"os_guards\", \"pixels_staff\"], \"goods\": [\"os_guards\", \"pixels_goods\"], \"business\": [\"os_guards\", \"pixels_business\"]}"
],
"uncaught_error": null,
"formal_credit": 0
}
@@ -0,0 +1,122 @@
{
"error": null,
"cleanup": [
{
"pid": 15998,
"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
},
{
"pid": 16095,
"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
},
{
"pid": 16134,
"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
},
{
"pid": 16228,
"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": [],
"phases": [
"runs/import/import-receipt.json",
"runs/parse/parse-receipt.json",
"runs/layout-a/layout-a-receipt.json",
"runs/layout-b/layout-b-receipt.json"
],
"formal_acceptance": false,
"native_Windows": "pending"
}
@@ -0,0 +1,19 @@
globals().update(__import__('runpy').run_path('/private/tmp/tree-offload-cold-r06.py',run_name='offload_library'))
m=json.loads((D/'MANIFEST.json').read_bytes());roots=m['roots'];rows=m['members'];p=json.loads((D/'PREPARED.json').read_bytes());v=json.loads((D/'CLOUD_ARCHIVE_VERIFIED.json').read_bytes());src=json.loads((D/'SOURCE_RECHECK.json').read_bytes())
assert v['actual_cloud_readback']and v['whole_archive_sha256']==p['sha256']and v['original_file_mappings_verified']==m['files'];assert src['all_sources_unchanged']and src['manifest_sha256']==sha(D/'MANIFEST.json')and time.time()-src['recorded_unix']<3600
for name in ['MANIFEST.json','PREPARED.json','CLOUD_PARTS.json','CLOUD_ARCHIVE_VERIFIED.json','RESTORE.md','restore.py']:
r=json.loads((D/('READBACK-'+name+'.json')).read_bytes());assert r['actual_cloud_readback_verified']and r['sha256']==sha(D/name)
assert not(D/'RETIREMENT.json').exists();idle()
for x in rows:
q=B/x['path'];st=q.lstat();assert not q.is_symlink()and (q.is_file()if x['type']=='file'else q.is_dir());assert st.st_mtime_ns==x['mtime_ns']and st.st_mode&0o7777==x['mode'];assert x['type']!='file'or st.st_size==x['bytes']
for q in [Path(p['archive']),T/'cloud-readback.tar.gz']:assert q.stat().st_size==p['bytes']and sha(q)==p['sha256']
free=shutil.disk_usage(R).free;save(D/'RETIREMENT_INTENT.json',dict(unix=time.time(),manifest_sha256=sha(D/'MANIFEST.json'),whole_archive_sha256=p['sha256'],full_cloud_content_verified=True,all_sources_rehashed_and_stat_rechecked=True,active_jobs_and_open_files_zero=True,files=m['files'],roots=roots))
for x in rows:
if x['type']=='file':(B/x['path']).unlink()
for x in sorted(rows,key=lambda x:len(Path(x['path']).parts),reverse=True):
if x['type']=='directory':(B/x['path']).rmdir()
for s in roots:
root=B/s;assert not root.exists();pointer=root.parent/(root.name+'.CLOUD_ARCHIVE_R06.json');assert not pointer.exists();save(pointer,dict(state='cloud_archived',original_root=str(root),folder_url='https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK',cloud_parts=str(D/'CLOUD_PARTS.json'),restore=str(D/'RESTORE.md'),whole_archive_sha256=p['sha256'],source_and_current_canonical_build_evidence_retained=True,formal_credit=0))
for q in [Path(p['archive']),T/'cloud-readback.tar.gz']:q.unlink()
res=dict(recorded_unix=time.time(),files=m['files'],roots=roots,logical_bytes=m['logical_bytes'],unique_bytes=m['unique_bytes'],cloud_archive_bytes=p['bytes'],free_before_selection=m['free_before'],free_before_retirement=free,free_after=shutil.disk_usage(R).free,net_free_change_from_selection=shutil.disk_usage(R).free-m['free_before'],actual_cloud_readback_all_payloads_verified=True,retired_only_manifest_members=True,current_sources_build_evidence_run_records_review_results_retained=True,temporary_archives_removed_after_verification=True,formal_credit=0)
save(D/'RETIREMENT.json',res);print(json.dumps(res),flush=True)
@@ -0,0 +1,2 @@
globals().update(__import__('runpy').run_path('/private/tmp/tree-offload-cold-r06.py',run_name='offload_library'))
m=json.loads((D/'MANIFEST.json').read_bytes());idle();assert inv()==m['members'];save(D/'SOURCE_RECHECK.json',dict(recorded_unix=time.time(),all_sources_unchanged=True,manifest_sha256=sha(D/'MANIFEST.json')));print('All 14,259 source files rehashed and unchanged',flush=True)
@@ -0,0 +1,14 @@
globals().update(__import__('runpy').run_path('/private/tmp/tree-offload-cold-r06.py',run_name='offload_library'))
p=json.loads((D/'PREPARED.json').read_bytes());m=json.loads((D/'MANIFEST.json').read_bytes());a=T/'cloud-readback.tar.gz';parts=[json.loads((T/f'cloud-{i:04d}.json').read_bytes())for i in range(4)];assert all(x['actual_cloud_readback_verified']for x in parts)
assert a.stat().st_size==p['bytes']==sum(x['bytes']for x in parts) and sha(a)==p['sha256'];objs={x['sha256']:x for x in m['members']if x['type']=='file'};seen=set()
with tarfile.open(a,'r|gz')as t:
for e in t:
assert e.isfile() and e.name not in seen;seen.add(e.name)
with t.extractfile(e)as f:
if e.name=='MANIFEST.json':assert f.read()==(D/'MANIFEST.json').read_bytes()
else:
assert e.name.startswith('objects/');h=e.name[8:];assert h in objs and e.size==objs[h]['bytes'];v=hashlib.sha256()
for b in iter(lambda:f.read(1024**2),b''):v.update(b)
assert v.hexdigest()==h
assert seen=={'MANIFEST.json'}|{'objects/'+h for h in objs}
save(D/'CLOUD_PARTS.json',parts);save(D/'CLOUD_ARCHIVE_VERIFIED.json',dict(actual_cloud_readback=True,whole_archive_sha256=sha(a),bytes=a.stat().st_size,all_unique_payloads_verified=len(objs),original_file_mappings_verified=m['files'],manifest_identical=True,formal_credit=0));print('Complete cloud archive and all 14,259 file mappings verified',flush=True)
@@ -0,0 +1,41 @@
from pathlib import Path
import os,json,hashlib,tarfile,io,shutil,time,subprocess,sqlite3
R=Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');B=R/'artifacts/original-completion-2026-10-02';D=R/'docs/plans/original-completion-2026-10-02/execution/drive-offload-cold-r06-20261015';T=Path('/private/tmp/tree-offload-cold-r06')
roots=['p23-03-native-os-49445d4-r13','p08-runtime-preview-8d52b20-target-r02/stage','p08-runtime-preview-78dc82d-targeted-r01/stage','p08-runtime-preview-12f04d6-target-impact-r03/stage']
def sha(p):
h=hashlib.sha256()
with p.open('rb')as f:
for b in iter(lambda:f.read(1024**2),b''):h.update(b)
return h.hexdigest()
def save(p,v):p.write_text(json.dumps(v,ensure_ascii=False,indent=2)+'\n')
def idle():
ps=subprocess.check_output(['ps','-axo','pid,command'],text=True);opened=subprocess.run(['lsof','-n','-F','n'],capture_output=True,text=True).stdout
for s in roots:
assert not any(str(B/s)in x for x in ps.splitlines());assert not any(x.startswith('n'+str(B/s)+'/')for x in opened.splitlines());assert not subprocess.check_output(['git','-C',str(R),'ls-files','--',str(B/s)],text=True).strip()
def inv():
rows=[]
for s in roots:
p=B/s;assert p.is_dir()and not p.is_symlink()
for x in [p]+sorted(p.rglob('*')):
st=x.lstat();assert not x.is_symlink()and(x.is_file()or x.is_dir()),str(x);v=dict(path=str(x.relative_to(B)),type='file'if x.is_file()else'directory',mode=st.st_mode&0o7777,mtime_ns=st.st_mtime_ns)
if x.is_file():v.update(bytes=st.st_size,sha256=sha(x),allocated=st.st_blocks*512)
rows.append(v)
return rows
if __name__=='__main__':
assert not D.exists()and not T.exists();D.mkdir();T.mkdir();idle();free=shutil.disk_usage(R).free;rows=inv();objs={x['sha256']:x for x in rows if x['type']=='file'};m=dict(base=str(B),roots=roots,members=rows,files=sum(x['type']=='file'for x in rows),logical_bytes=sum(x.get('bytes',0)for x in rows),unique_bytes=sum(x['bytes']for x in objs.values()),free_before=free,created=time.time(),scope='Superseded P23 49445d4 r13 diagnostic including its failed original12 observations, plus three older P08 runtime-preview stage copies; P23 held9a26 and P08 currentd369 and all P18 sources/proofs retained; no acceptance change',formal_credit=0);save(D/'MANIFEST.json',m);assert free>m['unique_bytes']+512*1024**2
a=T/'cold-r06.tar.gz'
with tarfile.open(a,'w:gz',compresslevel=6)as t:
for h,x in sorted(objs.items()):
assert shutil.disk_usage(R).free>1024**3;t.add(B/x['path'],arcname='objects/'+h,recursive=False)
v=(D/'MANIFEST.json').read_bytes();e=tarfile.TarInfo('MANIFEST.json');e.size=len(v);t.addfile(e,io.BytesIO(v))
seen=set()
with tarfile.open(a,'r|gz')as t:
for e in t:
assert e.isfile()and e.name not in seen;seen.add(e.name)
with t.extractfile(e)as f:
if e.name=='MANIFEST.json':assert f.read()==(D/'MANIFEST.json').read_bytes()
else:
h=e.name[8:];assert e.name.startswith('objects/')and h in objs and e.size==objs[h]['bytes'];v=hashlib.sha256()
for b in iter(lambda:f.read(1024**2),b''):v.update(b)
assert v.hexdigest()==h
assert seen=={'MANIFEST.json'}|{'objects/'+h for h in objs};save(D/'PREPARED.json',dict(archive=str(a),bytes=a.stat().st_size,sha256=sha(a),all_members_verified=True,unique_payloads=len(objs)));print(json.dumps(dict(files=m['files'],logical_bytes=m['logical_bytes'],unique_bytes=m['unique_bytes'],archive_bytes=a.stat().st_size)),flush=True)
@@ -0,0 +1,7 @@
{
"free_before": 2665308160,
"unique_input_bytes": 2182682276,
"minimum_remaining_bytes": 1073741824,
"strategy": "Guarded compressed writer checks free space every 1 MiB; no uncompressed staging; source remains intact on failure",
"source_removal_requires": "Complete actual cloud readback and all source/member hashes match"
}
@@ -0,0 +1,9 @@
{
"actual_cloud_readback": true,
"whole_archive_sha256": "adf793994e1d0079b226f882d40fd9dc0d8282da42d7b04d24195e2b3a84c151",
"bytes": 437422438,
"all_unique_payloads_verified": 10804,
"original_file_mappings_verified": 47574,
"manifest_identical": true,
"formal_credit": 0
}
@@ -0,0 +1,198 @@
[
{
"order": 0,
"offset": 0,
"path": "/private/tmp/tree-offload-review-r04/upload-0000.bin",
"bytes": 67108864,
"sha256": "88c14f4fc36278bdbe953e60a4a9a0c03312c4a90fc4a18b6cdbb44af8c811c8",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1zDFSBgYRTnNh633ee8yzsjtq7dQeHoWp",
"title": "review-material-r04.tar.gz.part-0000",
"file_name": "review-material-r04.tar.gz.part-0000",
"mime_type": "application/x-gzip",
"url": "https://drive.google.com/file/d/1zDFSBgYRTnNh633ee8yzsjtq7dQeHoWp/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1zDFSBgYRTnNh633ee8yzsjtq7dQeHoWp",
"title": "review-material-r04.tar.gz.part-0000",
"file_name": "review-material-r04.tar.gz.part-0000",
"mime_type": "application/x-gzip",
"url": "https://drive.google.com/file/d/1zDFSBgYRTnNh633ee8yzsjtq7dQeHoWp/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 1,
"offset": 67108864,
"path": "/private/tmp/tree-offload-review-r04/upload-0001.bin",
"bytes": 67108864,
"sha256": "2c05a971176d0b5e9f3c288f69ce5d4ec9dc6c8623d6c52edbd709aa5f4b9b0c",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1adCPiKM7VECXZxCX1AHdBZxUSKXIyAiC",
"title": "review-material-r04.tar.gz.part-0001",
"file_name": "review-material-r04.tar.gz.part-0001",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1adCPiKM7VECXZxCX1AHdBZxUSKXIyAiC/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1adCPiKM7VECXZxCX1AHdBZxUSKXIyAiC",
"title": "review-material-r04.tar.gz.part-0001",
"file_name": "review-material-r04.tar.gz.part-0001",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1adCPiKM7VECXZxCX1AHdBZxUSKXIyAiC/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 2,
"offset": 134217728,
"path": "/private/tmp/tree-offload-review-r04/upload-0002.bin",
"bytes": 67108864,
"sha256": "608f89ef345bee96cd275ae67ee6b0636fc9165e7a3ef539b1e48d1b973f27ac",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "15_UXbGuW50NkTf1RgbkBSpUodPmXfcY9",
"title": "review-material-r04.tar.gz.part-0002",
"file_name": "review-material-r04.tar.gz.part-0002",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/15_UXbGuW50NkTf1RgbkBSpUodPmXfcY9/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "15_UXbGuW50NkTf1RgbkBSpUodPmXfcY9",
"title": "review-material-r04.tar.gz.part-0002",
"file_name": "review-material-r04.tar.gz.part-0002",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/15_UXbGuW50NkTf1RgbkBSpUodPmXfcY9/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 3,
"offset": 201326592,
"path": "/private/tmp/tree-offload-review-r04/upload-0003.bin",
"bytes": 67108864,
"sha256": "a6e73590c86b6282ef63fd88863de357911434998f389229cdb2ac1f470a53bc",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1ki8e92PBUZeOavzsuvfQU4zoMIvwQdyA",
"title": "review-material-r04.tar.gz.part-0003",
"file_name": "review-material-r04.tar.gz.part-0003",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1ki8e92PBUZeOavzsuvfQU4zoMIvwQdyA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1ki8e92PBUZeOavzsuvfQU4zoMIvwQdyA",
"title": "review-material-r04.tar.gz.part-0003",
"file_name": "review-material-r04.tar.gz.part-0003",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1ki8e92PBUZeOavzsuvfQU4zoMIvwQdyA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 4,
"offset": 268435456,
"path": "/private/tmp/tree-offload-review-r04/upload-0004.bin",
"bytes": 67108864,
"sha256": "a50e262a1ec412b97f1185b469d436f4fcd1fc020cbbe972209a6f609448bb13",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1I8To-mkJC_kmQZyYiRbrCipaeF4cidcl",
"title": "review-material-r04.tar.gz.part-0004",
"file_name": "review-material-r04.tar.gz.part-0004",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1I8To-mkJC_kmQZyYiRbrCipaeF4cidcl/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1I8To-mkJC_kmQZyYiRbrCipaeF4cidcl",
"title": "review-material-r04.tar.gz.part-0004",
"file_name": "review-material-r04.tar.gz.part-0004",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1I8To-mkJC_kmQZyYiRbrCipaeF4cidcl/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 5,
"offset": 335544320,
"path": "/private/tmp/tree-offload-review-r04/upload-0005.bin",
"bytes": 67108864,
"sha256": "67ba53bbd2dc2416661e888758419d9465d3a5dd5f8ffc191f788493e013f305",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1ILqHWPtXVjZ4nvgkaNBgjw4TrEdIuXpZ",
"title": "review-material-r04.tar.gz.part-0005",
"file_name": "review-material-r04.tar.gz.part-0005",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1ILqHWPtXVjZ4nvgkaNBgjw4TrEdIuXpZ/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1ILqHWPtXVjZ4nvgkaNBgjw4TrEdIuXpZ",
"title": "review-material-r04.tar.gz.part-0005",
"file_name": "review-material-r04.tar.gz.part-0005",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1ILqHWPtXVjZ4nvgkaNBgjw4TrEdIuXpZ/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
},
{
"order": 6,
"offset": 402653184,
"path": "/private/tmp/tree-offload-review-r04/upload-0006.bin",
"bytes": 34769254,
"sha256": "a88d6f246cef9c98686f94cf1167b4a6cb980610d44043e404f7515575adb202",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1K1xXtKe-PNuVtpqgjltLXMuJJVlOL-zO",
"title": "review-material-r04.tar.gz.part-0006",
"file_name": "review-material-r04.tar.gz.part-0006",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1K1xXtKe-PNuVtpqgjltLXMuJJVlOL-zO/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1K1xXtKe-PNuVtpqgjltLXMuJJVlOL-zO",
"title": "review-material-r04.tar.gz.part-0006",
"file_name": "review-material-r04.tar.gz.part-0006",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1K1xXtKe-PNuVtpqgjltLXMuJJVlOL-zO/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true
}
]
@@ -0,0 +1,47 @@
{
"current_worker_source": "265ce30f81b1302ca374330f7129f02d6fde4697",
"worker_clean": true,
"all_eight_current_candidate_receipts_unchanged": true,
"proofs": [
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-relationship-evidence/runner-input.json",
"sha256": "468fbe7da8f247098e3c47b720a22b211eed4164d2bb82e06a6708f192c47bec",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-relationship-evidence/runner-ended.json",
"sha256": "101bac8ddb8acc46c147cb75191c223ae426f965cd4fe660cd1ca89a82760bc6",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-relationship-evidence/receipt.json",
"sha256": "dd4d56b520914c7b28849c6d7393d389eee0c06ade28364ab66497e74ef414da",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-relationship-evidence/all-tests.json",
"sha256": "bca039cb42aeba881fc9266ef07861698276dfcd8180e7bd7336f37a0b48e90a",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-merged-native-evidence-265ce30-r01/runner-input.json",
"sha256": "c5e601dd8c7f75f3ac054a5a28c7805490f20570372ed1a99e69ae67321ef5e2",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-merged-native-evidence-265ce30-r01/runner-ended.json",
"sha256": "c5bf962e4caf4d2c84c21dcdfa459e4ed451bbae2ce88d36b6e057618b5bdd30",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-merged-native-evidence-265ce30-r01/receipt.json",
"sha256": "ebf166068947255191dc88458f472093b6a81da57c2e30d8ded1891e1f0a7227",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-merged-native-evidence-265ce30-r01/all-tests.json",
"sha256": "5a063b2c35a1e21cc57a59ad6dd1fc159a58d84201594f0dc08114bf2594861b",
"unchanged": true
}
]
}
@@ -0,0 +1,29 @@
{
"original_name": "MANIFEST.json",
"uncompressed_bytes": 18705507,
"uncompressed_sha256": "0070c6cd45eb91b11251fa0568ca7baa8bff3cf4fd98a6dbc5c11b5214287877",
"compressed_name": "MANIFEST.json.gz",
"compressed_bytes": 2630300,
"compressed_sha256": "022eb08691a8014bb8d2d644bcd918cdb748740d3603b39683d30dbb781f83b3",
"cloud_manifest": {
"accepted_input": "file_uri",
"success": true,
"id": "19esHPY2m15iQD8A7dX-0TxXdbJoLShOA",
"title": "review-material-r04-MANIFEST.json",
"file_name": "review-material-r04-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/19esHPY2m15iQD8A7dX-0TxXdbJoLShOA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "19esHPY2m15iQD8A7dX-0TxXdbJoLShOA",
"title": "review-material-r04-MANIFEST.json",
"file_name": "review-material-r04-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/19esHPY2m15iQD8A7dX-0TxXdbJoLShOA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"exact_content_verified": true
}
@@ -0,0 +1,72 @@
{
"reason": "Keep archive pointers beside managed checkouts to avoid introducing untracked files into Runner worktrees; unrelated prior worktree status retained",
"no_archival_pointer_inside_review_checkouts": true,
"rows": [
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-371d8aef/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-371d8aef.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "e8f0b274f94c925d79f115cbe59f9c49c86c05d06294a2f2de1eb278c862b388",
"git_status_after": ""
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-ce2291ae/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-ce2291ae.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "532dec7e83a76d7728fa8dcacfed9ddec361e9fb8cb00299db745af03d85fbe6",
"git_status_after": ""
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-2ecdb277/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-2ecdb277.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "d64442800d3ea7bef93001e8f582234605fa02b2a46fb371f6940f2f5a83a4ef",
"git_status_after": "?? .owner-review-context/\n"
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-c36607d5/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-c36607d5.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "e94711fa7de44d86571ce73d96f2efe31f43f26867e751bf7d7eff691a903757",
"git_status_after": "?? .owner-review-context/\n"
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-d137e8d8/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-d137e8d8.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "d9a787ed09e166629610683bdfe7e1b5c0354d8ed42f721892c55abc04f5650f",
"git_status_after": "?? .owner-review-context/\n"
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-semantic-25b9e45a/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-semantic-25b9e45a.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "031a3658c99229e3e8235bd9c29ff85d60a0d1421c72343616f776eda50a050a",
"git_status_after": "?? .owner-review-context/\n"
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-runtime-preview/P08-03-RTPREVIEW-review-8c717f07/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-runtime-preview/P08-03-RTPREVIEW-review-8c717f07.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "0d40252a2e22642cc22a598cc423071df2bfd7b1c4c841a466355fcf095fe801",
"git_status_after": ""
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p13-03/P13-03-review-a563028f/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p13-03/P13-03-review-a563028f.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "cf29c387dcf64b1c2ca62471873479563c350faf69c24a16465c9ad357cf1779",
"git_status_after": ""
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p13-03/P13-03-review-d2babf54/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p13-03/P13-03-review-d2babf54.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "ab9fb2124ed8f86bbbdd65e93c905a189ded91ed9ca88121f7fbf24885271f58",
"git_status_after": ""
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/P18-01-CODE-review-16d03793/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/P18-01-CODE-review-16d03793.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "71b0733ff0799bd46bf3ad7afac371387bc0bbb53d192d9778a0db43bf5e4202",
"git_status_after": ""
},
{
"old_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/runner-agy-execution/RP24-02-review-2c927186/.review-material.CLOUD_ARCHIVE_R04.json",
"new_pointer": "/Users/korizatou114/Projects/TheTree-managed-worktrees/runner-agy-execution/RP24-02-review-2c927186.review-material.CLOUD_ARCHIVE_R04.json",
"unchanged_sha256": "596ddb441bb9d1661ce3f5363d0f62ff485538e1491fcd3aad5044447cc8a2c0",
"git_status_after": ""
}
]
}
@@ -0,0 +1,9 @@
{
"archive": "/private/tmp/tree-offload-review-r04/review-material-r04.tar.gz",
"bytes": 437422438,
"sha256": "adf793994e1d0079b226f882d40fd9dc0d8282da42d7b04d24195e2b3a84c151",
"all_members_verified": true,
"unique_payloads": 10804,
"source_initial_inventory_sha256": "0070c6cd45eb91b11251fa0568ca7baa8bff3cf4fd98a6dbc5c11b5214287877",
"verification": "single sequential streaming pass across every archive object"
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1DHJ1MYJfU3fE-U71XZ2fDchadExmM3w6",
"title": "review-material-r04-CLOUD_ARCHIVE_VERIFIED.json",
"file_name": "review-material-r04-CLOUD_ARCHIVE_VERIFIED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1DHJ1MYJfU3fE-U71XZ2fDchadExmM3w6/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1DHJ1MYJfU3fE-U71XZ2fDchadExmM3w6",
"title": "review-material-r04-CLOUD_ARCHIVE_VERIFIED.json",
"file_name": "review-material-r04-CLOUD_ARCHIVE_VERIFIED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1DHJ1MYJfU3fE-U71XZ2fDchadExmM3w6/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "ef3269f1d34eb5673850e096d7c6b78205ab5f3bf0efa6a8f28142c7caad5667",
"bytes": 289
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1s2kZvLjA_2lzWRj6dzUOuqJ8cOCJhdEV",
"title": "review-material-r04-CLOUD_PARTS.json",
"file_name": "review-material-r04-CLOUD_PARTS.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1s2kZvLjA_2lzWRj6dzUOuqJ8cOCJhdEV/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1s2kZvLjA_2lzWRj6dzUOuqJ8cOCJhdEV",
"title": "review-material-r04-CLOUD_PARTS.json",
"file_name": "review-material-r04-CLOUD_PARTS.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1s2kZvLjA_2lzWRj6dzUOuqJ8cOCJhdEV/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "69d7e232d938112e0a1d60cb38252fb888909c17fc426ba7025c456d48087a3f",
"bytes": 8312
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "19esHPY2m15iQD8A7dX-0TxXdbJoLShOA",
"title": "review-material-r04-MANIFEST.json",
"file_name": "review-material-r04-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/19esHPY2m15iQD8A7dX-0TxXdbJoLShOA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "19esHPY2m15iQD8A7dX-0TxXdbJoLShOA",
"title": "review-material-r04-MANIFEST.json",
"file_name": "review-material-r04-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/19esHPY2m15iQD8A7dX-0TxXdbJoLShOA/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "0070c6cd45eb91b11251fa0568ca7baa8bff3cf4fd98a6dbc5c11b5214287877",
"bytes": 18705507
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1nMn0jM0zWQma1VnNO-nQXagLui3NR8LO",
"title": "review-material-r04-PREPARED.json",
"file_name": "review-material-r04-PREPARED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1nMn0jM0zWQma1VnNO-nQXagLui3NR8LO/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1nMn0jM0zWQma1VnNO-nQXagLui3NR8LO",
"title": "review-material-r04-PREPARED.json",
"file_name": "review-material-r04-PREPARED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1nMn0jM0zWQma1VnNO-nQXagLui3NR8LO/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "e9060ad02a36eda0207b361257ba1254fefdeb235240187b15df81677f09fad4",
"bytes": 432
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "13RMXOHPtCp8LHnb1D9XvMS3M2_ZEhaqj",
"title": "review-material-r04-RESTORE.md",
"file_name": "review-material-r04-RESTORE.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/13RMXOHPtCp8LHnb1D9XvMS3M2_ZEhaqj/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "13RMXOHPtCp8LHnb1D9XvMS3M2_ZEhaqj",
"title": "review-material-r04-RESTORE.md",
"file_name": "review-material-r04-RESTORE.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/13RMXOHPtCp8LHnb1D9XvMS3M2_ZEhaqj/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "62732c3d01b38d5ef8062bca1375d778c542053dd933db2ef1db6442e2a70e43",
"bytes": 902
}
@@ -0,0 +1,25 @@
{
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1djla132opnHbUL40bGtckuPkqdodB_l4",
"title": "review-material-r04-restore.py",
"file_name": "review-material-r04-restore.py",
"mime_type": "text/x-python",
"url": "https://drive.google.com/file/d/1djla132opnHbUL40bGtckuPkqdodB_l4/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1djla132opnHbUL40bGtckuPkqdodB_l4",
"title": "review-material-r04-restore.py",
"file_name": "review-material-r04-restore.py",
"mime_type": "text/x-python",
"url": "https://drive.google.com/file/d/1djla132opnHbUL40bGtckuPkqdodB_l4/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"actual_cloud_readback_verified": true,
"sha256": "9e5fae33042236e7c863931f6731c8867d89c075d14d28fd45571ee844ccdc4f",
"bytes": 1288
}
@@ -0,0 +1,9 @@
# 終了済み独立レビュー資料コピーの復元
退避先: https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK
CLOUD_PARTS.json の順序で分割ファイルを取得し、各SHA-256、サイズを照合して連結する。連結した review-material-r04.tar.gz のSHA-256を PREPARED.json と照合する。
`python3 restore.py review-material-r04.tar.gz /Users/korizatou114/Projects/TheTree-managed-worktrees`
既存のファイルへの上書きは拒否する。アーカイブ内 MANIFEST.json に元の相対パス、全ファイルのSHA-256、サイズ、モード、mtimeを保持。全内容を復元後に再検証する。元worktreeは保持し、その中の終了済み .review-material のみを退避。現行の候補版・実装・検証元資料・実行記録・レビュー回答は保持する。受入状態や完了数は変更しない。
@@ -0,0 +1,29 @@
{
"recorded_unix": 1792068578.626407,
"files": 47574,
"roots": [
"p08-02/P08-02-review-371d8aef/.review-material",
"p08-02/P08-02-review-ce2291ae/.review-material",
"p08-03-code/P08-03-review-2ecdb277/.review-material",
"p08-03-code/P08-03-review-c36607d5/.review-material",
"p08-03-code/P08-03-review-d137e8d8/.review-material",
"p08-03-code/P08-03-review-semantic-25b9e45a/.review-material",
"p08-runtime-preview/P08-03-RTPREVIEW-review-8c717f07/.review-material",
"p13-03/P13-03-review-a563028f/.review-material",
"p13-03/P13-03-review-d2babf54/.review-material",
"p18-01-model/P18-01-CODE-review-16d03793/.review-material",
"runner-agy-execution/RP24-02-review-2c927186/.review-material"
],
"logical_bytes": 11474226038,
"unique_bytes": 2182682276,
"cloud_archive_bytes": 437422438,
"free_before_selection": 2699243520,
"free_before_retirement": 1773617152,
"free_after": 2704744448,
"net_free_change_from_selection": 5500928,
"actual_cloud_readback_all_payloads_verified": true,
"retired_only_manifest_members": true,
"current_sources_build_evidence_run_records_review_results_retained": true,
"temporary_archives_removed_after_verification": true,
"formal_credit": 0
}
@@ -0,0 +1,22 @@
{
"unix": 1792068573.8904672,
"manifest_sha256": "0070c6cd45eb91b11251fa0568ca7baa8bff3cf4fd98a6dbc5c11b5214287877",
"whole_archive_sha256": "adf793994e1d0079b226f882d40fd9dc0d8282da42d7b04d24195e2b3a84c151",
"full_cloud_content_verified": true,
"all_sources_rehashed_and_stat_rechecked": true,
"active_jobs_and_open_files_zero": true,
"files": 47574,
"roots": [
"p08-02/P08-02-review-371d8aef/.review-material",
"p08-02/P08-02-review-ce2291ae/.review-material",
"p08-03-code/P08-03-review-2ecdb277/.review-material",
"p08-03-code/P08-03-review-c36607d5/.review-material",
"p08-03-code/P08-03-review-d137e8d8/.review-material",
"p08-03-code/P08-03-review-semantic-25b9e45a/.review-material",
"p08-runtime-preview/P08-03-RTPREVIEW-review-8c717f07/.review-material",
"p13-03/P13-03-review-a563028f/.review-material",
"p13-03/P13-03-review-d2babf54/.review-material",
"p18-01-model/P18-01-CODE-review-16d03793/.review-material",
"runner-agy-execution/RP24-02-review-2c927186/.review-material"
]
}
@@ -0,0 +1,62 @@
{
"recorded_unix": 1792068563.871822,
"all_sources_unchanged": true,
"manifest_sha256": "0070c6cd45eb91b11251fa0568ca7baa8bff3cf4fd98a6dbc5c11b5214287877",
"groups": [
{
"root": "p08-02/P08-02-review-371d8aef/.review-material",
"verified": true,
"files": 9057
},
{
"root": "p08-02/P08-02-review-ce2291ae/.review-material",
"verified": true,
"files": 9051
},
{
"root": "p08-03-code/P08-03-review-2ecdb277/.review-material",
"verified": true,
"files": 3449
},
{
"root": "p08-03-code/P08-03-review-c36607d5/.review-material",
"verified": true,
"files": 3449
},
{
"root": "p08-03-code/P08-03-review-d137e8d8/.review-material",
"verified": true,
"files": 18310
},
{
"root": "p08-03-code/P08-03-review-semantic-25b9e45a/.review-material",
"verified": true,
"files": 5
},
{
"root": "p08-runtime-preview/P08-03-RTPREVIEW-review-8c717f07/.review-material",
"verified": true,
"files": 95
},
{
"root": "p13-03/P13-03-review-a563028f/.review-material",
"verified": true,
"files": 13
},
{
"root": "p13-03/P13-03-review-d2babf54/.review-material",
"verified": true,
"files": 13
},
{
"root": "p18-01-model/P18-01-CODE-review-16d03793/.review-material",
"verified": true,
"files": 4126
},
{
"root": "runner-agy-execution/RP24-02-review-2c927186/.review-material",
"verified": true,
"files": 6
}
]
}
@@ -0,0 +1,23 @@
exec(open('/private/tmp/tree-offload-review-r04.py').read().split("if __name__")[0])
m=json.loads((D/'MANIFEST.json').read_bytes());roots=m['roots'];rows=m['members'];objs={x['sha256']:x for x in rows if x['type']=='file'};idle()
a=T/'review-material-r04.tar.gz';assert not a.exists()
class Guard:
def __init__(self,f):self.f=f;self.n=0
def write(self,b):
self.n+=len(b)
if self.n>=1024**2:
assert shutil.disk_usage(R).free>1024**3+len(b),'disk floor: source retained';self.n=0
return self.f.write(b)
def __getattr__(self,k):return getattr(self.f,k)
save(D/'CAPACITY_ADMISSION.json',dict(free_before=shutil.disk_usage(R).free,unique_input_bytes=m['unique_bytes'],minimum_remaining_bytes=1024**3,strategy='Guarded compressed writer checks free space every 1 MiB; no uncompressed staging; source remains intact on failure',source_removal_requires='Complete actual cloud readback and all source/member hashes match'))
with a.open('xb')as f:
with tarfile.open(fileobj=Guard(f),mode='w:gz',compresslevel=6)as t:
for h,x in sorted(objs.items()):
q=B/x['path'];assert q.stat().st_size==x['bytes']
t.add(q,arcname='objects/'+h,recursive=False)
v=(D/'MANIFEST.json').read_bytes();e=tarfile.TarInfo('MANIFEST.json');e.size=len(v);t.addfile(e,io.BytesIO(v))
with tarfile.open(a,'r:gz')as t:
assert len(t.getmembers())==len(objs)+1 and t.extractfile('MANIFEST.json').read()==(D/'MANIFEST.json').read_bytes()
for h in objs:assert hashlib.sha256(t.extractfile('objects/'+h).read()).hexdigest()==h
save(D/'PREPARED.json',dict(archive=str(a),bytes=a.stat().st_size,sha256=sha(a),all_members_verified=True,unique_payloads=len(objs),source_initial_inventory_sha256=sha(D/'MANIFEST.json')))
print(json.dumps(dict(archive_bytes=a.stat().st_size,unique_payloads=len(objs),files=m['files'],free=shutil.disk_usage(R).free)),flush=True)
@@ -0,0 +1,21 @@
"""Restore content-addressed archive without overwriting existing files."""
import argparse,hashlib,json,os,tarfile
from pathlib import Path
p=argparse.ArgumentParser();p.add_argument('archive');p.add_argument('destination');a=p.parse_args();dest=Path(a.destination).resolve()
with tarfile.open(a.archive,'r:gz')as t:
m=json.loads(t.extractfile('MANIFEST.json').read());rows=m['members'];expected={'MANIFEST.json'}|{'objects/'+x['sha256']for x in rows if x['type']=='file'}
assert {x.name for x in t.getmembers()}==expected and len(t.getmembers())==len(expected)
for x in rows:
target=dest/x['path'];assert target.resolve().is_relative_to(dest) and not target.exists()
for x in rows:
q=dest/x['path']
if x['type']=='directory':q.mkdir(parents=True,exist_ok=True)
else:
q.parent.mkdir(parents=True,exist_ok=True);h=hashlib.sha256()
with q.open('xb')as out,t.extractfile('objects/'+x['sha256'])as f:
for b in iter(lambda:f.read(1048576),b''):h.update(b);out.write(b)
assert q.stat().st_size==x['bytes'] and h.hexdigest()==x['sha256']
os.chmod(q,x['mode']);os.utime(q,ns=(x['mtime_ns'],x['mtime_ns']))
for x in reversed(rows):
if x['type']=='directory':os.utime(dest/x['path'],ns=(x['mtime_ns'],x['mtime_ns']))
print('Restored and verified',m['files'],'files')
@@ -0,0 +1,19 @@
exec(open('/private/tmp/tree-offload-review-r04.py').read().split("if __name__")[0])
m=json.loads((D/'MANIFEST.json').read_bytes());roots=m['roots'];rows=m['members'];p=json.loads((D/'PREPARED.json').read_bytes());v=json.loads((D/'CLOUD_ARCHIVE_VERIFIED.json').read_bytes());src=json.loads((D/'SOURCE_RECHECK.json').read_bytes())
assert v['actual_cloud_readback']and v['whole_archive_sha256']==p['sha256']and v['original_file_mappings_verified']==m['files'];assert src['all_sources_unchanged']and src['manifest_sha256']==sha(D/'MANIFEST.json')and time.time()-src['recorded_unix']<3600
for name in ['MANIFEST.json','PREPARED.json','CLOUD_PARTS.json','CLOUD_ARCHIVE_VERIFIED.json','RESTORE.md','restore.py']:
r=json.loads((D/('READBACK-'+name+'.json')).read_bytes());assert r['actual_cloud_readback_verified']and r['sha256']==sha(D/name)
assert not(D/'RETIREMENT.json').exists();idle()
for x in rows:
q=B/x['path'];st=q.lstat();assert not q.is_symlink()and (q.is_file()if x['type']=='file'else q.is_dir());assert st.st_mtime_ns==x['mtime_ns']and st.st_mode&0o7777==x['mode'];assert x['type']!='file'or st.st_size==x['bytes']
for q in [Path(p['archive']),T/'cloud-readback.tar.gz']:assert q.stat().st_size==p['bytes']and sha(q)==p['sha256']
free=shutil.disk_usage(R).free;save(D/'RETIREMENT_INTENT.json',dict(unix=time.time(),manifest_sha256=sha(D/'MANIFEST.json'),whole_archive_sha256=p['sha256'],full_cloud_content_verified=True,all_sources_rehashed_and_stat_rechecked=True,active_jobs_and_open_files_zero=True,files=m['files'],roots=roots))
for x in rows:
if x['type']=='file':(B/x['path']).unlink()
for x in sorted(rows,key=lambda x:len(Path(x['path']).parts),reverse=True):
if x['type']=='directory':(B/x['path']).rmdir()
for s in roots:
root=B/s;assert not root.exists();pointer=root.parent/'.review-material.CLOUD_ARCHIVE_R04.json';assert not pointer.exists();save(pointer,dict(state='cloud_archived',original_root=str(root),folder_url='https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK',cloud_parts=str(D/'CLOUD_PARTS.json'),restore=str(D/'RESTORE.md'),whole_archive_sha256=p['sha256'],source_and_current_canonical_build_evidence_retained=True,formal_credit=0))
for q in [Path(p['archive']),T/'cloud-readback.tar.gz']:q.unlink()
res=dict(recorded_unix=time.time(),files=m['files'],roots=roots,logical_bytes=m['logical_bytes'],unique_bytes=m['unique_bytes'],cloud_archive_bytes=p['bytes'],free_before_selection=m['free_before'],free_before_retirement=free,free_after=shutil.disk_usage(R).free,net_free_change_from_selection=shutil.disk_usage(R).free-m['free_before'],actual_cloud_readback_all_payloads_verified=True,retired_only_manifest_members=True,current_sources_build_evidence_run_records_review_results_retained=True,temporary_archives_removed_after_verification=True,formal_credit=0)
save(D/'RETIREMENT.json',res);print(json.dumps(res),flush=True)
@@ -0,0 +1,43 @@
from pathlib import Path
import os,json,hashlib,tarfile,io,shutil,time,sqlite3,subprocess
B=Path('/Users/korizatou114/Projects/TheTree-managed-worktrees');R=Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');D=R/'docs/plans/original-completion-2026-10-02/execution/drive-offload-review-material-r04-20261015';T=Path('/private/tmp/tree-offload-review-r04');DB=Path('/Users/korizatou114/Library/Application Support/agent-control')
roots=sorted(str(x.relative_to(B)) for x in B.glob('*/*review*/.review-material'))
def sha(p):
h=hashlib.sha256()
with p.open('rb') as f:
for a in iter(lambda:f.read(1024**2),b''):h.update(a)
return h.hexdigest()
def save(p,v):p.write_text(json.dumps(v,ensure_ascii=False,indent=2)+'\n')
def idle():
ps=subprocess.check_output(['ps','-axo','pid,command'],text=True);opened=subprocess.run(['lsof','-n','-F','n'],capture_output=True,text=True).stdout
for s in roots:
root=B/s;db=DB/('the-tree-'+root.parent.parent.name)/'state.sqlite';assert db.exists()
c=sqlite3.connect('file:'+str(db)+'?mode=ro',uri=True)
assert c.execute("select count(*) from runs where finished is null and status not in ('failed','finished')").fetchone()[0]==0
assert not any(str(root) in line for line in ps.splitlines())
assert not any(line.startswith('n'+str(root)+'/') for line in opened.splitlines())
assert not subprocess.check_output(['git','-C',str(root.parent),'ls-files','--','.review-material'],text=True).strip()
def inv():
rows=[]
for s in roots:
root=B/s;assert root.is_dir() and not root.is_symlink()
for x in [root]+sorted(root.rglob('*')):
st=x.lstat();assert not x.is_symlink() and (x.is_dir() or x.is_file()),str(x)
d=dict(path=str(x.relative_to(B)),type='file' if x.is_file() else 'directory',mode=st.st_mode&0o7777,mtime_ns=st.st_mtime_ns)
if x.is_file():d.update(bytes=st.st_size,sha256=sha(x),allocated=st.st_blocks*512)
rows.append(d)
return rows
if __name__=='__main__':
assert not D.exists() and not T.exists();D.mkdir();T.mkdir();idle();free=shutil.disk_usage(R).free;rows=inv();objs={x['sha256']:x for x in rows if x['type']=='file'}
m=dict(base=str(B),roots=roots,members=rows,files=sum(x['type']=='file'for x in rows),logical_bytes=sum(x.get('bytes',0)for x in rows),unique_bytes=sum(x['bytes']for x in objs.values()),free_before=free,created=time.time(),scope='Only idle completed review material snapshots. All current canonical build evidence, source worktrees, reviewer outputs and run records retained.',formal_credit=0)
save(D/'MANIFEST.json',m);assert free>sum(x['bytes']for x in objs.values())+512*1024**2
a=T/'review-material-r04.tar.gz'
with tarfile.open(a,'w:gz',compresslevel=6)as t:
for h,x in sorted(objs.items()):t.add(B/x['path'],arcname='objects/'+h,recursive=False)
v=(D/'MANIFEST.json').read_bytes();e=tarfile.TarInfo('MANIFEST.json');e.size=len(v);t.addfile(e,io.BytesIO(v))
with tarfile.open(a,'r:gz')as t:
assert t.extractfile('MANIFEST.json').read()==(D/'MANIFEST.json').read_bytes()
for h in objs:assert hashlib.sha256(t.extractfile('objects/'+h).read()).hexdigest()==h
assert inv()==rows
save(D/'PREPARED.json',dict(archive=str(a),bytes=a.stat().st_size,sha256=sha(a),all_members_verified=True,source_unchanged=True,unique_payloads=len(objs)))
print(json.dumps({k:m[k]for k in ['files','logical_bytes','unique_bytes','free_before']}),a.stat().st_size,flush=True)
@@ -0,0 +1,14 @@
exec(open('/private/tmp/tree-offload-review-r04.py').read().split("if __name__")[0])
p=json.loads((D/'PREPARED.json').read_bytes());m=json.loads((D/'MANIFEST.json').read_bytes());a=T/'cloud-readback.tar.gz';parts=[json.loads((T/f'cloud-{i:04d}.json').read_bytes())for i in range(7)];assert all(x['actual_cloud_readback_verified']for x in parts)
assert a.stat().st_size==p['bytes']==sum(x['bytes']for x in parts) and sha(a)==p['sha256'];objs={x['sha256']:x for x in m['members']if x['type']=='file'};seen=set()
with tarfile.open(a,'r|gz')as t:
for e in t:
assert e.isfile() and e.name not in seen;seen.add(e.name)
with t.extractfile(e)as f:
if e.name=='MANIFEST.json':assert f.read()==(D/'MANIFEST.json').read_bytes()
else:
assert e.name.startswith('objects/');h=e.name[8:];assert h in objs and e.size==objs[h]['bytes'];v=hashlib.sha256()
for b in iter(lambda:f.read(1024**2),b''):v.update(b)
assert v.hexdigest()==h
assert seen=={'MANIFEST.json'}|{'objects/'+h for h in objs}
save(D/'CLOUD_PARTS.json',parts);save(D/'CLOUD_ARCHIVE_VERIFIED.json',dict(actual_cloud_readback=True,whole_archive_sha256=sha(a),bytes=a.stat().st_size,all_unique_payloads_verified=len(objs),original_file_mappings_verified=m['files'],manifest_identical=True,formal_credit=0));print('Complete cloud archive and all 47,574 file mappings verified',flush=True)
@@ -0,0 +1,14 @@
exec(open('/private/tmp/tree-offload-review-r04.py').read().split("if __name__")[0])
m=json.loads((D/'MANIFEST.json').read_bytes());objs={x['sha256']:x for x in m['members'] if x['type']=='file'};a=T/'review-material-r04.tar.gz';seen=set()
with tarfile.open(a,'r|gz')as t:
for x in t:
assert x.isfile() and x.name not in seen;seen.add(x.name)
with t.extractfile(x)as f:
if x.name=='MANIFEST.json':assert f.read()==(D/'MANIFEST.json').read_bytes()
else:
assert x.name.startswith('objects/');h=x.name[8:];assert h in objs and x.size==objs[h]['bytes'];v=hashlib.sha256()
for b in iter(lambda:f.read(1024**2),b''):v.update(b)
assert v.hexdigest()==h
assert seen=={'MANIFEST.json'}|{'objects/'+h for h in objs}
save(D/'PREPARED.json',dict(archive=str(a),bytes=a.stat().st_size,sha256=sha(a),all_members_verified=True,unique_payloads=len(objs),source_initial_inventory_sha256=sha(D/'MANIFEST.json'),verification='single sequential streaming pass across every archive object'))
print(json.dumps(dict(archive_bytes=a.stat().st_size,unique_payloads=len(objs),files=m['files'],free=shutil.disk_usage(R).free)),flush=True)
@@ -0,0 +1,10 @@
exec(open('/private/tmp/tree-offload-review-r04.py').read().split("if __name__")[0])
m=json.loads((D/'MANIFEST.json').read_bytes());roots=m['roots'];idle();groups=[]
for s in roots:
root=B/s;rows=[]
for x in [root]+sorted(root.rglob('*')):
st=x.lstat();assert not x.is_symlink()and(x.is_file()or x.is_dir());v=dict(path=str(x.relative_to(B)),type='file'if x.is_file()else'directory',mode=st.st_mode&0o7777,mtime_ns=st.st_mtime_ns)
if x.is_file():v.update(bytes=st.st_size,sha256=sha(x),allocated=st.st_blocks*512)
rows.append(v)
expected=[v for v in m['members']if v['path']==s or v['path'].startswith(s+'/')];assert rows==expected,s;groups.append(dict(root=s,verified=True,files=sum(x['type']=='file'for x in rows)));print(root.parent.name,'source hashes unchanged',flush=True)
save(D/'SOURCE_RECHECK.json',dict(recorded_unix=time.time(),all_sources_unchanged=True,manifest_sha256=sha(D/'MANIFEST.json'),groups=groups))
@@ -0,0 +1,82 @@
{
"method": "Verified identical original engine -> separate APFS CoW inode with /bin/cp -c; all proof bytes/mode/mtime/receipt hashes retained. Per-file allocated sums do not represent exclusive APFS cost.",
"rows": [
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-merged-native-evidence-265ce30-r01/engine.bin",
"bytes": 351312912,
"sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf",
"source_identical_engine": "/Applications/Godot.app/Contents/MacOS/Godot",
"source_unchanged": true,
"separate_inode": true,
"nlink": 1,
"original_mode_mtime_receipts_unchanged": true,
"allocated_before": 351313920,
"allocated_after": 351313920
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-relationship-evidence/engine.bin",
"bytes": 351312912,
"sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf",
"source_identical_engine": "/Applications/Godot.app/Contents/MacOS/Godot",
"source_unchanged": true,
"separate_inode": true,
"nlink": 1,
"original_mode_mtime_receipts_unchanged": true,
"allocated_before": 351313920,
"allocated_after": 351313920
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-relationship-evidence-historical-0084760e-r02/engine.bin",
"bytes": 351312912,
"sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf",
"source_identical_engine": "/Applications/Godot.app/Contents/MacOS/Godot",
"source_unchanged": true,
"separate_inode": true,
"nlink": 1,
"original_mode_mtime_receipts_unchanged": true,
"allocated_before": 351313920,
"allocated_after": 351313920
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-relationship-evidence-historical-b7a7cc0-r05/engine.bin",
"bytes": 351312912,
"sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf",
"source_identical_engine": "/Applications/Godot.app/Contents/MacOS/Godot",
"source_unchanged": true,
"separate_inode": true,
"nlink": 1,
"original_mode_mtime_receipts_unchanged": true,
"allocated_before": 351313920,
"allocated_after": 351313920
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/P18-01-CODE-review-16d03793/.review-material/build/p18-relationship-evidence/engine.bin",
"bytes": 351312912,
"sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf",
"source_identical_engine": "/Applications/Godot.app/Contents/MacOS/Godot",
"source_unchanged": true,
"separate_inode": true,
"nlink": 1,
"original_mode_mtime_receipts_unchanged": true,
"allocated_before": 351313920,
"allocated_after": 351313920
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/P18-01-CODE-review-16d03793/.review-material/build/p18-relationship-evidence-historical-0084760e-r02/engine.bin",
"bytes": 351312912,
"sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf",
"source_identical_engine": "/Applications/Godot.app/Contents/MacOS/Godot",
"source_unchanged": true,
"separate_inode": true,
"nlink": 1,
"original_mode_mtime_receipts_unchanged": true,
"allocated_before": 351313920,
"allocated_after": 351313920
}
],
"free_before": 2365444096,
"free_after": 2726948864,
"prior_compression_result_note": "Prior transparent compression preserved data but measured net free decreased. Shared extents are a possible explanation; no exclusive-allocation claim. Reuse identical existing engine extents instead.",
"raw_proof_deleted": false,
"engines_started": 0
}
@@ -3,7 +3,7 @@
"original_title": "関係モデルと保存",
"original_acceptance": "表示と状態が一致し、意味不明な値の一対一変換を行わない。",
"state": "review_pending",
"active_work": "Existing P18-01-CODE same0084760e backend repair under actual Opus commander; no duplicate implementation",
"active_work": "Submitted265ce30 backend frozen/merged native and formal validation passed; actual independent Opus review pending quota recovery; no active implementer or reviewer",
"original_denominator": {
"packages": 30,
"units": 88,
@@ -56,7 +56,7 @@
"actual_scheduling_direction": "execution/next-closure-after-p13-20261015/OPUS_NEXT_ORIGINAL_DIRECTION.json",
"current_capacity_bytes": 3396866048,
"heavy_runs_started": 0,
"updated_at_jst": "2026-10-15T20:12:19.677704+09:00",
"updated_at_jst": "2026-10-15T22:08:07.049410+09:00",
"active_worker": null,
"repair3_terminal": "No product/test changes; only preserved implementation handoff policy-gap note and prepare-only. Independent required fixes still available.",
"repair3_result": "REPAIR3_ACTUAL_RESULT.json",
@@ -76,7 +76,7 @@
"actual_native_owned9ended": true,
"native_result": "ROOT_REPAIR5_NATIVE_RESULT.json",
"review": "B7A7CC0_ACTUAL_INDEPENDENT_REVIEW.json",
"review_status": "changes_requested",
"review_status": "pending_for_submitted_265ce30",
"review_findings": {
"high": 1,
"medium": 1,
@@ -105,7 +105,7 @@
"exit_code": 0,
"engine_runs": 0
},
"current_free_bytes": 2987036672,
"current_free_bytes": 3357089792,
"native": {
"candidate": "265ce30f81b1302ca374330f7129f02d6fde4697",
"suites": 7,
@@ -123,5 +123,33 @@
"commit": "265ce30f81b1302ca374330f7129f02d6fde4697"
},
"latest_review_applies_to": "b7a7cc0 only; 265ce30 independent Opus review not yet executed",
"all_original_unit_conditions_kept": true
"all_original_unit_conditions_kept": true,
"merged_native_preflight": {
"result": "MERGED_265_NATIVE_RESULT.json",
"composition_commit": "44874d792ff4f2293c1b71c3a111d899b4798723",
"suites": 7,
"checks": 1839,
"parse_paths": 316,
"all9ownedended": true,
"ordinary_integration_candidate": false,
"main_adopted": false
},
"review_resume": {
"automation_id": "p18",
"kind": "one-time same-thread heartbeat",
"scheduled_jst": "2026-10-15T22:41:00+09:00",
"receipt": "REVIEW_RESUME_AUTOMATION.json",
"duplicate_guard_required": true
},
"storage_offload": {
"report": "../drive-offload-cold-r06-20261015/FINAL_REPORT.json",
"current_proof_eight_pins_unchanged": true,
"closed_review_material_restorable_on_Drive": true
},
"historical_relocation_record_filename_correction": {
"from_name": "OLD_0084760E_NATIVE_RELOCATION.json",
"to_name": "OLD_B7A7CC0_NATIVE_RELOCATION.json",
"unchanged_record_sha256": "7a74a0903ee7f60fb0b111eb111a187d977a6c6ffe07ae33b78e4ec76e923dd7",
"reason": "Record contents describe b7a7cc0 relocation; filename corrected to match without changing record or raw proof bytes"
}
}
@@ -0,0 +1,14 @@
{
"submitted": "265ce30f81b1302ca374330f7129f02d6fde4697",
"current_main": "cb0a58bc285a29c039d20383efe06d65792b8249",
"expected_merge_tree": "90be420677d106a0a18cca5f2ba17fab833ed446",
"tracked_full_checkout_bytes": 207320697,
"prior_native_entire_output_bytes": 474324984,
"conservative_remaining_admission_bytes": 2579466695,
"free_bytes": 2992128000,
"reserve": "3 full merged checkouts +1native1.2x +200MiB profiles +100MiB material metadata +1GiB OS",
"review_pending": true,
"ordinary_candidate_not_created": true,
"main_or_task_state_not_changed": true,
"original_unit_credit": 0
}
@@ -0,0 +1,27 @@
{
"source_composition_commit": "44874d792ff4f2293c1b71c3a111d899b4798723",
"source_tree": "90be420677d106a0a18cca5f2ba17fab833ed446",
"main_base": "cb0a58bc285a29c039d20383efe06d65792b8249",
"submitted": "265ce30f81b1302ca374330f7129f02d6fde4697",
"ordinary_integration_candidate": false,
"actual_native_suites": 7,
"actual_native_checks": 1839,
"actual_parse_paths": 316,
"all9ownedended": true,
"output": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-merged-native-evidence-265ce30-r01",
"seconds": 67.39455008506775,
"proof_pins": {
"runner-input.json": "c5e601dd8c7f75f3ac054a5a28c7805490f20570372ed1a99e69ae67321ef5e2",
"runner-ended.json": "c5bf962e4caf4d2c84c21dcdfa459e4ed451bbae2ce88d36b6e057618b5bdd30",
"receipt.json": "ebf166068947255191dc88458f472093b6a81da57c2e30d8ded1891e1f0a7227",
"all-tests.json": "5a063b2c35a1e21cc57a59ad6dd1fc159a58d84201594f0dc08114bf2594861b"
},
"source_map_reuse_rule": "Only reuse against a future ordinary Runner candidate after independently matching every selected source/settings/marker/policy/engine/input file. Composition Git SHA is not the future integration SHA and is not relabelled.",
"source_or_proof_edited": false,
"formal_original_unit_credit": 0,
"remaining": [
"Separate actual Opus review of submitted265 after its quota recovers",
"Ordinary latest-main prepare-integration with strict applicable evidence, exact candidate approval/final/main integration",
"Whole originalP18conditions stillopen"
]
}
@@ -0,0 +1,28 @@
{
"state": "terminal_pass",
"source_composition_commit": "44874d792ff4f2293c1b71c3a111d899b4798723",
"source_tree": "90be420677d106a0a18cca5f2ba17fab833ed446",
"main_base": "cb0a58bc285a29c039d20383efe06d65792b8249",
"submitted": "265ce30f81b1302ca374330f7129f02d6fde4697",
"ordinary_integration_candidate": false,
"actual_native_suites": 7,
"actual_native_checks": 1839,
"actual_parse_paths": 316,
"all9ownedended": true,
"output": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-merged-native-evidence-265ce30-r01",
"seconds": 67.39455008506775,
"proof_pins": {
"runner-input.json": "c5e601dd8c7f75f3ac054a5a28c7805490f20570372ed1a99e69ae67321ef5e2",
"runner-ended.json": "c5bf962e4caf4d2c84c21dcdfa459e4ed451bbae2ce88d36b6e057618b5bdd30",
"receipt.json": "ebf166068947255191dc88458f472093b6a81da57c2e30d8ded1891e1f0a7227",
"all-tests.json": "5a063b2c35a1e21cc57a59ad6dd1fc159a58d84201594f0dc08114bf2594861b"
},
"source_map_reuse_rule": "Only reuse against a future ordinary Runner candidate after independently matching every selected source/settings/marker/policy/engine/input file. Composition Git SHA is not the future integration SHA and is not relabelled.",
"source_or_proof_edited": false,
"formal_original_unit_credit": 0,
"remaining": [
"Separate actual Opus review of submitted265 after its quota recovers",
"Ordinary latest-main prepare-integration with strict applicable evidence, exact candidate approval/final/main integration",
"Whole originalP18conditions stillopen"
]
}
@@ -0,0 +1,22 @@
{
"roster": [
"tests/s4/test_original_relationship_model.gd",
"tests/s4/test_original_relationship_runtime.gd",
"tests/s4/test_relationship_event_service.gd",
"tests/s4/test_runtime_relationship_events.gd",
"tests/s6/test_runtime_snapshot_serialization.gd",
"tests/s6/test_runtime_save_lifecycle.gd",
"tests/ui/test_staff_management.gd"
],
"source_files": 1338,
"source_bytes": 67895232,
"free_bytes": 2770632704,
"conservative_required_bytes": 382468032,
"capacity_available": true,
"parse_paths": 316,
"future_native_phases": 9,
"actual_checks": null,
"engines": 0,
"stages": 0,
"formal_acceptance": false
}
@@ -0,0 +1,145 @@
{
"status": "draft_for_actual_Opus_UI_phase_review_not_registered_not_started",
"original_plan_id": "P18-01",
"new_original_unit": false,
"original_30_88_unchanged": true,
"formal_original_unit_credit": 0,
"original_acceptance": "表示と状態が一致し、意味不明な値の一対一変換を行わない。",
"sources": {
"original": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/traceability/original/BASELINE.txt",
"bytes": 23494,
"sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a"
},
"current_main_staff_panel": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/scripts/ui/staff_management_panel.gd",
"bytes": 23519,
"sha256": "df3120130956b300d1349cb758c0aa30dfd7da5e0774fb7fb9a1f3e4e0786fb2"
},
"held_backend_service": {
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/P18-01-CODE-implement/scripts/relationship/relationship_service.gd",
"bytes": 27526,
"sha256": "d2f6304aa643b98914c5d65bf3eb673ca8cc427476187f43e76b4b941410b1d3"
},
"held_backend_runtime": {
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/P18-01-CODE-implement/autoload/simulation_runtime.gd",
"bytes": 611487,
"sha256": "0c8c9356a78bf9df16c362e202a362e044bae018f40efb54145713582d69a2d2"
}
},
"original_evidence": [
{
"line": 137,
"text": "## 7.1 概要とコアコンセプト"
},
{
"line": 138,
"text": "3つの感情パラメータと防御値「愛の盾」、直接対決「決闘」によってヒロインの運命(純愛・NTR・堕落)をシミュレートする。"
},
{
"line": 139,
"text": "## 7.2 感情パラメータと「愛の盾」"
},
{
"line": 140,
"text": " * **好感度 (Affection):** 主人公への愛。「愛の盾」の最大耐久値。"
},
{
"line": 141,
"text": " * **淫乱度 (Lust):** 快楽への依存。盾の防御力(ダメージ軽減率)を下げる。"
},
{
"line": 142,
"text": " * **NTR度 (Netorare):** ライバル依存。盾破壊後に上昇する。"
},
{
"line": 143,
"text": " * **『愛の盾』:** NTR攻撃を無効化するバリア。耐久値0でブレイクし、NTR侵食が始まる。"
},
{
"line": 152,
"text": " * **リターン:** ライバル追放・隷属化、「愛の盾」全回復。"
},
{
"line": 219,
"text": " * **ユニット:** 客の欲求バー・AI思考ログ、従業員の感情3軸グラフ・愛の盾耐久値。"
},
{
"line": 246,
"text": " * エフェクト(愛の盾、煙、マナの光)。"
}
],
"current_gap": {
"panel_scope": "Roster and assignment editing only; no original_relationship/affection/lust/netorare rendering in current staff_management_panel.gd.",
"backend_projection": [
{
"line": 10893,
"text": "\t\t\t&\"original_relationship\": relationship_service.get_original_relationship(staff.staff_id),"
}
],
"unset_actual_readmodel": "func get_original_relationship(subject_id: StringName) -> Dictionary:\n\tif _original_records.has(subject_id):\n\t\tvar result: Dictionary = _original_records[subject_id].duplicate(true)\n\t\tresult[&\"configured\"] = true\n\t\treturn result\n\treturn {&\"configured\": false, &\"subject_id\": subject_id,\n\t\t&\"protagonist_id\": null, &\"rival_id\": null, &\"affection\": null,\n\t\t&\"lust\": null, &\"netorare\": null, &\"shield_current\": null, &\"shield_max\": null}\n",
"ordinary_staff_entry_exists": true,
"original_UI_gap_open_backend_scope_unchanged": true
},
"proposed_requirements": [
{
"id": "ui_normal_entry",
"required": "Reach from ordinary employee/inspector entry. Add faithful three-axis emotion graph and shield durability while preserving current roster/assignment/shift operations; no diagnostic-only entry."
},
{
"id": "ui_actual_values",
"required": "Read real get_staff_management_report row.original_relationship for the selected staff; preserve subject/protagonist/rival direction, Affection/Lust/Netorare and shield_current/shield_max exactly. Never convert old five axes to original three."
},
{
"id": "ui_unset_vs_zero",
"required": "configured:false or absent readmodel shows explicit unconfigured/unknown values and no fabricated graph point or zeros. Configured true zeros are real zero. Preserve existing old-format report compatibility as unknown original state, not a guessed mapping."
},
{
"id": "ui_graph_and_labels",
"required": "Show actual original three-axis graph (not text-only or legacy five-axis substitute), Japanese labels and actual shield current/max. Do not invent a gameplay ceiling/percentage scale from legacy0..100; expose any purely visual scaling truthfully and preserve exact numeric values. Commander must review concrete scale choice."
},
{
"id": "ui_readonly",
"required": "Opening, refresh, staff switching and live snapshot updates must not register defaults or mutate relationships/other Runtime state. No production initialization values or new rates/thresholds/routes/duels/contacts."
},
{
"id": "ui_save_and_live_consistency",
"required": "Real selected staff configured/unconfigured views agree with the same Runtime state before/after publication and save/reload; distinct PID ordinary route remains needed. Do not use injected fixtures as normal gameplay or initial-value approval."
},
{
"id": "ui_verification",
"required": "Meaningful native UI local+affected tests, actual rendering/source/provenance and independent direct visual review, ordinary OS evidence and applicable Windows coverage. Update source marker/policy pins, then exact final required whole-unit full roster after related code/UI batched, independent whole-unit review and normal integration/final. No skipped GUI falsely counted as pass."
}
],
"validation_fixture_requirements": [
"Use the actual dedicated model and real hired identity catalog. Configured/unconfigured/zero/beyondlegacy100/fractional finite values are validation fixtures only; no production adoption.",
"Prove graph/label/shield values and geometry derive from same Runtime payload, read-only behavior and save/reload equality. Keep old native employee assignment tests meaningful.",
"All mandatory source/engine/PID/profile/cleanup/capture provenance; headless structure checks do not substitute actual visible graph/normal OS acceptance."
],
"scope_candidate_only": [
"scripts/ui/staff_management_panel.gd",
"one focused three-axis graph component + UID if needed",
"new focused UI test(s) + UID",
"completion-marker and suite-policy rows for added tests",
"UI-phase evidence/docs"
],
"role_candidate": {
"commander": "actual Claude Opus5.5 must review this proposal and choose concrete execution",
"ui": "Antigravity per user-selected plugin, not started; model not asserted",
"backend": "Keep accepted interface after backend review/integration; no duplicate implementation",
"review": "independent actual Opus"
},
"resource_and_assets": "Before execution measure checkout/native output/profiles/capture/material cost. Reuse existing styling/assets. If adding generic UI/icons, check Kenney first and preserve URL/license. No new paid services, source deletions or permission expansion.",
"dependencies_unmet": [
"Backend265 independent Opus re-review and ordinary latest-main integration/final",
"Production-approved original initialization/undefined units/ranges remain unknown, not defaulted",
"Ordinary Mac GUI capture currently unavailable; Windows final environment/D10 remains open"
],
"not_claimed": [
"new task registered",
"UI implemented",
"initial values approved",
"P18-01 completed",
"game completed"
]
}
@@ -0,0 +1,16 @@
{
"id": "p18",
"observed_config": {
"version": 1,
"id": "p18",
"kind": "heartbeat",
"name": "P18独立レビューを利用枠回復後に再開",
"status": "ACTIVE",
"rrule": "FREQ=DAILY;COUNT=1;BYHOUR=22;BYMINUTE=41;BYSECOND=0",
"target_thread_id": "01a0f827-b7b6-7453-9367-098f6b1c4435",
"created_at": 1792067255122,
"updated_at": 1792067255122
},
"scope": "One-time same-thread actual independent review after observed Claude reset; existing human continue-after-limit instruction; no duplicate workers or source/acceptance changes.",
"view_verified": true
}
@@ -0,0 +1,168 @@
{
"candidate": "265ce30f81b1302ca374330f7129f02d6fde4697",
"backend_task": "P18-01-CODE",
"original_plan_id": "P18-01",
"all4backend_conditions_unchanged": true,
"formal_original_unit_credit": 0,
"formal_validation": {
"task_id": "P18-01-CODE",
"commit": "265ce30f81b1302ca374330f7129f02d6fde4697",
"kind": "validation",
"checks": [
{
"id": "p18-model",
"exit_code": 0,
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p18-01-model/runs/f5e341d64e9f4cc9991960f7bcfa34ce",
"passed": true
}
],
"passed": true
},
"native_frozen": {
"suites": 7,
"checks": 1839,
"parse": 308,
"pids": [
91826,
91922,
91953,
91970,
92030,
92034,
92058,
92074,
92126
],
"all9ended": true,
"guard_errors": [],
"cleanup_errors": [],
"proof_pins": {
"runner-input.json": "468fbe7da8f247098e3c47b720a22b211eed4164d2bb82e06a6708f192c47bec",
"runner-ended.json": "101bac8ddb8acc46c147cb75191c223ae426f965cd4fe660cd1ca89a82760bc6",
"receipt.json": "dd4d56b520914c7b28849c6d7393d389eee0c06ade28364ab66497e74ef414da",
"all-tests.json": "bca039cb42aeba881fc9266ef07861698276dfcd8180e7bd7336f37a0b48e90a"
}
},
"actual_prior_review": {
"task_id": "P18-01-CODE",
"commit": "b7a7cc01d4d0e874e10464c686b7fdeecd9b348c",
"status": "changes_requested",
"summary": "I reviewed the full diff, the complete changed Runtime methods, RelationshipService, OriginalRelationshipState, both new suites, the collector, the marker and policy pins, and the registered validation material. The verifier in .review-material/validation-runs/.../stdout.log reports verified=true, 7 suites, 1163 checks and 308 parse paths.\n\nP18-C-1 is met: the dedicated directional model requires explicit fields, ties shield_max to Affection, keeps unset distinct from explicit zero, and invents no coefficients.\n\nP18-C-3 is largely met: there is a real Runtime command, an identity validator tied to restored and then live staff and catalog, restore-before-swap atomicity, and read-only report projections.\n\nP18-C-2 is mostly met. The v1 raw facts, aliases, extensions and record order survive the v2 round trip, and the original relationship state is kept separate from the five legacy axes.\n\nHowever, the v2 container makes an existing affected-regression assertion pass vacuously. In tests/s6/test_runtime_save_lifecycle.gd:520-537, the \"recovery never guesses an exclusive Relationship route lock\" case appends an invalid EXCLUSIVE_LOCKED relationship with an empty route_id only to systems.runtime.relationships.relationships. That is now just the compatibility projection. The candidate is rejected by the new \"projection disagrees with legacy\" check (relationship_service.gd restore_snapshot) before the route-lock invariant is ever evaluated. The test body is unchanged and still passes, but it no longer verifies the P03 restore safeguard the spec requires to be preserved. Neither new suite restores the v2 legacy path with an invalid route lock. The 1163 passing checks therefore overstate coverage of that safeguard.\n\nThere are smaller gaps:\n- Threshold candidate fields other than the ids are not type-checked.\n- Candidate ordering in snapshots changed from sorted to insertion order once a legacy payload has been restored.\n\nP18-C-4: the native evidence is strong, but integration and affected final validation are still pending. The original P18-01 unit is correctly not claimed complete.",
"acceptance_ids": [
"P18-C-1",
"P18-C-2",
"P18-C-3",
"P18-C-4"
],
"findings": [
{
"severity": "high",
"message": "An existing restore-safeguard test now passes vacuously. tests/s6/test_runtime_save_lifecycle.gd:520-537 (route_mismatch) appends an invalid EXCLUSIVE_LOCKED relationship with route_id \"\" only to runtime.relationships[\"relationships\"], which under SNAPSHOT_VERSION 2 is just the compatibility projection. RelationshipService.restore_snapshot rejects it at the projection-vs-legacy equality check, so RelationshipState.is_valid's route-lock invariant is never reached. The test, which says \"recovery never guesses an exclusive Relationship route lock\", still passes without exercising that invariant, which weakens the P03 safeguard verification the spec requires to be retained. Fix: add a new-suite check that injects the invalid route-lock record into legacy.relationships and the projection consistently, then assert atomic rejection (normal and recovery restore), so the affected regression truly covers this invariant. Do not edit the existing test body."
},
{
"severity": "medium",
"message": "The wrong-type rejection for v1 threshold_candidates is partial. _parse_snapshot type-checks only candidate_id and relationship_id. It does not check metric_id, threshold (int), requires_unlock_event (bool), created_at (int), actor_ids (Array) or deduplication_key, even though RelationshipService._register_threshold_candidate produces typed values for all of them. Since \"wrong types\" must reject atomically, either validate these fields against the producer's types or record an explicit justification for leaving them opaque, and add a test for that decision."
},
{
"severity": "low",
"message": "Legacy snapshot ordering changed. create_snapshot used to sort threshold_candidates by candidate_id. After any restore (when _legacy_raw is non-empty) it now emits insertion order, while a fresh service still emits sorted order. The result is deterministic, but it is an undocumented change to legacy output. Confirm this is intended, or keep the sorted order for candidates created after the restore."
},
{
"severity": "low",
"message": "docs/.../p18-01-code/inspect_repair5_inputs.py hardcodes an absolute path under the worker allocation. It is a docs-only helper, but it is not reproducible from the checkout. Consider making the path a parameter."
},
{
"severity": "low",
"message": "P18-C-4: native local and affected evidence is present and verified (validation id 5, 9 owned PIDs, no cleanup or guard errors). Integration and affected final validation on merged main remain pending Runner gates. The P18-01 original unit remains at 30/88 and in progress; this is correctly not claimed complete."
}
]
},
"fixes_to_reassess": {
"high": "New Runtime suite now has successful normal+real package recovery positive exclusive-route control, and empty-route-only mutation with legacy/projection identical. Asserts normal and actualload_with_recovery rejection, input/Runtime/service bytes, serviceidentity, forbiddenrepairsfalse. Five oldtests untouched.",
"medium": "Added candidate_id/relationship_id/metric_id and actor String/StringName acceptance, dedup keyString,threshold/created_atint,requires_unlock_eventbool,Array2actors typed. Actualproducer typedcandidate/Stringcompatibility/opaqueextension positivecontrols and wrongtype tests acrossv1/v2,Service,Runtime,recovery. No newgameplaynumericbounds.",
"low": "Rawcandidateorder retained per lossless contract; realzero-paddedmonotonic producer appending test added. Review whether this legitimately preserves required oldbehavior; do not simply waive.",
"docs_low": "Historicalinspectorabsoluteallocationpath deferredoutsideproductacceptance."
},
"fixed_original_inputs": {
"candidate": "265ce30f81b1302ca374330f7129f02d6fde4697",
"test_sha256": "c56bdb99dd43a4e7ceb3ca2861e8db39972c5c4e805126a77e2f7da32ca5bdc9",
"fixed_original_manifest_sha256": "d07b6c42ecca11bf3557ee5034ce9cc70b5a750f7b08b6b40f9ef09cdbe787c2",
"packages": [
{
"name": "initial",
"world_bytes": 7523,
"world_sha256": "df91b4624c9afdeea2d366ff38d9f545fcff3f5f99223e3c04ae66d04b2f9fab",
"manifest_sha256": "e9c4f7a8ea4ce9897c1e66c7861779fcd558f2dc314e08dbaef1b59bd145f419",
"byte_for_byte_original_match": true
},
{
"name": "operating",
"world_bytes": 48631,
"world_sha256": "93732bb0bc042f4da0f90879a03dc3f3e374b3b45000840b0cbae142c42601c6",
"manifest_sha256": "9c8b2c813c78ea1e19f43af31e77ff1547d707ca93f0d142c9e0df5e9bee8bd6",
"byte_for_byte_original_match": true
},
{
"name": "moving",
"world_bytes": 27413,
"world_sha256": "a577b190cb3b18cfc5cca1ef15d26521ea950bf5f3d3da68d19b1c8f43672158",
"manifest_sha256": "52e87c19e39d7e4e922b47ef5979f4fecbe3211bd3f193ab30fd5418fffc5c73",
"byte_for_byte_original_match": true
},
{
"name": "date-boundary",
"world_bytes": 26686,
"world_sha256": "d4443f0bd42c2e9d6a5dd07d1949deade5d7526036f1320b56336b5637c9fcc3",
"manifest_sha256": "5e604491f863537d390f9db11f9dcc2473fcbf7fc0bced8d326caae893572ea2",
"byte_for_byte_original_match": true
},
{
"name": "defense",
"world_bytes": 10110,
"world_sha256": "34ab140d64743b89425c292b785827fdb82c2bf92510688a4038461a2fe7a5d7",
"manifest_sha256": "91d209a9bc295eadfa761359670a0c53ec7799a1f2ab53eedaacc14b2430b015",
"byte_for_byte_original_match": true
}
],
"all_fixed_world_and_manifest_bytes_match": true,
"scope": "Independent Root original byte comparison; native Reader/Runtime evidence is separate",
"engines_started": 0
},
"actual_merged_source_native": {
"source_composition_commit": "44874d792ff4f2293c1b71c3a111d899b4798723",
"source_tree": "90be420677d106a0a18cca5f2ba17fab833ed446",
"main_base": "cb0a58bc285a29c039d20383efe06d65792b8249",
"submitted": "265ce30f81b1302ca374330f7129f02d6fde4697",
"ordinary_integration_candidate": false,
"actual_native_suites": 7,
"actual_native_checks": 1839,
"actual_parse_paths": 316,
"all9ownedended": true,
"output": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p18-01-model/.runtime/P18-01-CODE/build/p18-merged-native-evidence-265ce30-r01",
"seconds": 67.39455008506775,
"proof_pins": {
"runner-input.json": "c5e601dd8c7f75f3ac054a5a28c7805490f20570372ed1a99e69ae67321ef5e2",
"runner-ended.json": "c5bf962e4caf4d2c84c21dcdfa459e4ed451bbae2ce88d36b6e057618b5bdd30",
"receipt.json": "ebf166068947255191dc88458f472093b6a81da57c2e30d8ded1891e1f0a7227",
"all-tests.json": "5a063b2c35a1e21cc57a59ad6dd1fc159a58d84201594f0dc08114bf2594861b"
},
"source_map_reuse_rule": "Only reuse against a future ordinary Runner candidate after independently matching every selected source/settings/marker/policy/engine/input file. Composition Git SHA is not the future integration SHA and is not relabelled.",
"source_or_proof_edited": false,
"formal_original_unit_credit": 0,
"remaining": [
"Separate actual Opus review of submitted265 after its quota recovers",
"Ordinary latest-main prepare-integration with strict applicable evidence, exact candidate approval/final/main integration",
"Whole originalP18conditions stillopen"
]
},
"merged_proof_scope": "Non-production actualGitcomposition with currentmain, not ordinaryintegrationcandidate. All7/1839 and316parse passed. Does not replace ordinaryprepare-integration/final or independentsubmittedreview. Reuse only when everyselectedsource/settings/markers/policy/engine/input hashmatches futureactualcandidate; neverrelabel compositionGitSHA.",
"source_or_tests_root_edited": false,
"actual_commander6": "Not obtained dueClaude429. Actualrecorded same-task Opus599fd345 model/startchoice and later actualOpusreviewd002 were forwarded unchanged under existingRunner/spec/scope; allgates preserved. This is not a forged commanderdecision.",
"review_request": "Actual separate Opus5.5 session: reassessALL4fixedbackendcriteria, FULLdiff, relevantcompletecurrentfrozen sources/dependencies, actualregisteredvalidation/native/rawproof/typedproducer/Reader evidence and exacthigh/medium fixes. No severitywaiver, no testcountsubstitute. Readfullfrozencheckout files if needed; no byte/filecap. All necessarymaterial copiedby normalRunner. Integration/final remainordinaryfollowinggates; do not claimoriginalunitcomplete.",
"remaining_whole_unit": [
"Ordinary staffUI actualoriginal3axis/shield and saved/restored display equality (currentmainstaffpanelhasnone; draftUIphase isnotimplementation)",
"Production-approved original initialization and undefinedunits/ranges",
"Required finalwholeunitfullrosterafterrelatedUI/codebatch",
"Independentwholeunitreview and sameWindows finalapplicableacceptance"
]
}
@@ -0,0 +1,45 @@
{
"candidate": "265ce30f81b1302ca374330f7129f02d6fde4697",
"test_sha256": "c56bdb99dd43a4e7ceb3ca2861e8db39972c5c4e805126a77e2f7da32ca5bdc9",
"fixed_original_manifest_sha256": "d07b6c42ecca11bf3557ee5034ce9cc70b5a750f7b08b6b40f9ef09cdbe787c2",
"packages": [
{
"name": "initial",
"world_bytes": 7523,
"world_sha256": "df91b4624c9afdeea2d366ff38d9f545fcff3f5f99223e3c04ae66d04b2f9fab",
"manifest_sha256": "e9c4f7a8ea4ce9897c1e66c7861779fcd558f2dc314e08dbaef1b59bd145f419",
"byte_for_byte_original_match": true
},
{
"name": "operating",
"world_bytes": 48631,
"world_sha256": "93732bb0bc042f4da0f90879a03dc3f3e374b3b45000840b0cbae142c42601c6",
"manifest_sha256": "9c8b2c813c78ea1e19f43af31e77ff1547d707ca93f0d142c9e0df5e9bee8bd6",
"byte_for_byte_original_match": true
},
{
"name": "moving",
"world_bytes": 27413,
"world_sha256": "a577b190cb3b18cfc5cca1ef15d26521ea950bf5f3d3da68d19b1c8f43672158",
"manifest_sha256": "52e87c19e39d7e4e922b47ef5979f4fecbe3211bd3f193ab30fd5418fffc5c73",
"byte_for_byte_original_match": true
},
{
"name": "date-boundary",
"world_bytes": 26686,
"world_sha256": "d4443f0bd42c2e9d6a5dd07d1949deade5d7526036f1320b56336b5637c9fcc3",
"manifest_sha256": "5e604491f863537d390f9db11f9dcc2473fcbf7fc0bced8d326caae893572ea2",
"byte_for_byte_original_match": true
},
{
"name": "defense",
"world_bytes": 10110,
"world_sha256": "34ab140d64743b89425c292b785827fdb82c2bf92510688a4038461a2fe7a5d7",
"manifest_sha256": "91d209a9bc295eadfa761359670a0c53ec7799a1f2ab53eedaacc14b2430b015",
"byte_for_byte_original_match": true
}
],
"all_fixed_world_and_manifest_bytes_match": true,
"scope": "Independent Root original byte comparison; native Reader/Runtime evidence is separate",
"engines_started": 0
}
@@ -244,7 +244,7 @@
"facility_value_contracts_validation.json": "bf490a9ca585c48fc318e76c4a069ef244827d828d46e6415399f7710590dd16",
"performance_audit.json": "0b630b15a392c3e0366f1362bfe4ddacb968f915f54549f82e4d6fa315384762",
"progress_contract.json": "ccbdfce8c8365d5c13f59531955708834cce45acd0e136561c95295dfdb5df77",
"progress_snapshot.json": "6e11768ba54df24b96789a28466ee7cccfec5ffbd3ecdc168f405ad3e1b74b55",
"progress_snapshot.json": "7c5e9ca1cf85b6b038d8c6cec46774dcd7639eb9da73973c193a38666416d6e0",
"progress_validator_guard_checks.json": "72ee513fcf1cad85c24bfd0a4b472f425f6acf117928ece0f6b41e29018da627",
"progress_validator_guard_checks.r01.json": "14c26adffa5a1938241db4912e50ea54b660641ee6fee2e412d467dce14d0519",
"requirement_coverage.json": "8b5788b22ae8f49ea7e5cf048a5f0d82b54f6f193623465e0b70496b5aadd09d",
@@ -10310,6 +10310,28 @@
"native_parse": 308,
"all9ownedended": true,
"formal_original_unit_credit": 0,
"audit": "execution/p18-01-resume-20261015/CURRENT_ACCEPTANCE_AUDIT.json"
"audit": "execution/p18-01-resume-20261015/CURRENT_ACCEPTANCE_AUDIT.json",
"merged_native_preflight": {
"result": "MERGED_265_NATIVE_RESULT.json",
"composition_commit": "44874d792ff4f2293c1b71c3a111d899b4798723",
"suites": 7,
"checks": 1839,
"parse_paths": 316,
"all9ownedended": true,
"ordinary_integration_candidate": false,
"main_adopted": false
},
"review_resume": {
"automation_id": "p18",
"kind": "one-time same-thread heartbeat",
"scheduled_jst": "2026-10-15T22:41:00+09:00",
"receipt": "REVIEW_RESUME_AUTOMATION.json",
"duplicate_guard_required": true
},
"storage_offload": {
"report": "../drive-offload-cold-r06-20261015/FINAL_REPORT.json",
"current_proof_eight_pins_unchanged": true,
"closed_review_material_restorable_on_Drive": true
}
}
}