Compare commits

...
Author SHA1 Message Date
Agent Control Runner f10907d8db P26-01-LEDGER: 原P26-01 全必要内容の台帳 2026-10-18 09:26:09 +09:00
Agent Control Runner da80360a60 P26-01-LEDGER: 原P26-01 全必要内容の台帳 2026-10-18 09:12:11 +09:00
Agent Control Runner 35b3de0d59 P26-01-LEDGER: 原P26-01 全必要内容の台帳 2026-10-17 20:47:20 +09:00
Takeshi 379a1ba8fd docs: fix original P26 content ledger task and Opus selection 2026-10-17 20:35:25 +09:00
Takeshi f4f85bc54c docs: formally close original P19 reachability acceptance at 15 of 88 2026-10-17 20:29:40 +09:00
Agent Control Runner 8e4f1d92fc Merge commit '903a2c566e73cebc874a6499410a1243bc190a63' into HEAD 2026-10-17 20:23:55 +09:00
Takeshi e7acd530c5 docs: record P19 definition-integrity repair and real main preflight 2026-10-17 20:20:46 +09:00
Agent Control Runner 903a2c566e P19-03-TABLE: P19-03 分岐の到達性:原7名×3ルートの全到達表と未制作欠損監査 2026-10-17 20:12:39 +09:00
Takeshi 6e17cae5c9 docs: pin full P19 reachability review pass before normal integration 2026-10-17 19:58:25 +09:00
Takeshi b81f9f2860 docs: retain P19 whole-review findings and same-task repair status 2026-10-17 19:50:02 +09:00
Agent Control Runner 806de25068 P19-03-TABLE: P19-03 分岐の到達性:原7名×3ルートの全到達表と未制作欠損監査 2026-10-17 19:49:30 +09:00
Takeshi c5e2087dde docs: record P19 validated submission and verified checkout recovery 2026-10-17 19:39:40 +09:00
Agent Control Runner e0420d57a3 P19-03-TABLE: P19-03 分岐の到達性:原7名×3ルートの全到達表と未制作欠損監査 2026-10-17 19:24:10 +09:00
Takeshi 8ca9263fee docs: register Opus-selected original P19 reachability audit scope 2026-10-17 19:16:06 +09:00
Takeshi 1b07b87d37 docs: close reviewed P13 backend batch through normal final integration 2026-10-17 19:05:58 +09:00
Agent Control Runner 65f07bf5ea Merge commit 'a7e3069b167511b3194242b3403fbcc35244a526' into HEAD 2026-10-17 19:01:21 +09:00
Takeshi 191ea3b4d1 docs: record qualified P13 full regression and active independent review 2026-10-17 19:01:05 +09:00
Takeshi d60f1c6d04 docs: preserve full-regression storage failure and verified Drive recovery 2026-10-17 18:36:17 +09:00
Takeshi ef96967d8a docs: record exact P13 native local validation and current original-unit state 2026-10-17 17:28:47 +09:00
Agent Control Runner a7e3069b16 P13-02-CODE1: P13-02 背面対象参照・占有・保存の非描写機構(全原成果の一部、加算なし) 2026-10-17 17:21:43 +09:00
Agent Control Runner 27fc5f0544 P13-02-CODE1: P13-02 背面対象参照・占有・保存の非描写機構(全原成果の一部、加算なし) 2026-10-17 17:13:56 +09:00
Takeshi f7ef53ac48 docs: retain P13 submitted source and exact import guard failure 2026-10-17 17:10:39 +09:00
Agent Control Runner e930a1dedf P13-02-CODE1: P13-02 背面対象参照・占有・保存の非描写機構(全原成果の一部、加算なし) 2026-10-17 17:03:48 +09:00
Takeshi 1e8d4ea888 docs: register original P13 target-reference implementation scope 2026-10-17 16:38:25 +09:00
Takeshi 2f3884be11 docs: retain scoped OS evidence and re-audit P04 current acceptance 2026-10-17 16:30:58 +09:00
Takeshi 565fd80507 docs: preserve retired P24 checkout evidence 2026-10-17 15:24:32 +09:00
Takeshi c80c1688fa docs: record P24 repair6 reviewed and native readiness 2026-10-17 15:21:02 +09:00
Takeshi 54cade4181 docs: record P24-02 repair4 source readiness and independent static review 2026-10-17 14:22:41 +09:00
Takeshi 51e8657bfb docs: record Opus P24-02 continuation and audit retained evidence 2026-10-17 00:27:23 +09:00
Takeshi 32c8d1ce43 docs: formally close P23-03 with exact-version acceptance evidence 2026-10-17 00:20:38 +09:00
Agent Control Runner 314a8a4ce1 Merge commit 'd2581afd26d1976cdfe4f44c89df49a772524d1e' into HEAD 2026-10-17 00:11:45 +09:00
Agent Control Runner d2581afd26 P23-03: 生活の観察 2026-10-16 19:28:26 +09:00
Agent Control Runner 059c2f743b P23-03: 生活の観察 2026-10-16 19:18:11 +09:00
Agent Control Runner 26f60095bf P23-03: 生活の観察 2026-10-16 17:15:06 +09:00
Agent Control Runner 93248f4d79 P23-03: 生活の観察 2026-10-16 14:56:38 +09:00
Agent Control Runner 7f1920b329 P23-03: 生活の観察 2026-10-16 14:41:54 +09:00
Agent Control Runner 447f77a13b P23-03: 生活の観察 2026-10-16 14:24:10 +09:00
Agent Control Runner 6c13940cf4 P23-03: 生活の観察 2026-10-16 14:17:14 +09:00
Agent Control Runner 5041b88bdf Merge commit '53cb52da9ce87f15d56f9443790da0f9de29be58' into HEAD 2026-10-16 14:11:31 +09:00
Agent Control Runner 53cb52da9c P18-REG-KITCHEN-LEGACY14: P18承認済み保存移行と厨房旧14回帰の整合(原88件に加算しない補助) 2026-10-16 07:22:22 +09:00
Agent Control Runner 52ce2f125c P18-REG-KITCHEN-LEGACY14: P18承認済み保存移行と厨房旧14回帰の整合(原88件に加算しない補助) 2026-10-16 07:16:55 +09:00
Takeshi 9b1a18c1eb Preserve P04 raw verification work and offload 39 ended checkouts 2026-10-16 05:26:04 +09:00
Takeshi 8af0d5af8c Record P04 service boundary restore proof and raw collector stage 2026-10-16 04:55:18 +09:00
Takeshi 4a68e580db Record P04 night shift and overtime restore proof; stage S3 2026-10-16 04:42:16 +09:00
Takeshi faa40a772c Record P04 midnight proof and verified validation checkout offload 2026-10-16 04:12:00 +09:00
Takeshi 224007908d Record P04 S1 outage and formal restore evidence; continue S2a 2026-10-16 03:30:51 +09:00
Takeshi 5a233e08bb Preserve P04 submission and product composition proof; stage S1 acceptance work 2026-10-16 03:04:50 +09:00
Takeshi 9694f50ee6 Record request resend save proof and correct whole-function evidence pins 2026-10-16 01:53:14 +09:00
Takeshi f3f23cac88 Record paid shift payroll and formal midnight save continuity 2026-10-16 01:41:37 +09:00
Takeshi 54e81e576f Record approved D05 native save evidence and verified Drive offloads 2026-10-16 01:32:14 +09:00
Agent Control Runner 5f6bc11d6b Merge commit '265ce30f81b1302ca374330f7129f02d6fde4697' into HEAD 2026-10-15 23:13:10 +09:00
Takeshi c4bc9b44e9 Record approved P04 boundary policies and current acceptance evidence 2026-10-15 23:08:38 +09:00
Takeshi afde233203 Archive cold evidence on Drive and preserve current acceptance pins 2026-10-15 22:10:37 +09:00
Takeshi cb0a58bc28 docs: retain exact P18 preservation patch in verified gzip 2026-10-15 21:09:54 +09:00
Takeshi 1a6cc43f2e docs: preserve P18 native evidence, review findings and scoped repair continuation 2026-10-15 21:09:14 +09:00
Agent Control Runner 265ce30f81 P18-01-CODE: 原本関係モデル・旧値保全・Runtime保存と読取経路 2026-10-15 20:58:05 +09:00
Agent Control Runner b7a7cc01d4 P18-01-CODE: 原本関係モデル・旧値保全・Runtime保存と読取経路 2026-10-15 20:33:19 +09:00
Takeshi fe4289ed81 docs: record Opus scheduling and resume held P18 save-compatibility repair 2026-10-15 20:19:46 +09:00
Takeshi 679a9273c9 docs: formally close original P13-03 with reviewed integration evidence 2026-10-15 20:07:53 +09:00
Agent Control Runner e80c6c04b5 Merge commit 'bd3a97ec741ddb2346d0c2b2e0472c978927ce82' into HEAD 2026-10-15 20:04:57 +09:00
Takeshi e3d606c137 docs: align superseded P13 root instructions with reviewed candidate 2026-10-15 20:04:50 +09:00
Takeshi 32ca5b34c5 docs: preserve exact P23 regression and reviewed P13 closure candidate 2026-10-15 20:03:49 +09:00
Takeshi 3f02b41f76 docs: archive idle historical verification stages to Drive 2026-10-15 20:01:14 +09:00
Agent Control Runner bd3a97ec74 P13-03: 内容差異の記録 2026-10-15 19:39:35 +09:00
Agent Control Runner bc1299acf5 P13-03: 内容差異の記録 2026-10-15 19:21:10 +09:00
Takeshi 57131ec616 docs: record frozen P23 full regression and reuse P04 order audit 2026-10-15 18:47:09 +09:00
Agent Control Runner 9a26f9ab8c P23-03: 生活の観察 2026-10-15 18:30:42 +09:00
Takeshi 50b2dbeba4 docs: preserve independent P23-03 finding and scoped Sol correction 2026-10-15 18:28:16 +09:00
Takeshi 92546af5b7 docs: record P23-03 submitted repair and exact native impact checks 2026-10-15 18:20:25 +09:00
Takeshi dd74f65c4b docs: verify cloud evidence offload and clarify restore index 2026-10-15 18:04:24 +09:00
Agent Control Runner 19fc3f50c7 P23-03: 生活の観察 2026-10-15 18:01:00 +09:00
Takeshi 3379e283e4 Preserve P23 geometry implementation and source-grounded continuation decisions 2026-10-15 17:30:11 +09:00
Takeshi 74228df24b Preserve actual R13 visual defects and dispatch Opus-directed Astra repair 2026-10-15 16:32:03 +09:00
Takeshi a44eca6414 Record R13 mechanical evidence and managed serial visual review continuation 2026-10-15 16:14:24 +09:00
Takeshi de6e7ced86 Archive closed evidence to Drive and record verified capacity recovery 2026-10-15 15:44:45 +09:00
Takeshi 990a951e36 Archive ended P23 execution copies and reconcile storage evidence 2026-10-15 13:51:09 +09:00
Takeshi d1ac5ba065 docs: preserve R11 evidence and prepare verified Root load point capture 2026-10-15 13:19:50 +09:00
Takeshi f135814b8b docs: track submitted diagnostic budget repair and retain old native proof in Drive 2026-10-15 12:31:48 +09:00
Takeshi 9dbfa36b86 docs: retain R10 fixture findings and verified closed proof cloud archive 2026-10-15 12:08:32 +09:00
Agent Control Runner 49445d4a4d P23-03: 生活の観察 2026-10-15 12:08:24 +09:00
Takeshi 206cdb9c80 docs: record verified Drive archive of closed P23 diagnostic streams 2026-10-15 11:24:36 +09:00
Takeshi bc0cf3a4a1 docs: retain R08 OS evidence and record corrected supply display candidate 2026-10-15 10:58:36 +09:00
Agent Control Runner 336a8cd0b3 P23-03: 生活の観察 2026-10-15 10:57:46 +09:00
Agent Control Runner 56bf5a3e86 P23-03: 生活の観察 2026-10-15 10:53:39 +09:00
Agent Control Runner 21b5d3a31a P23-03: 生活の観察 2026-10-15 10:32:29 +09:00
Takeshi 3f868b0e41 docs: preserve original acceptance and record noncircular visual review sequence 2026-10-15 10:29:40 +09:00
Takeshi 71719f9186 docs: supply complete OS image evidence and reclaim ended import caches 2026-10-15 10:22:20 +09:00
Takeshi 27dec31228 docs: record passing P23 semantics and actual OS calibration diagnostic 2026-10-15 10:12:29 +09:00
Agent Control Runner 0b7727a66c P23-03: 生活の観察 2026-10-15 10:03:36 +09:00
Takeshi 7fae76c723 docs: record reproduced P23 native evidence and remaining semantic mismatch 2026-10-15 09:56:30 +09:00
Agent Control Runner 55c29f1192 P23-03: 生活の観察 2026-10-15 09:52:50 +09:00
Takeshi 5df2e56faa docs: record actual P23 native and whole-cohort comparison evidence 2026-10-15 09:51:36 +09:00
Agent Control Runner baa4f2d563 P23-03: 生活の観察 2026-10-15 09:47:27 +09:00
Agent Control Runner 59a1385536 P23-03: 生活の観察 2026-10-15 09:44:55 +09:00
Agent Control Runner d9e4e9bd2f P23-03: 生活の観察 2026-10-15 09:42:03 +09:00
Agent Control Runner f6176d3f19 P23-03: 生活の観察 2026-10-15 09:39:55 +09:00
Agent Control Runner 4c8a18aa75 P23-03: 生活の観察 2026-10-15 09:36:36 +09:00
Takeshi 4eaadd1c53 docs: preserve P23 implementation and focus Sol finalization 2026-10-15 09:34:44 +09:00
Takeshi d7c5fadd39 docs: correct P23 rest authority and record continued implementation 2026-10-15 09:18:07 +09:00
Takeshi 451e0732c3 docs: record preserved P23-03 continuation and decoder feasibility 2026-10-15 09:14:12 +09:00
Agent Control Runner 03100beabe P23-03: 生活の観察 2026-10-15 07:59:43 +09:00
Agent Control Runner 0084760ee0 P18-01-CODE: 原本関係モデル・旧値保全・Runtime保存と読取経路 2026-10-13 14:40:02 +09:00
Agent Control Runner f76ad96990 P18-01-CODE: 原本関係モデル・旧値保全・Runtime保存と読取経路 2026-10-13 14:25:06 +09:00
Agent Control Runner 7645c55149 P13-03: 内容差異の記録 2026-10-13 03:38:23 +09:00
1153 changed files with 2106952 additions and 259 deletions
+80
View File
@@ -20,6 +20,7 @@ const OPERATING_EXPENSE_ACCOUNT := &"OPERATING_EXPENSE"
const AUTHORITY_FINE_ACCOUNT := &"AUTHORITY_FINE_EXPENSE"
const WAGE_EXPENSE_ACCOUNT := &"WAGE_EXPENSE"
const RUNTIME_SNAPSHOT_VERSION := 14
const PeepingRooms := preload("res://scripts/special/peeping_room_service.gd")
const AUTO_PURCHASE_RUNTIME_SNAPSHOT_VERSION := 14
const EVENT_THREAT_RUNTIME_SNAPSHOT_VERSION := 13
const MIMI_PURCHASE_RUNTIME_SNAPSHOT_VERSION := 15
@@ -97,6 +98,7 @@ const DEFENSE_COMMAND_TYPES: Array[StringName] = [
var definition_registry := DefinitionRegistry.new()
var command_queue := CommandQueue.new()
var id_generator := StableIdGenerator.new()
var peeping_room_service := PeepingRooms.new()
var domain_events := DomainEventStream.new()
var world_service := WorldService.new()
var path_service := PathService.new()
@@ -233,6 +235,7 @@ func initialize(clock: SimulationKernel, state: Variant, seed := DEFAULT_WORLD_S
_hired_staff_candidate_ids.clear()
command_queue = CommandQueue.new()
id_generator = StableIdGenerator.new()
peeping_room_service = PeepingRooms.new()
domain_events = DomainEventStream.new()
world_service = WorldService.new()
path_service = PathService.new()
@@ -253,6 +256,7 @@ func initialize(clock: SimulationKernel, state: Variant, seed := DEFAULT_WORLD_S
_initialize_s5_defense()
construction_service = ConstructionService.new(world_service, construction_resource_state)
construction_service.current_minute = _clock.absolute_minute
peeping_room_service.configure(world_service, facility_service, construction_service, path_service, id_generator)
_connect_construction_signals()
var initial_infrastructure_ok := _initialize_infrastructure_services()
_next_command_id = 1
@@ -298,6 +302,8 @@ func initialize(clock: SimulationKernel, state: Variant, seed := DEFAULT_WORLD_S
register_command_executor(&"build_facility", Callable(self, "_execute_build_facility"))
register_command_executor(&"cancel_construction", Callable(self, "_execute_cancel_construction"))
register_command_executor(&"demolish_facility", Callable(self, "_execute_demolish_facility"))
for command_type: StringName in [&"peeping_room_validate", &"peeping_room_place", &"peeping_room_relink", &"peeping_room_record_evidence"]:
register_command_executor(command_type, Callable(self, "_execute_peeping_room"))
register_command_executor(&"set_elevator_operation", Callable(self, "_execute_set_elevator_operation"))
register_command_executor(&"start_excavation", Callable(self, "_execute_start_excavation"))
register_command_executor(&"pause_excavation", Callable(self, "_execute_pause_excavation"))
@@ -330,6 +336,7 @@ func initialize(clock: SimulationKernel, state: Variant, seed := DEFAULT_WORLD_S
register_command_executor(&"begin_staff_task", Callable(self, "_execute_begin_staff_task"))
register_command_executor(&"progress_staff_task", Callable(self, "_execute_progress_staff_task"))
register_command_executor(&"create_relationship", Callable(self, "_execute_create_relationship"))
register_command_executor(&"register_original_relationship", Callable(self, "_execute_register_original_relationship"))
register_command_executor(&"change_relationship", Callable(self, "_execute_change_relationship"))
register_command_executor(&"attack_relationship_shield", Callable(self, "_execute_attack_relationship_shield"))
register_command_executor(&"request_route_lock", Callable(self, "_execute_request_route_lock"))
@@ -564,6 +571,8 @@ func create_snapshot() -> Dictionary:
}
if PurchaseQuoteV2.has_history(owned_systems[&"runtime"]):
owned_systems[&"runtime"][&"runtime_schema_version"] = MIMI_PURCHASE_RUNTIME_SNAPSHOT_VERSION
if not peeping_room_service.is_empty():
owned_systems[&"runtime"][&"special_peeping_rooms"] = peeping_room_service.create_snapshot()
# Every component above returns detached containers. Transfer this fresh
# tree into the envelope instead of deep-copying all component snapshots a
# second time. Keep generic capture's caller-owned-extra contract unchanged.
@@ -665,6 +674,8 @@ func _restore_snapshot_internal(snapshot: Dictionary, recovery_mode: bool) -> bo
runtime_current_keys.append(&"facility_cleanliness")
if runtime_schema_version >= AUTO_PURCHASE_RUNTIME_SNAPSHOT_VERSION:
runtime_current_keys.append(&"auto_purchase_plans")
if runtime_data.has(&"special_peeping_rooms"):
runtime_current_keys.append(&"special_peeping_rooms")
if not _dictionary_has_exact_canonical_keys(runtime_data, runtime_current_keys) \
or typeof(runtime_data.get(&"runtime_schema_version", null)) != TYPE_INT \
or typeof(runtime_data.get(&"world_seed", null)) != TYPE_INT \
@@ -1054,6 +1065,9 @@ func _restore_snapshot_internal(snapshot: Dictionary, recovery_mode: bool) -> bo
):
return false
var restored_relationships := RelationshipService.new()
restored_relationships.configure_original_identity_validator(
func(payload: Dictionary) -> bool: return _original_relationship_identities_valid(payload, restored_staff, restored_catalog)
)
if not restored_relationships.restore_snapshot(runtime_data[&"relationships"]):
return false
var restored_events := EventService.new()
@@ -1286,6 +1300,16 @@ func _restore_snapshot_internal(snapshot: Dictionary, recovery_mode: bool) -> bo
var restored_next_id := int(runtime_data.get(&"next_command_id", 0))
if restored_next_id <= 0:
return false
var restored_peeping_rooms := PeepingRooms.new()
restored_peeping_rooms.configure(restored_world, restored_facilities, restored_construction, restored_path, restored_id_generator)
if runtime_data.has(&"special_peeping_rooms"):
if not runtime_data[&"special_peeping_rooms"] is Dictionary:
return false
for raw_key: Variant in runtime_data:
if raw_key == &"special_peeping_rooms" and typeof(raw_key) != TYPE_STRING_NAME:
return false
if not restored_peeping_rooms.restore_section(runtime_data.get(&"special_peeping_rooms", null), restored_minute):
return false
if not SimulationSnapshot.restore(snapshot, _clock, _state):
return false
world_seed = restored_world_seed
@@ -1293,6 +1317,7 @@ func _restore_snapshot_internal(snapshot: Dictionary, recovery_mode: bool) -> bo
_staffing_projection_enabled = restored_staffing_projection
command_queue = restored_queue
id_generator = restored_id_generator
peeping_room_service = restored_peeping_rooms
domain_events = restored_domain_events
_rng_streams = restored_streams
world_service = restored_world
@@ -5378,6 +5403,9 @@ func _initialize_s4_relationship_events() -> void:
func _configure_relationship_event_boundaries() -> void:
if relationship_service == null or event_service == null:
return
relationship_service.configure_original_identity_validator(
func(payload: Dictionary) -> bool: return _original_relationship_identities_valid(payload, staff_service, mvp_content_catalog)
)
relationship_service.configure_candidate_callback(
Callable(self, "_on_relationship_threshold_candidate")
)
@@ -5539,6 +5567,7 @@ func _connect_facility_signals() -> void:
return
facility_service.instance_registered.connect(Callable(self, "_on_cleanliness_facility_registered"))
facility_service.instance_unregistered.connect(Callable(self, "_on_cleanliness_facility_unregistered"))
facility_service.instance_unregistered.connect(Callable(self, "_on_peeping_target_removed"))
facility_service.facility_state_changed.connect(Callable(self, "_on_facility_state_changed"))
facility_service.service_started.connect(Callable(self, "_on_service_started"))
facility_service.service_interrupted.connect(Callable(self, "_on_service_interrupted"))
@@ -6759,6 +6788,30 @@ func _execute_progress_staff_task(command: SimulationCommand) -> CommandResult:
result.command_id = command.command_id
return result
func _original_relationship_identities_valid(payload: Dictionary, staff_registry: StaffService, catalog: MvpContentCatalog) -> bool:
if payload.get("protagonist_id") != "player" or staff_registry == null:
return false
var subject := StringName(payload.get("subject_id", ""))
var rival := StringName(payload.get("rival_id", ""))
if subject == &"player" or rival == &"player" or subject == rival or not staff_registry.has_staff(subject):
return false
var heroine_definition := catalog.get_entry(&"unique_characters", subject)
var rival_definition := catalog.get_entry(&"unique_characters", rival)
var subject_staff := staff_registry.get_staff(subject)
return subject_staff.employment_kind == StaffRuntime.EmploymentKind.UNIQUE \
and heroine_definition.get(&"role_id") == String(subject_staff.role_id) \
and heroine_definition.get(&"character_kind") == "heroine" \
and rival_definition.get(&"character_kind") == "rival" \
and heroine_definition.get(&"counterpart_id") == String(rival) \
and rival_definition.get(&"counterpart_id") == String(subject)
func _execute_register_original_relationship(command: SimulationCommand) -> CommandResult:
var result := relationship_service.register_original_relationship(command.payload)
result.command_id = command.command_id
return result
func _execute_create_relationship(command: SimulationCommand) -> CommandResult:
var actor_a_id := StringName(command.payload.get(&"actor_a_id", command.payload.get("actor_a_id", "")))
var actor_b_id := StringName(command.payload.get(&"actor_b_id", command.payload.get("actor_b_id", "")))
@@ -10786,6 +10839,7 @@ func _on_excavation_completed(report: Dictionary) -> void:
))
func _on_facility_demolished(instance_id: StringName, refund: Dictionary) -> void:
peeping_room_service.target_removed(instance_id)
if not mana_network_service.get_node(instance_id).is_empty():
mana_network_service.unregister_node(instance_id)
if facility_service.has_instance(instance_id):
@@ -10800,6 +10854,31 @@ func _on_facility_demolished(instance_id: StringName, refund: Dictionary) -> voi
0
))
func _on_peeping_target_removed(instance_id: StringName) -> void:
peeping_room_service.target_removed(instance_id)
func _execute_peeping_room(command: SimulationCommand) -> CommandResult:
var payload := command.payload
var report: Dictionary
if command.command_type == &"peeping_room_place":
report = PeepingRooms.result(&"BUILD_DEFINITION_PENDING_D04")
elif command.command_type == &"peeping_room_validate":
if typeof(payload.get(&"origin")) != TYPE_VECTOR3I or typeof(payload.get(&"footprint", Vector2i(2, 1))) != TYPE_VECTOR2I or typeof(payload.get(&"target_instance_id", &"")) not in [TYPE_STRING, TYPE_STRING_NAME]:
report = PeepingRooms.result(&"INVALID_PAYLOAD")
else:
report = peeping_room_service.validate_placement(payload[&"origin"], payload.get(&"footprint", Vector2i(2, 1)), StringName(payload.get(&"target_instance_id", &"")))
else:
var key: StringName = &"target_instance_id" if command.command_type == &"peeping_room_relink" else &"source_event_key"
if typeof(payload.get(&"room_id")) not in [TYPE_STRING, TYPE_STRING_NAME] or typeof(payload.get(key, &"")) not in [TYPE_STRING, TYPE_STRING_NAME]:
report = PeepingRooms.result(&"INVALID_PAYLOAD")
elif command.command_type == &"peeping_room_relink":
report = peeping_room_service.relink(StringName(payload[&"room_id"]), StringName(payload.get(key, &"")))
else:
report = peeping_room_service.record_evidence(StringName(payload[&"room_id"]), StringName(payload.get(key, &"")), _runtime_event_minute())
if report[&"ok"]:
return CommandResult.succeeded(command.command_id, report)
return CommandResult.failed(CommandResult.Code.VALIDATION_FAILED, command.command_id, String(report[&"reason"]), report)
func _on_ledger_transaction_posted(transaction_id: StringName, _entries: Array) -> void:
if _operations_flushing_economy_notifications.has(transaction_id):
return
@@ -10889,6 +10968,7 @@ func get_staff_management_report() -> Dictionary:
&"can_edit": block_reason.is_empty(),
&"assignment_block_reason": block_reason,
&"unique_contract": _staff_unique_contract_report(staff),
&"original_relationship": relationship_service.get_original_relationship(staff.staff_id),
})
var facilities: Array[Dictionary] = []
for facility: FacilityInstance in facility_service.get_instances():
@@ -1,6 +1,24 @@
## 現在の対象(2026-10-15・P13-03正式完了)
P13-03「内容差異の記録」を正式完了。提出bd3a97e、原8条件を別Opusレビュー、実統合/最終e80c6c0で確認。全7施設/84利用枠/6分類、33拒否+代替正常系、固定原30/88・部分点なし。記録1件のみ、内容/素材/P13パッケージ/原子/ゲーム完成の加点0。P13-01/02とD08/D09・未制作内容は未完了。 正式13/着手24/予定51、30パッケージ/88成果。[全条件閉鎖証拠](execution/p13-03-resume-20261015/ACCEPTANCE_CLOSED_E80C6C0.json)。次に閉じる候補は実Opus判断でP23-03、通常OSが実ロック中のため重複起動せず、代替指示の同一P18-01保存互換修正を先行。原P18-01の全条件と未承認初期値を保持し、backendのみで完了扱いしない。[現在と次の受入条件](execution/p18-01-resume-20261015/CURRENT_ACCEPTANCE_AUDIT.json)。以下は各記録時点の履歴。
原記録単位P13-03を次に閉じる対象へ。既存7645c551と保持5files217833Bを再利用し、消滅済み旧pyc停止理由から通常repair3→実OpusRUN→Sol同一作業場所で仕上げ中。全7施設/84利用slot/6非施設分類/8受入条件を維持し、状態接続と未制作内容を分離。製品/値/素材/engine変更なし。旧500k/個別回数上限は撤廃済。正式validate/別Opusreview/最新main統合final/台帳が残り、正式0。 原30/88、正式12/着手25/予定51・部分点なし。[P13現条件](execution/p13-03-resume-20261015/CURRENT_CLOSURE_AUDIT.json)。
提出9a26f9aはRoot局所108/native319parse/A+B/semantic17+17/component45に加え、同版全177/20533/179owned終了が成立。Root全1349source/stage/default保全を照合し全4491filesのSHA一致コピーをレビュー用buildへ公開。新normalOS/画像判断/登録validate/全条件Opusreview/統合final未達、正式0。Mac解除は既存質問、native接続はSCStream-3811。 終了済357専用profileは内容/mtime/SHAを保持して圧縮し、圧縮後も全inventoryが元receiptと一致。[P23全177実照合](execution/p23-03/ROOT_9A26F9A_FULL177_VERIFIED.json)。以下は各記録時点の履歴。
## 現在の対象(2026-10-15・P23-03提出9a26f9a、全177実行中)
Sol修正27が9a26f9aを提出しclean。Root局所108試験/native import319parse/A+B/semantic17+17/component45checks成功、描画/Runtime/保存は19fc3f5と不変。同需要7153→2585。実Opus判断により同版全177を通常OSに先行して単一実行中。新OS/独立画像・全条件review/登録validate/統合/final未達、正式0。旧R13実画像12falseと19fc3f5 readiness指摘は履歴保全。 原30/88、正式12/着手25/予定51・部分点なし。全回帰中はP04-01の独立した読取監査のみ行い、追加engine/実装は起動しない。[現候補監査](execution/p23-03/P23_03_CURRENT_ACCEPTANCE_AUDIT_9A26F9A.json)、[P04読取再確認](execution/p04-01-current-recheck-20261015/recheck.json)。以下は各記録時点の履歴。
## 現在の対象(2026-10-15・P23-03提出19fc3f5)
追記(同日): 19fc3f5はRoot局所99/native import319parse/A+B/semantic17+17/component45checks成功。同需要7153→2585。独立Opus readinessが移動EV投影と交通帯の検証器過剰制約1件を指摘し、全177は未起動。実Opusが描画不変・raw authority付き例外/交通帯の完全隠れ拒否を判断。現在同一P23-03でSol修正27実行中、既存99試験と全negative保持。新OS/全177/独立画像・全条件review/統合/final未達、正式0。 詳細: [実独立レビュー](execution/p23-03/READINESS_19FC3F5_ACTUAL.json)、[最小修正の実判断](execution/p23-03/OPUS_REPAIR27_RUN_DIRECTION.json)。
原30パッケージ/88成果単位・部分点なし、正式12/着手25/予定51を維持。P23-03「生活の観察」の同一作業場所でAstra修正26が19fc3f50c7ef66223a86b438d4327c5b1b308ed1を正式提出しclean。Root局所99試験、Godot import/全319依存解析/配置A+B、独立semantic17+17 snapshots、別component45checks/0が合格。同需要の事前定義指標は7153→2585分。旧49/R13の独立画像12falseは保持し、新版へ受入転用しない。新通常OS・同版全177・独立画像/全7条件レビュー・最新main統合/final/台帳が未達のため正式加点0。Mac解除質問は既存のまま、Opusの実判断に従い独立読取レビュー→問題がなければ先行全177を実行する。証拠: [現候補の受入監査](execution/p23-03/P23_03_CURRENT_ACCEPTANCE_AUDIT_19FC3F5.json)、[native実検証](execution/p23-03/ROOT_19FC3F5_NATIVE_IMPACT.json)、[実Opus検証順序](execution/p23-03/OPUS_19FC3F5_VERIFICATION_ORDER.json)。以下の「現在」は各記録時点の履歴。
## 現在の対象(2026-10-13・現版監査更新)
2026-10-15 P08-03を正式完了。原30パッケージ/88成果単位、部分点なし。台帳は正式12/着手25/予定51。実行版d369d1c・main統合版027861b。Root局所153・Godot構文313・native196+96・全176回帰20,488厳密チェック、連続通常OS writer21643(58要求)/別PID reader32505(4要求)の全5条件、独立Opus 5.5レビュー、Runner統合・最終確認が全PASS。1,330ソース・必須入力・engine・markerの一致を非改変の適用性記録で確認し、原証跡の記録先訂正も開示済み。軽微2指摘は別記。閉鎖証拠はexecution/p08-03/ACCEPTANCE_CLOSED_D369_027861B.json。終了済み試験プロファイル2,817ファイルのSHA・パス・mtime保持圧縮で実空き約1.79GB回収。Windows同一配布版実機受入と延期済みP23保持ジェスチャーは全体残件として維持。次の1件は実Opus5.5判断71ce1c9eでP23-03「生活の観察」を選定し、現版の表示・実状態対応/同需要動線比較/依存の監査に着手。原spec8568457/base860136fでRunner登録、実Opus5.5開始判断7886b19cによりAstra1担当の初回実装を開始。Phase0の11ソースSHAと実spawn/build経路をRoot確認。部分提出03100be(A/Bfixture・意味検査12局所試験)を保持し、未完成collector/--verify-only未対応を登録検査で記録。実Opus判断で同task/worktreeの修正2回目を6.1-sol担当に切替え、実収集・正常保存再開の接続を優先。外部/仕様ブロッカーなし、上限null・timeout900維持、重複実装なし。P23-03正式加点0。 ユーザー指示で旧Windows7件/P05旧診断4件(34,103files/3.32GB)をDriveへ退避、全分割/再結合SHA照合後のみ原実体を除去、Drive同期実体0byte・一時ファイル0を確認。P23のSol追加成果は未完成のまま同worktree保持、現行受入証拠は不変。
2026-10-15: Original30/88 no partialcredit; completed12/in_progress25/planned51. P08-03 closed (execution/p08-03/ACCEPTANCE_CLOSED_D369_027861B.json). 2026-10-15: submitted21b5d3a has traffic audit + calibrated mechanical/crop/direct-review binding. Root47local PASS; exact nativeimport/319parse/A+B PASS, independent17+17 semantics and48demand7153/2585 PASS. NormalOS writer35972 ran31 actual inputs withACKs; allrequest/rawSHA/PID verified, firstFRONT10rows mechanicalPASS. OS collector900 expired before request32; ownedengine ended cleanup/guarderrors0. Failedrun notaccepted, reader/save/full pending. OS-only3600 separation submitted56bf5a3 under existingcaps-removal scope; worker/native900 unchanged. Postrun independentOS semantics revealed real product lookup defect supply_logistics_bridge vs Runtime supply_logistics; same-task narrowfix instructed. Original7/6/30-88 no partialcredit, formal0. Global Windows physical same-build/deferredgestures/finishedassets/undefinedoriginalvalues remain open. Corrected336a8cd now submitted, Root48local PASS; corrected native/OS/fullreview pending, inactive evidence offload before heavy execution.
原30パッケージ/88成果、部分点なし。現在は正式10/着手24/予定54。P24-03は正式完了、MP-01-r02承認用資料は正式統合済みだが原88へ加点しない。P13-03既存最終修正は全7施設/84スロット/6分類が保全済み。P13/RP13の限定追加修正と正式host自己試験は直接許可待ちで、重複実装や無断上限変更をしない。
@@ -1791,13 +1809,13 @@ P00〜P29のIDを維持して過去記録との対応を保つ。各項目には
### P23 タワー画面 レイヤー演出
現在地: ドット断面、レイヤー表示、複数UIスキンは部分実装。原本全演出の受入は残る。
現在地: P23-01およびP23-03は正式完了。生活の観察の全7条件・通常OS・同需要比較・別PID保存再開を同版証拠で受入。P23-02の保持操作・最大場面性能・Windows表示倍率実機、完成資産とP23全体の受入は残る。
統合前提: P08, P22。原本対応: B-2.2, B-11.1, B-11.4, B-12.1, B-12.2, B-12.4。
- P23-01 レイヤーと波紋。表時の裏半透明、裏時の表ワイヤー、魔法レンズ風の波紋を原本どおり接続する。 受入: 連続切替でも座標・選択・対象が一致し、描画層と操作対象を取り違えない。 状態: 正式完了。P23-01「レイヤーと波紋」を現採用1299/engine c7cccbf8に固定して原条件を監査。表時の裏半透明alpha0.22、裏時の表ワイヤー、魔法レンズ波紋のnative PNGを確認。局所16高速切替で全Runtime保持、通常OSで同位置の表受付/裏倉庫を選び12連続切替、Writer41689通常保存→Reader42598別PID通常読込と2切替で座標/有効選択/操作対象が一致。全51typed snapshotは切捨て/正規化なし、各PID内切替前後バイト一致、保存再開は保存成功から読込成功へのevent index12の2差分全文だけを保持。正式4members同SHA/圧縮checksum/展開長を確認。旧r01観測Nil→floatと診断を落としたgateは受入不可として保持、r02で観測可視性条件とstrict gateを修正し両GUI診断0。製品編集0、同版full172/14721と関連3suite、P04-03最終r04代表負荷CPU実描画rawを再用、重複全回帰0。 原work/acceptanceと適用横断条件を同1名が全受入し、本成果単位不足0で9件目として正式完了。 P23-02/03、Windows表示倍率/実機部分確認、リアルタイムx3/レンズ単独GPU費用・全性能予算、完成素材と全ゲームは未受入。
- P23-02 断面の操作性。パン、上下スクロール、ズーム、建設グリッド、接続警告、HUD配置を整える。 受入: 小画面とWindows表示倍率で読めて押せる。x3時にも操作が追随する。 状態: 着手中。P23-02は着手中、次に閉じる1件を維持。制作r32を保持し、作業候補をr53から未採用r62へ選定。親r58の接続ID派生memoを保持し、r62はshared木のindices.has+添字をget(default -1)へ1箇所だけ置換、非正辺拒否・workspace非負index・探索順/費用/親/wrap/full fallbackを保持。元r58全Pathへ逆変換一致・他1298ref同一、warm32/補足12証拠は不変getter/helper/無効化/Save境界だけ再利用。同一r62の全木36・transit/partial14・全150候補/全Runtime19/0・境界24件179/0・経路15/配列所有83/0・旧仕様12群726/0を独立有限受理。fresh順58,62,62,58,58,62・同646/cold/paused/speed1/外部listenerなし3pair:2152153→2069843us;2104659→2063915us;2173628→2124916us。全6after64711487732bytes基準全文一致、3対全短縮、中央値2152153→2069843us(有限約3.82454%短縮)。比較QA初版の受付差は実行前拒否、r01/r02未実行保持、受付だけ修復したr03を実行。r60は50木呼出/50開始/50完全キー/重複0で固定窓の木再利用を支持せず。r61の7計測は包含時間で合算不可、shared木50回591877usを次変更の根拠にした診断のみ。約2.06〜2.12秒同期処理が残り予算/P95/D10/通常OS/x3は未達、制作採用はしない。正確な最終版の影響・全172は関連必要変更を固めて実施。原9横断8/通常OS647以降/x3・終了/小画面/同一Windows配布版実機倍率は全未達。Ctrl保持wheel/左保持dragは延期・未達・免除なし。正式9/着手19/予定60・30パッケージ/88成果・部分点なしを維持。
- P23-03 生活の観察。部屋、行列、EV、職員、物資、営業状態が断面上で理解できる表示へ調整する。 受入: 人物や設備の表示が実状態に対応し、同需要の動線改善を観察できる。
- P23-03 生活の観察。部屋、行列、EV、職員、物資、営業状態が断面上で理解できる表示へ調整する。 受入: 人物や設備の表示が実状態に対応し、同需要の動線改善を観察できる。 状態: 正式完了。P23-03「生活の観察」を正式完了。提出d2581af、main基点5041b88、実試験tree a700519、実統合/最終314a8a4。全7原条件を別Opus5.5がpass、重大/高/中指摘0。実通常OS88要求/88ACK・4別PID終了・両配置の全正式モデル保存再開一致、40画像838行を実7Opus判断へ全照合。同需要全対象の到着分合計7153→2585。局所146/portable4・native4/548・同版全179/21752/322parse/181owned終了を再利用し、通常validate/review/integration/finalが成立。low2は原判定を保持し実所在と時系列を補記。P23-02、Windows、最大場面性能、完成資産・全施設・通しゲームは別未達。 版付き全条件証拠: execution/p23-03-resume-20261017/ACCEPTANCE_CLOSED_314A8A4.json。原30/88、正式14、部分点なし。
### P24 インスペクター 通知 操作完成
@@ -0,0 +1,31 @@
{
"scope": "R13/R14 completed offloads, not game acceptance or explanation of all historical20GB use",
"recorded_at": "2026-10-15T20:19:14.487858+00:00",
"batches": [
{
"record": "docs/plans/original-completion-2026-10-02/execution/drive-offload-p04-ended-validation-r13-20261016/RETIREMENT.json",
"source_retirement_observed_free_delta_bytes": 737722368,
"own_temporary_cleanup_observed_free_delta_bytes": 184242176,
"source_logical_bytes": 687528462,
"removed_checkouts": 5,
"catalog_reference": "docs/plans/original-completion-2026-10-02/execution/drive-offload-p04-ended-validation-r13-20261016/CATALOG_REMOTE_REFERENCE.json"
},
{
"record": "docs/plans/original-completion-2026-10-02/execution/drive-offload-completed-checkouts-r14-20261016/RETIREMENT.json",
"source_retirement_observed_free_delta_bytes": 4384702464,
"own_temporary_cleanup_observed_free_delta_bytes": 223248384,
"source_logical_bytes": 4994674198,
"removed_checkouts": 34,
"catalog_reference": "docs/plans/original-completion-2026-10-02/execution/drive-offload-completed-checkouts-r14-20261016/CATALOG_REMOTE_REFERENCE.json"
}
],
"removed_checkouts": 39,
"source_retirement_observed_free_delta_total_bytes": 5122424832,
"own_temporary_cleanup_observed_free_delta_total_bytes": 407490560,
"current_free_bytes": 8369876992,
"dirty_review_checkouts_retained": 4,
"active_implementation_and_raw_and_profiles_retained": true,
"historical_20GB_all_cause_proven": false,
"observed_growth_factor": "Repeated full validation/review/integration/final Git checkouts duplicate the same source/assets. These ended sources were content-deduplicated, full-byte cloud verified, rehashed and normally retired. Git objects reachable frommain remain.",
"root_raw_input_supply": "execution/p04-01-current-recheck-20261015/ROOT_R17_FULL_INPUT_RELOCATION_R01.json"
}
@@ -2,6 +2,28 @@
"schema_version": 1,
"scope": "exact per-suite completion label/schema; all check counts from actual raw only",
"rows": [
{
"test": "tests/s4/test_original_relationship_model.gd",
"template": "Original relationship model: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "c74b243dbbb54dba9bbc165e29508cca910f0beb63e32d25ebbb8ea606dccce9",
"authority": {
"path": "docs/spec/acceptance/P18-01-code-r01.json",
"scope": "new backend suite marker; native execution pending"
}
},
{
"test": "tests/s4/test_original_relationship_runtime.gd",
"template": "Original relationship runtime: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "c56bdb99dd43a4e7ceb3ca2861e8db39972c5c4e805126a77e2f7da32ca5bdc9",
"authority": {
"path": "docs/spec/acceptance/P18-01-code-r01.json",
"scope": "new backend suite marker; native execution pending"
}
},
{
"test": "tests/ui/test_selection_departure.gd",
"template": "Selection departure: <checks> checks, <failures> failures",
@@ -56,7 +78,7 @@
"template": "Required kitchen: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "90e7639f5aa76e34b9ee14769f4ec1ae1317a647900b27877075dbf21ef1dfcf",
"source_sha256_at_schema_audit": "3a9c92f80c24064ef0858fba10bd7caab63203932942837f7e142349578f6b2f",
"authority": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p09-kitchen-single-link-candidate-r09/candidates/tests/business/test_required_kitchen.gd",
"sha256": "90e7639f5aa76e34b9ee14769f4ec1ae1317a647900b27877075dbf21ef1dfcf",
@@ -64,7 +86,7 @@
},
"source_marker_lines": [
{
"line": 281,
"line": 481,
"text": "\tprint(\"Required kitchen: %d checks, %d failures\" % [checks, failures])"
}
]
@@ -3702,6 +3724,72 @@
"scope": "normal placement; native and OS pending"
}
}
,{
"test": "tests/ui/test_p23_life_observation.gd",
"template": "P23 life observation: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "750254af7d4b8b00508e25d1ef744837d3a7d14ddebe12398e8014bf5e8c68e8",
"authority": {
"path": "docs/spec/acceptance/P23-03.json",
"scope": "component and read-only observation only; native unexecuted; whole unit blocked"
}
},
{
"test": "tests/special/test_peeping_room_geometry.gd",
"template": "Peeping room geometry: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "103d85f83e1e97a8637892504264275eef23f172eeec56c94e5c022d81bf6945",
"authority": {
"path": "docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json",
"scope": "new backend suite marker; native execution pending"
}
},
{
"test": "tests/special/test_peeping_room_reference.gd",
"template": "Peeping room reference: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "188b00a60f7aefda69dc4973f1de9c14447a0d4bcdd1257a2eabe7c4782e4caf",
"authority": {
"path": "docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json",
"scope": "new backend suite marker; native execution pending"
}
},
{
"test": "tests/special/test_peeping_room_evidence.gd",
"template": "Peeping room evidence: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "390e0032d14de9a8875ced163a922341ce655744200d78b4ffa776d42c4f8c2a",
"authority": {
"path": "docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json",
"scope": "new backend suite marker; native execution pending"
}
},
{
"test": "tests/special/test_peeping_room_save.gd",
"template": "Peeping room save: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "ba0e7644277477c1821135cae6d6fd533651799c6f9bd8c43ccf45e63b96c63c",
"authority": {
"path": "docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json",
"scope": "new backend suite marker; native execution pending"
}
},
{
"test": "tests/special/test_peeping_room_runtime.gd",
"template": "Peeping room runtime: <checks> checks, <failures> failures",
"required": true,
"fixed_check_count_used": false,
"source_sha256_at_schema_audit": "924efd34414c12a325a1b700f799aef0396de9f15441fd88a3608292ff221657",
"authority": {
"path": "docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json",
"scope": "new backend suite marker; native execution pending"
}
}
],
"unknown_roster_suite_policy": "refuse, explicitly review its source/schema before accepting",
"roster_count_is_not_hardcoded": true,
@@ -0,0 +1,143 @@
{
"recorded_at": "2026-10-15T09:04:02.442313+00:00",
"scope": "Read-only recheck of completed cloud offload; no repeated upload or additional deletion",
"free_bytes_now": 5403648000,
"cloud_folder_url": "https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"historical_verified_offload_totals": {
"batch_count": 20,
"original_files_retired": 77191,
"logical_original_bytes_retired": 11680979893,
"compressed_archive_bytes": 4211475754
},
"protected_pins": [
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-native-os-d369d1c-r19-calibrated/index.json",
"expected_sha256": "fc66a95ab228e70fd1e1aa40b92f8cb6890f8c9879c2be79940e969cb9a3521b",
"actual_sha256": "fc66a95ab228e70fd1e1aa40b92f8cb6890f8c9879c2be79940e969cb9a3521b",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-native-d369d1c-r17/index.json",
"expected_sha256": "16c3577ca226173fea65df8595ab42a8b257ba50166da1a8564e6eda126694a1",
"actual_sha256": "16c3577ca226173fea65df8595ab42a8b257ba50166da1a8564e6eda126694a1",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-final-regression-d369d1c-r01/runner-ended.json",
"expected_sha256": "0dbe71e589113088bd37be42fef583b8f6da86a15542f4900ed97fa957fc1264",
"actual_sha256": "0dbe71e589113088bd37be42fef583b8f6da86a15542f4900ed97fa957fc1264",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/index.json",
"expected_sha256": "c0cc9e939845b5f3ae8375d414327821eb75c3e5f5158ae32eb872eda1b99a03",
"actual_sha256": "c0cc9e939845b5f3ae8375d414327821eb75c3e5f5158ae32eb872eda1b99a03",
"unchanged": true
}
],
"all_protected_pins_unchanged": true,
"retirement_records": [
{
"name": "p05-acceptance-partial-r01",
"retirement_record_exists": true,
"retirement_record_sha256": "054c89a7f9377efa8c16c7ffbad966e2324992a2db5703bf83a482bafd9062e9"
},
{
"name": "p05-acceptance-partial-r02",
"retirement_record_exists": true,
"retirement_record_sha256": "d24033fd716f3ca92ded0739a1d213d39c2fbc39dea4794a9225546f68234cf4"
},
{
"name": "p05-acceptance-partial-r03",
"retirement_record_exists": true,
"retirement_record_sha256": "0cc68958e4327bd20fd2e0820bd9e807c9eef6d9671577681a44dc28a3f33f76"
},
{
"name": "p05-acceptance-partial-r04",
"retirement_record_exists": true,
"retirement_record_sha256": "48ddfc677beab57a7429787b47f132ba37b06c1b38b1e6691dbea130d162eaed"
},
{
"name": "windows-current-release-candidate-r02",
"retirement_record_exists": true,
"retirement_record_sha256": "f5e3e44dbbf01228071d364038bcbe6a76739a6a120270c293d617bbcc63ca96"
},
{
"name": "windows-current-release-candidate-r03",
"retirement_record_exists": true,
"retirement_record_sha256": "84d67389005d99a0225e5c4190cb850bf583f6e4ce37bac726e75e85ba80110f"
},
{
"name": "windows-current1237-release-candidate-r03",
"retirement_record_exists": true,
"retirement_record_sha256": "5912fc509cde37df7ec5338a532d6a8bb8b04430bba1def24984ccce5d428122"
},
{
"name": "windows-current1287-command-ownership-release-candidate-r01-d2927ce3313f4093b996920e4352adb3",
"retirement_record_exists": true,
"retirement_record_sha256": "9f60bacba8509534d5572d911ee2f665685a344ec88ea010fc55012e355aa861"
},
{
"name": "windows-current1287-paid-role-release-candidate-r02-ac42a5936a284c71bf54528cb561f366",
"retirement_record_exists": true,
"retirement_record_sha256": "a1406783cb56e5a27edd409af07e3821e4baf2f054ad9844bb3859ecb260bdfb"
},
{
"name": "windows-current1295-paired-bgm-release-candidate-r01-9aa8b4af72f640ccb44d0f0d8e6ced5f",
"retirement_record_exists": true,
"retirement_record_sha256": "e3a9ff57a7db949e624537820e0aa0472afbbc9b6ba166f60e5f973de43fbbdc"
},
{
"name": "windows-current1297-tomari-release-candidate-r01-fe476971367d4110b563b987e0cf3d5e",
"retirement_record_exists": true,
"retirement_record_sha256": "cd443d4fec9dc766f70fcbf9d6ba465f0455e7e6fd516beb5bfe2185d4f61912"
},
{
"name": "drive-offload-p23-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "2ece60a385894f1adaee1743b6bfef994ef52c4099cb706a55cfc4706bb3e4b8"
},
{
"name": "drive-offload-p23-closed-more-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "6e73168d3562d3802ce18a7bda94689ca6075530e52a653fbf6fdfccd72a7147"
},
{
"name": "drive-offload-p23-closed-stages-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "69246e87c6bb170707b9333cfb97be10e52429be5dc8c95f6879e244a94a9136"
},
{
"name": "drive-offload-p23-r10-native-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "7e54d7cc1e1f655efffd311a510df7814549c27373fda68fe22a2e96f1b5be09"
},
{
"name": "drive-offload-p23-r10-os-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "af6ad959c065e8f79085221b0bd3773520f9fa02cee923d1ea03ca7356497362"
},
{
"name": "drive-offload-p23-r11-a-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "6ac0e9fb3b7db25e9a9cb8965b0d6b1cfb7f63cc0cf50cbd985822726515ab93"
},
{
"name": "drive-offload-p23-r11-b-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "4fa4277f7e7a643ae9612636137307cb1b6a3e0cd019bf8e1af584bb63894e14"
},
{
"name": "drive-offload-p23-r12-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "3cbcae176dada2ae1055c497e2559b2eeffcf2985daca7a720ff963ca7b412f9"
},
{
"name": "drive-offload-p08-cold-pairs-20261015",
"retirement_record_exists": true,
"retirement_record_sha256": "9c0b87f8a23fe110d850aa7f552885b3e9ff50af0a3d58a93ea6dcd5e37d2c8e"
}
],
"all_retirement_records_exist": true,
"capacity_note": "Current free space is independently measured, not a claim that logical offloaded bytes equal net recovered physical space."
}
@@ -0,0 +1,708 @@
{
"checked_at": "2026-10-15T09:04:02Z",
"folder_url": "https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"scope": "Current connector metadata readback, first 100 direct children only. Complete payload/hash verification is retained in original per-batch transfer receipts; not repeated here.",
"listed_file_count": 100,
"files": [
{
"id": "1VyWzt8OoL730r_hkER2N9xUJQw1YkjFF",
"title": "p08-cold-pair-history-RESTORE.md",
"size": "1356",
"shared": false,
"url": "https://drive.google.com/file/d/1VyWzt8OoL730r_hkER2N9xUJQw1YkjFF/view?usp=drivesdk"
},
{
"id": "1G1sj22PSMaqvGqyUstmv1FVE7ndsBnSV",
"title": "p08-cold-pair-history-CLOUD_PARTS.json",
"size": "11229",
"shared": false,
"url": "https://drive.google.com/file/d/1G1sj22PSMaqvGqyUstmv1FVE7ndsBnSV/view?usp=drivesdk"
},
{
"id": "166dJzD3N-s1-n3CbbgSgzmuIgEX4aobo",
"title": "p08-cold-pair-history-MANIFEST.json",
"size": "1568336",
"shared": false,
"url": "https://drive.google.com/file/d/166dJzD3N-s1-n3CbbgSgzmuIgEX4aobo/view?usp=drivesdk"
},
{
"id": "11ACexUbYQMcgXFYBvaPW11ZBI_S7hO5Y",
"title": "p08-cold-pair-history.tar.gz.part-0023",
"size": "5287438",
"shared": false,
"url": "https://drive.google.com/file/d/11ACexUbYQMcgXFYBvaPW11ZBI_S7hO5Y/view?usp=drivesdk"
},
{
"id": "1GLs0pU6wlmb9t3NIQN2p2NaLb4DnpZrs",
"title": "p08-cold-pair-history.tar.gz.part-0022",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1GLs0pU6wlmb9t3NIQN2p2NaLb4DnpZrs/view?usp=drivesdk"
},
{
"id": "19ojIdDMJdJcajXoH5YJU9Ex2fa5jnuyN",
"title": "p08-cold-pair-history.tar.gz.part-0021",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/19ojIdDMJdJcajXoH5YJU9Ex2fa5jnuyN/view?usp=drivesdk"
},
{
"id": "1a8K9E0EcbD3plvlagWfALjxG_-JGKGJ1",
"title": "p08-cold-pair-history.tar.gz.part-0020",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1a8K9E0EcbD3plvlagWfALjxG_-JGKGJ1/view?usp=drivesdk"
},
{
"id": "1INjy4dTBZqOAagUaVK1OxpO10sbhZUMf",
"title": "p08-cold-pair-history.tar.gz.part-0019",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1INjy4dTBZqOAagUaVK1OxpO10sbhZUMf/view?usp=drivesdk"
},
{
"id": "1UDiChWWYUaqieuOviFl5b-xNsvrN5hiL",
"title": "p08-cold-pair-history.tar.gz.part-0018",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1UDiChWWYUaqieuOviFl5b-xNsvrN5hiL/view?usp=drivesdk"
},
{
"id": "1CXr8DtVRFktn6H3itZv_17_upmkeiEEW",
"title": "p08-cold-pair-history.tar.gz.part-0017",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1CXr8DtVRFktn6H3itZv_17_upmkeiEEW/view?usp=drivesdk"
},
{
"id": "1it3DlzMJuv9cz5YZUNhFabqhVFjtnHsJ",
"title": "p08-cold-pair-history.tar.gz.part-0016",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1it3DlzMJuv9cz5YZUNhFabqhVFjtnHsJ/view?usp=drivesdk"
},
{
"id": "1S3HWxauf2Pu05zB-SmO7RBkWvI6sqWYR",
"title": "p08-cold-pair-history.tar.gz.part-0015",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1S3HWxauf2Pu05zB-SmO7RBkWvI6sqWYR/view?usp=drivesdk"
},
{
"id": "10XOUAX8wDb7zI280yPzikRzt5jlQGTcp",
"title": "p08-cold-pair-history.tar.gz.part-0014",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/10XOUAX8wDb7zI280yPzikRzt5jlQGTcp/view?usp=drivesdk"
},
{
"id": "1GtH7cJcbSX00PcZfBESRV3OWObehmBw1",
"title": "p08-cold-pair-history.tar.gz.part-0013",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1GtH7cJcbSX00PcZfBESRV3OWObehmBw1/view?usp=drivesdk"
},
{
"id": "16HAVPdocOw4tab6d77MG3SR8HkyyVPO0",
"title": "p08-cold-pair-history.tar.gz.part-0012",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/16HAVPdocOw4tab6d77MG3SR8HkyyVPO0/view?usp=drivesdk"
},
{
"id": "1A7ZiEeh5s6AHbKe7JyfMKWSsoRwp95OM",
"title": "p08-cold-pair-history.tar.gz.part-0011",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1A7ZiEeh5s6AHbKe7JyfMKWSsoRwp95OM/view?usp=drivesdk"
},
{
"id": "1DGvzmO2CvvmIV6y_wMGVZZ9UzXiTv9Fc",
"title": "p08-cold-pair-history.tar.gz.part-0010",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1DGvzmO2CvvmIV6y_wMGVZZ9UzXiTv9Fc/view?usp=drivesdk"
},
{
"id": "1wiP3kiIrr2KGwwol1TyrpklbLXBK1PHN",
"title": "p08-cold-pair-history.tar.gz.part-0009",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1wiP3kiIrr2KGwwol1TyrpklbLXBK1PHN/view?usp=drivesdk"
},
{
"id": "1PZ8oKNsBe2o31T_T-cNPEBWBu5VSiF0t",
"title": "p08-cold-pair-history.tar.gz.part-0008",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1PZ8oKNsBe2o31T_T-cNPEBWBu5VSiF0t/view?usp=drivesdk"
},
{
"id": "1LgpzDHNiFcr5dqyZ-4jXNYlKWlMd2bSe",
"title": "p08-cold-pair-history.tar.gz.part-0007",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1LgpzDHNiFcr5dqyZ-4jXNYlKWlMd2bSe/view?usp=drivesdk"
},
{
"id": "1SycABWIO4t9Ym6zCpxebtr-mi1dL3l3H",
"title": "p08-cold-pair-history.tar.gz.part-0006",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1SycABWIO4t9Ym6zCpxebtr-mi1dL3l3H/view?usp=drivesdk"
},
{
"id": "1pOEPbfD36yh89FbrxM8vVkaX3i__6qIb",
"title": "p08-cold-pair-history.tar.gz.part-0005",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1pOEPbfD36yh89FbrxM8vVkaX3i__6qIb/view?usp=drivesdk"
},
{
"id": "1Jke8wBULOCk9HAc6qNEtKm3XuXl74U_W",
"title": "p08-cold-pair-history.tar.gz.part-0004",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1Jke8wBULOCk9HAc6qNEtKm3XuXl74U_W/view?usp=drivesdk"
},
{
"id": "1FmXRL2ew7opitFI92QoXL0U049GGleAG",
"title": "p08-cold-pair-history.tar.gz.part-0003",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1FmXRL2ew7opitFI92QoXL0U049GGleAG/view?usp=drivesdk"
},
{
"id": "1ayfrWSRgPGitssKs-Sdcl16YbrtdERSg",
"title": "p08-cold-pair-history.tar.gz.part-0002",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1ayfrWSRgPGitssKs-Sdcl16YbrtdERSg/view?usp=drivesdk"
},
{
"id": "1xGEM_9v188XG0_rWEbafgIpCTA_xLNk_",
"title": "p08-cold-pair-history.tar.gz.part-0001",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1xGEM_9v188XG0_rWEbafgIpCTA_xLNk_/view?usp=drivesdk"
},
{
"id": "1HIAyxBgJdMS3iN6RlU2k15gupRizV8m-",
"title": "p08-cold-pair-history.tar.gz.part-0000",
"size": "8388608",
"shared": false,
"url": "https://drive.google.com/file/d/1HIAyxBgJdMS3iN6RlU2k15gupRizV8m-/view?usp=drivesdk"
},
{
"id": "1PfcBOLzMq7YGoXKpM--iqWucc2XyxDjB",
"title": "p23-r12-closed-disk-admission-history.RESTORE.md",
"size": "466",
"shared": false,
"url": "https://drive.google.com/file/d/1PfcBOLzMq7YGoXKpM--iqWucc2XyxDjB/view?usp=drivesdk"
},
{
"id": "1g9dZf7ZxwEuYploKueCxZJn_UNIly8Jw",
"title": "p23-r12-closed-disk-admission-history.PARTS.json",
"size": "3983",
"shared": false,
"url": "https://drive.google.com/file/d/1g9dZf7ZxwEuYploKueCxZJn_UNIly8Jw/view?usp=drivesdk"
},
{
"id": "1xQ6Uvn-sqXsEjkCFICfaZR4WuiQ5gvy1",
"title": "p23-r12-closed-disk-admission-history.MANIFEST.json",
"size": "2136491",
"shared": false,
"url": "https://drive.google.com/file/d/1xQ6Uvn-sqXsEjkCFICfaZR4WuiQ5gvy1/view?usp=drivesdk"
},
{
"id": "1kur4otBbclA6CtqMQgAvHRQSNr-ZLjcv",
"title": "p23-r12-closed-disk-admission-history.tar.gz.part-0006",
"size": "30395616",
"shared": false,
"url": "https://drive.google.com/file/d/1kur4otBbclA6CtqMQgAvHRQSNr-ZLjcv/view?usp=drivesdk"
},
{
"id": "1VnS41xLT8Eph_oqN9UCPFYdSfc5DLlMs",
"title": "p23-r12-closed-disk-admission-history.tar.gz.part-0005",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1VnS41xLT8Eph_oqN9UCPFYdSfc5DLlMs/view?usp=drivesdk"
},
{
"id": "1f8zVes_NKcOgpwFxZMXx9OFz4bLhmOoV",
"title": "p23-r12-closed-disk-admission-history.tar.gz.part-0004",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1f8zVes_NKcOgpwFxZMXx9OFz4bLhmOoV/view?usp=drivesdk"
},
{
"id": "18HFeG-9gCkWghctUO39-WEaG6pbpUF8q",
"title": "p23-r12-closed-disk-admission-history.tar.gz.part-0003",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/18HFeG-9gCkWghctUO39-WEaG6pbpUF8q/view?usp=drivesdk"
},
{
"id": "1ugnePNzsggELIIKqqbjrJll5NQ-bS0Cw",
"title": "p23-r12-closed-disk-admission-history.tar.gz.part-0002",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1ugnePNzsggELIIKqqbjrJll5NQ-bS0Cw/view?usp=drivesdk"
},
{
"id": "1zm2CC2XGOmtIfYLUczFuPqdEqlZTCBYN",
"title": "p23-r12-closed-disk-admission-history.tar.gz.part-0001",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1zm2CC2XGOmtIfYLUczFuPqdEqlZTCBYN/view?usp=drivesdk"
},
{
"id": "12y_VT0_yd1CAMBYbPrb8xdPatuVO3U67",
"title": "p23-r12-closed-disk-admission-history.tar.gz.part-0000",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/12y_VT0_yd1CAMBYbPrb8xdPatuVO3U67/view?usp=drivesdk"
},
{
"id": "1J1vYv3TPOaw5P2qKgeWIUGKj3kbOWqRn",
"title": "p23-closed-execution-copies-r08-r11.RESTORE.md",
"size": "438",
"shared": false,
"url": "https://drive.google.com/file/d/1J1vYv3TPOaw5P2qKgeWIUGKj3kbOWqRn/view?usp=drivesdk"
},
{
"id": "1gzR_XCLyoP-siPuRphlIgDoQg5Nd2OWE",
"title": "p23-closed-execution-copies-r08-r11.PARTS.json",
"size": "8089",
"shared": false,
"url": "https://drive.google.com/file/d/1gzR_XCLyoP-siPuRphlIgDoQg5Nd2OWE/view?usp=drivesdk"
},
{
"id": "1fMB0fEGHdqS17rm1Eanx3UobSGE_3yDA",
"title": "p23-closed-execution-copies-r08-r11.MANIFEST.json",
"size": "2526862",
"shared": false,
"url": "https://drive.google.com/file/d/1fMB0fEGHdqS17rm1Eanx3UobSGE_3yDA/view?usp=drivesdk"
},
{
"id": "1TJIy7qF6vCyoQRweFqvHDd5fy0Sohd0B",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0013",
"size": "16038229",
"shared": false,
"url": "https://drive.google.com/file/d/1TJIy7qF6vCyoQRweFqvHDd5fy0Sohd0B/view?usp=drivesdk"
},
{
"id": "1UATcgUav-BlpR0AWU5CLLexJci2almqj",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0012",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1UATcgUav-BlpR0AWU5CLLexJci2almqj/view?usp=drivesdk"
},
{
"id": "1IR-NoNO5O9ARZ3ifGoVoGQGKrFNaB4zS",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0011",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1IR-NoNO5O9ARZ3ifGoVoGQGKrFNaB4zS/view?usp=drivesdk"
},
{
"id": "14QsPBNG3ov4N57GUJCa1WHMcd9CbGXmX",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0010",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/14QsPBNG3ov4N57GUJCa1WHMcd9CbGXmX/view?usp=drivesdk"
},
{
"id": "1yrVJQJMfh_B3U-gvwF2auKf5Ht-RsZm_",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0009",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1yrVJQJMfh_B3U-gvwF2auKf5Ht-RsZm_/view?usp=drivesdk"
},
{
"id": "13F6NnFpgNOScb_je74ZP2KNgJBmkyPKH",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0008",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/13F6NnFpgNOScb_je74ZP2KNgJBmkyPKH/view?usp=drivesdk"
},
{
"id": "1-GLIyD-Bk26zgr3pg0u6ADxxhAZ6QZxM",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0007",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1-GLIyD-Bk26zgr3pg0u6ADxxhAZ6QZxM/view?usp=drivesdk"
},
{
"id": "1Gccz3uTuNef0wlrc88ZVOTzO9dVkoPM4",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0006",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1Gccz3uTuNef0wlrc88ZVOTzO9dVkoPM4/view?usp=drivesdk"
},
{
"id": "1cRc_b3WZMnnhYx4Tqeq6nGzIwtRPhL75",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0005",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1cRc_b3WZMnnhYx4Tqeq6nGzIwtRPhL75/view?usp=drivesdk"
},
{
"id": "1K3Y-dbgTUDg60EMNGQscB56o6wbj6s4_",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0004",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1K3Y-dbgTUDg60EMNGQscB56o6wbj6s4_/view?usp=drivesdk"
},
{
"id": "17TpjEhGWUTgK0an-N4FEdmdETdzhay_6",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0003",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/17TpjEhGWUTgK0an-N4FEdmdETdzhay_6/view?usp=drivesdk"
},
{
"id": "1sSU4KmK_ry6b5T7exjsUch-rqPSvby6o",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0002",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1sSU4KmK_ry6b5T7exjsUch-rqPSvby6o/view?usp=drivesdk"
},
{
"id": "1yuh0eUWmnBCLPBbji9Vo_yNq2VYWbAK5",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0001",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1yuh0eUWmnBCLPBbji9Vo_yNq2VYWbAK5/view?usp=drivesdk"
},
{
"id": "131UBVUotpfxrF1Ye10OtBOTxjDMx68g9",
"title": "p23-closed-execution-copies-r08-r11.tar.gz.part-0000",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/131UBVUotpfxrF1Ye10OtBOTxjDMx68g9/view?usp=drivesdk"
},
{
"id": "1HFqcyEssfS-UUrcQ1Lk2k3DwHXZ4QjVG",
"title": "p23-r11-b-closed-native-os.RESTORE.md",
"size": "449",
"shared": false,
"url": "https://drive.google.com/file/d/1HFqcyEssfS-UUrcQ1Lk2k3DwHXZ4QjVG/view?usp=drivesdk"
},
{
"id": "150W-XtmWY0qh-qnNVZC3BDzMd0Ilg3ed",
"title": "p23-r11-a-closed-native-os.RESTORE.md",
"size": "460",
"shared": false,
"url": "https://drive.google.com/file/d/150W-XtmWY0qh-qnNVZC3BDzMd0Ilg3ed/view?usp=drivesdk"
},
{
"id": "13U9vQ0fDYlojFBEe_jWeLHu16m7q_tZs",
"title": "p23-r10-closed-os-streams.RESTORE.md",
"size": "433",
"shared": false,
"url": "https://drive.google.com/file/d/13U9vQ0fDYlojFBEe_jWeLHu16m7q_tZs/view?usp=drivesdk"
},
{
"id": "1YkoXPDN597tffLxGPAoj_8cMzlc1E2l3",
"title": "p23-r11-b-closed-native-os.manifest.json",
"size": "772061",
"shared": false,
"url": "https://drive.google.com/file/d/1YkoXPDN597tffLxGPAoj_8cMzlc1E2l3/view?usp=drivesdk"
},
{
"id": "13tRNN1C1lhGJfEY9KooUwozUVC2bi3T6",
"title": "p23-r11-b-closed-native-os.tar.gz",
"size": "63837114",
"shared": false,
"url": "https://drive.google.com/file/d/13tRNN1C1lhGJfEY9KooUwozUVC2bi3T6/view?usp=drivesdk"
},
{
"id": "1bGPG4kKbjqBVj0wbiMW8xM600fwv6XaL",
"title": "p23-r11-a-closed-native-os.manifest.json",
"size": "995684",
"shared": false,
"url": "https://drive.google.com/file/d/1bGPG4kKbjqBVj0wbiMW8xM600fwv6XaL/view?usp=drivesdk"
},
{
"id": "1k-zMuWHhyyJOIbp4h_69GRTXAjcXplDF",
"title": "p23-r11-a-closed-native-os.tar.gz",
"size": "64489580",
"shared": false,
"url": "https://drive.google.com/file/d/1k-zMuWHhyyJOIbp4h_69GRTXAjcXplDF/view?usp=drivesdk"
},
{
"id": "1EHq6eDsWQbVuIRXTXFa6STlwjjKXbKl-",
"title": "p23-r10-closed-os-streams.manifest.json",
"size": "461319",
"shared": false,
"url": "https://drive.google.com/file/d/1EHq6eDsWQbVuIRXTXFa6STlwjjKXbKl-/view?usp=drivesdk"
},
{
"id": "1kSecKHMC9WowsIMJKmQCgWRbt6MkZuIE",
"title": "p23-r10-closed-os-streams.tar.gz",
"size": "65722730",
"shared": false,
"url": "https://drive.google.com/file/d/1kSecKHMC9WowsIMJKmQCgWRbt6MkZuIE/view?usp=drivesdk"
},
{
"id": "1IiPcDgDWW2CJpVJdu5lj096NSL6mR7tZ",
"title": "p23-r10-closed-native-streams.RESTORE.md",
"size": "549",
"shared": false,
"url": "https://drive.google.com/file/d/1IiPcDgDWW2CJpVJdu5lj096NSL6mR7tZ/view?usp=drivesdk"
},
{
"id": "1jqquwBfWmdXy3K-qZRUp3XFFHjyH29_o",
"title": "p23-r10-closed-native-streams.manifest.json",
"size": "886140",
"shared": false,
"url": "https://drive.google.com/file/d/1jqquwBfWmdXy3K-qZRUp3XFFHjyH29_o/view?usp=drivesdk"
},
{
"id": "1f9Ao2YulvmK3Cg-uup3I0xzKGwSk409j",
"title": "p23-r10-closed-native-streams.tar.gz",
"size": "7532961",
"shared": false,
"url": "https://drive.google.com/file/d/1f9Ao2YulvmK3Cg-uup3I0xzKGwSk409j/view?usp=drivesdk"
},
{
"id": "18gO_JWAAbX9Jru1aF2EKw7jXPqnBnMa-",
"title": "p23-closed-more-20261015.RESTORE.md",
"size": "546",
"shared": false,
"url": "https://drive.google.com/file/d/18gO_JWAAbX9Jru1aF2EKw7jXPqnBnMa-/view?usp=drivesdk"
},
{
"id": "1iG_Lj1OSMgQW3KPuW1mWN5AdD5nAusLB",
"title": "p23-closed-more-20261015.CLOUD_PARTS.json",
"size": "3471",
"shared": false,
"url": "https://drive.google.com/file/d/1iG_Lj1OSMgQW3KPuW1mWN5AdD5nAusLB/view?usp=drivesdk"
},
{
"id": "1PDHUiXEm7OsR9PbIv77YjDWKj_p1axIm",
"title": "p23-closed-more-20261015.MANIFEST.json",
"size": "1088622",
"shared": false,
"url": "https://drive.google.com/file/d/1PDHUiXEm7OsR9PbIv77YjDWKj_p1axIm/view?usp=drivesdk"
},
{
"id": "1uyeHQO9q4WNI6XwGkwLlMOlOXT4n8aLG",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part011",
"size": "24157286",
"shared": false,
"url": "https://drive.google.com/file/d/1uyeHQO9q4WNI6XwGkwLlMOlOXT4n8aLG/view?usp=drivesdk"
},
{
"id": "17yVsK8tb82YipJiN94K6EBzADnk45JUi",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part010",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/17yVsK8tb82YipJiN94K6EBzADnk45JUi/view?usp=drivesdk"
},
{
"id": "1m4C8Uz9YfYTLuheiqENFd5KQHiD92og9",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part009",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1m4C8Uz9YfYTLuheiqENFd5KQHiD92og9/view?usp=drivesdk"
},
{
"id": "1o_waFRP-NunkjF2S2WnBP3c-7xdzRuid",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part008",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1o_waFRP-NunkjF2S2WnBP3c-7xdzRuid/view?usp=drivesdk"
},
{
"id": "1AOcQmnoCQCkucUvtn6EkGovDgaf5FXQ0",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part007",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1AOcQmnoCQCkucUvtn6EkGovDgaf5FXQ0/view?usp=drivesdk"
},
{
"id": "1yZheCWjSca_gR7vWZEiRXn89w9D1UaX3",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part006",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1yZheCWjSca_gR7vWZEiRXn89w9D1UaX3/view?usp=drivesdk"
},
{
"id": "1H867pyUvipR7pD0a0jTZqDNLcYp-HDFF",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part005",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1H867pyUvipR7pD0a0jTZqDNLcYp-HDFF/view?usp=drivesdk"
},
{
"id": "12342ccdxEfUx8sYReHik8kqJrzwHUW53",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part004",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/12342ccdxEfUx8sYReHik8kqJrzwHUW53/view?usp=drivesdk"
},
{
"id": "1-t_BlRxF_jOqEVFr1FpLX1csoXuC1F4W",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part003",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1-t_BlRxF_jOqEVFr1FpLX1csoXuC1F4W/view?usp=drivesdk"
},
{
"id": "1a58Whck6TpFoPdnPm2AghYl62OV7csnL",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part002",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1a58Whck6TpFoPdnPm2AghYl62OV7csnL/view?usp=drivesdk"
},
{
"id": "1hi90373mxxqp0yYpRs9G_u9Mq9piHGAU",
"title": "p23-closed-api-r69-r70-native-r09-os-r08.tar.gz.part001",
"size": "33554432",
"shared": false,
"url": "https://drive.google.com/file/d/1hi90373mxxqp0yYpRs9G_u9Mq9piHGAU/view?usp=drivesdk"
},
{
"id": "1aMi_UCFwjKxs6sRQwwVONfGxZiNibyiC",
"title": "p23-closed-native-streams-r05-r08.RESTORE.md",
"size": "1013",
"shared": false,
"url": "https://drive.google.com/file/d/1aMi_UCFwjKxs6sRQwwVONfGxZiNibyiC/view?usp=drivesdk"
},
{
"id": "1_XZhusnYMBK-1OZCaZTLVuWyhOOLX22K",
"title": "p23-closed-native-streams-r05-r08.manifest.json",
"size": "3450515",
"shared": false,
"url": "https://drive.google.com/file/d/1_XZhusnYMBK-1OZCaZTLVuWyhOOLX22K/view?usp=drivesdk"
},
{
"id": "1RID5ModFGinXTSH-2XQaLWy2eSZFs71T",
"title": "p23-closed-native-streams-r05-r08.tar.gz",
"size": "30061832",
"shared": false,
"url": "https://drive.google.com/file/d/1RID5ModFGinXTSH-2XQaLWy2eSZFs71T/view?usp=drivesdk"
},
{
"id": "1xG0hS49uWH2xgRMvCqvZ-GyvItxYN6LN",
"title": "OFFLOAD_INDEX.json",
"size": "32995",
"shared": false,
"url": "https://drive.google.com/file/d/1xG0hS49uWH2xgRMvCqvZ-GyvItxYN6LN/view?usp=drivesdk"
},
{
"id": "1D9pBPAMJBG7q1nx3g_d4ufED80d-97th",
"title": "RESTORE.md",
"size": "2150",
"shared": false,
"url": "https://drive.google.com/file/d/1D9pBPAMJBG7q1nx3g_d4ufED80d-97th/view?usp=drivesdk"
},
{
"id": "1q0dSu34RryVYcAqKuOj1p-SpL6llrwsT",
"title": "p05-acceptance-partial-r04.manifest.json",
"size": "450442",
"shared": false,
"url": "https://drive.google.com/file/d/1q0dSu34RryVYcAqKuOj1p-SpL6llrwsT/view?usp=drivesdk"
},
{
"id": "1k5jQjc-bxf8S4iyMZlfjQrjnywihy9Wi",
"title": "p05-acceptance-partial-r04.tar.gz.part-0004",
"size": "66750974",
"shared": false,
"url": "https://drive.google.com/file/d/1k5jQjc-bxf8S4iyMZlfjQrjnywihy9Wi/view?usp=drivesdk"
},
{
"id": "1PNpkaiOuBtDVoisSS94u4wunChdaLkk8",
"title": "p05-acceptance-partial-r04.tar.gz.part-0003",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/1PNpkaiOuBtDVoisSS94u4wunChdaLkk8/view?usp=drivesdk"
},
{
"id": "1YJkkF3Utz1ujENKwCNtwO1jlHNZcwQFQ",
"title": "p05-acceptance-partial-r04.tar.gz.part-0002",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/1YJkkF3Utz1ujENKwCNtwO1jlHNZcwQFQ/view?usp=drivesdk"
},
{
"id": "1L6Sqw9qt41iSADceAqur4X9HPyi_1-fg",
"title": "p05-acceptance-partial-r04.tar.gz.part-0001",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/1L6Sqw9qt41iSADceAqur4X9HPyi_1-fg/view?usp=drivesdk"
},
{
"id": "1SlBu1ioyahw4KHbp-4iWNCV51b8Q-FaM",
"title": "p05-acceptance-partial-r04.tar.gz.part-0000",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/1SlBu1ioyahw4KHbp-4iWNCV51b8Q-FaM/view?usp=drivesdk"
},
{
"id": "159rxXleYb0ihrl9r54ki8SXhKA_fgGWC",
"title": "p05-acceptance-partial-r03.manifest.json",
"size": "2521584",
"shared": false,
"url": "https://drive.google.com/file/d/159rxXleYb0ihrl9r54ki8SXhKA_fgGWC/view?usp=drivesdk"
},
{
"id": "1kJS7wrimiVQjh0x06esJS0LqG5rpFSeV",
"title": "p05-acceptance-partial-r03.tar.gz.part-0004",
"size": "62960058",
"shared": false,
"url": "https://drive.google.com/file/d/1kJS7wrimiVQjh0x06esJS0LqG5rpFSeV/view?usp=drivesdk"
},
{
"id": "17fuAGV3HpCehMRSR2eqxty3yUkBpAe8U",
"title": "p05-acceptance-partial-r03.tar.gz.part-0003",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/17fuAGV3HpCehMRSR2eqxty3yUkBpAe8U/view?usp=drivesdk"
},
{
"id": "1UrnzT-1OKFDa1dK8NlFD3tWTQjr8VNuC",
"title": "p05-acceptance-partial-r03.tar.gz.part-0002",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/1UrnzT-1OKFDa1dK8NlFD3tWTQjr8VNuC/view?usp=drivesdk"
},
{
"id": "1gI2g_HDluW2KlQOfDWSPSW-0_Gue8gep",
"title": "p05-acceptance-partial-r03.tar.gz.part-0001",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/1gI2g_HDluW2KlQOfDWSPSW-0_Gue8gep/view?usp=drivesdk"
},
{
"id": "1y7qqmPqQtgKruKlduF2DjCIaITLHnjQJ",
"title": "p05-acceptance-partial-r03.tar.gz.part-0000",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/1y7qqmPqQtgKruKlduF2DjCIaITLHnjQJ/view?usp=drivesdk"
},
{
"id": "1437hqI_1qKHQIWn7qs9PdUaUXnwee4ZU",
"title": "p05-acceptance-partial-r02.manifest.json",
"size": "2499292",
"shared": false,
"url": "https://drive.google.com/file/d/1437hqI_1qKHQIWn7qs9PdUaUXnwee4ZU/view?usp=drivesdk"
},
{
"id": "1QMalGxgyRK0-e8TDe1QrbhUdLFeSgpPk",
"title": "p05-acceptance-partial-r02.tar.gz.part-0004",
"size": "61524572",
"shared": false,
"url": "https://drive.google.com/file/d/1QMalGxgyRK0-e8TDe1QrbhUdLFeSgpPk/view?usp=drivesdk"
},
{
"id": "1znVnhyxeH4wOJnKZ46j-nJoiS5h-Uenz",
"title": "p05-acceptance-partial-r02.tar.gz.part-0003",
"size": "67108864",
"shared": false,
"url": "https://drive.google.com/file/d/1znVnhyxeH4wOJnKZ46j-nJoiS5h-Uenz/view?usp=drivesdk"
}
]
}
@@ -0,0 +1,162 @@
{
"recorded_at": "2026-10-15T04:47:49.858785+00:00",
"cloud_folder_url": "https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"batch_count": 18,
"original_files_retired": 65148,
"logical_original_bytes_retired": 7107793864,
"compressed_archive_bytes": 3781528124,
"extra_redundant_mirror_files_removed": 2622,
"extra_mirror_bytes_excluded_from_total": true,
"free_bytes_now": 1531011072,
"capacity_note": "Cumulative logical retirement is not net free-space delta; native proof collection and OS activity ran during offload. R12 ended OS disk admission before B reader, no acceptance credit.",
"protected_current_P08_pins": [
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-native-os-d369d1c-r19-calibrated/index.json",
"expected_sha256": "fc66a95ab228e70fd1e1aa40b92f8cb6890f8c9879c2be79940e969cb9a3521b",
"actual_sha256": "fc66a95ab228e70fd1e1aa40b92f8cb6890f8c9879c2be79940e969cb9a3521b"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-native-d369d1c-r17/index.json",
"expected_sha256": "16c3577ca226173fea65df8595ab42a8b257ba50166da1a8564e6eda126694a1",
"actual_sha256": "16c3577ca226173fea65df8595ab42a8b257ba50166da1a8564e6eda126694a1"
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-final-regression-d369d1c-r01/runner-ended.json",
"expected_sha256": "0dbe71e589113088bd37be42fef583b8f6da86a15542f4900ed97fa957fc1264",
"actual_sha256": "0dbe71e589113088bd37be42fef583b8f6da86a15542f4900ed97fa957fc1264"
}
],
"protected_current_R12_present": true,
"drive_sync_cache": [],
"batches": [
{
"name": "p05-acceptance-partial-r01",
"files": 8629,
"logical_bytes": 361987784,
"archive_bytes": 329214394,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/p05-acceptance-partial-r01.retired.json"
},
{
"name": "p05-acceptance-partial-r02",
"files": 8675,
"logical_bytes": 364158371,
"archive_bytes": 329960028,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/p05-acceptance-partial-r02.retired.json"
},
{
"name": "p05-acceptance-partial-r03",
"files": 8743,
"logical_bytes": 368221923,
"archive_bytes": 331395514,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/p05-acceptance-partial-r03.retired.json"
},
{
"name": "p05-acceptance-partial-r04",
"files": 1527,
"logical_bytes": 352135723,
"archive_bytes": 335186430,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/p05-acceptance-partial-r04.retired.json"
},
{
"name": "windows-current-release-candidate-r02",
"files": 887,
"logical_bytes": 88806618,
"archive_bytes": 85243401,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current-release-candidate-r02.retired.json"
},
{
"name": "windows-current-release-candidate-r03",
"files": 903,
"logical_bytes": 317724191,
"archive_bytes": 242293517,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current-release-candidate-r03.retired.json"
},
{
"name": "windows-current1237-release-candidate-r03",
"files": 909,
"logical_bytes": 276022697,
"archive_bytes": 200327853,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1237-release-candidate-r03.retired.json"
},
{
"name": "windows-current1287-command-ownership-release-candidate-r01-d2927ce3313f4093b996920e4352adb3",
"files": 953,
"logical_bytes": 276715071,
"archive_bytes": 200582260,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1287-command-ownership-release-candidate-r01-d2927ce3313f4093b996920e4352adb3.retired.json"
},
{
"name": "windows-current1287-paid-role-release-candidate-r02-ac42a5936a284c71bf54528cb561f366",
"files": 950,
"logical_bytes": 276687260,
"archive_bytes": 200576863,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1287-paid-role-release-candidate-r02-ac42a5936a284c71bf54528cb561f366.retired.json"
},
{
"name": "windows-current1295-paired-bgm-release-candidate-r01-9aa8b4af72f640ccb44d0f0d8e6ced5f",
"files": 962,
"logical_bytes": 320543454,
"archive_bytes": 241574909,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1295-paired-bgm-release-candidate-r01-9aa8b4af72f640ccb44d0f0d8e6ced5f.retired.json"
},
{
"name": "windows-current1297-tomari-release-candidate-r01-fe476971367d4110b563b987e0cf3d5e",
"files": 965,
"logical_bytes": 320572956,
"archive_bytes": 241581287,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1297-tomari-release-candidate-r01-fe476971367d4110b563b987e0cf3d5e.retired.json"
},
{
"name": "drive-offload-p23-20261015",
"files": 10456,
"logical_bytes": 887222239,
"archive_bytes": 30061832,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-closed-more-20261015",
"files": 3227,
"logical_bytes": 1035272086,
"archive_bytes": 359701606,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-closed-more-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-closed-stages-20261015",
"files": 8060,
"logical_bytes": 504871487,
"archive_bytes": 452245845,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-closed-stages-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r10-native-20261015",
"files": 2622,
"logical_bytes": 222061822,
"archive_bytes": 7532961,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r10-native-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r10-os-20261015",
"files": 1395,
"logical_bytes": 364344399,
"archive_bytes": 65722730,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r10-os-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r11-a-20261015",
"files": 2984,
"logical_bytes": 388939316,
"archive_bytes": 64489580,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r11-a-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r11-b-20261015",
"files": 2301,
"logical_bytes": 381506467,
"archive_bytes": 63837114,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r11-b-20261015/RETIREMENT.json"
}
],
"restore_policy": "Ordered parts, archive SHA256, original relative paths, member SHA256/mode/mtime_ns. Small restored ledger-referenced records remain local.",
"formal_game_credit": 0,
"drive_sync_cache_observation": "Exact archive folder was not present in local My Drive listing at verification time; no content reads/download materialization requested. This is a bounded path check, not an internal Drive cache-size audit."
}
@@ -0,0 +1,15 @@
# 証跡のGoogleドライブ退避結果
2026-10-15T04:47:49.858785+00:00時点。
- 退避した元ファイル: 65,148件 / 7,107,793,864バイト(約7.11GB)
- 圧縮アーカイブ: 3,781,528,124バイト
- 別途整理した重複コピー: 2,622件(上の容量に加算しない)
- 現在の空き: 1,531,695,104バイト(約1.53GB)
- 保護したP08受入証拠3件: SHA-256一致
- 現行R12: ローカル保持、B読込未実行、未受入
- 内容保持・クラウド読戻し・一覧/復元手順を確認してから対応する原本だけ削除
[Googleドライブ保存先](https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK)
途中に新しい検証データを生成したため、累積退避量と空きの純増を区別します。元データは各退避台帳の順序・SHA・相対配置で復元できます。詳細はFINAL_OFFLOAD_REPORT.jsonと各退避台帳に保存しています。
@@ -0,0 +1,212 @@
{
"recorded_at": "2026-10-15T06:44:10.411739+00:00",
"cloud_folder_url": "https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"batch_count": 20,
"original_files_retired": 77191,
"logical_original_bytes_retired": 11680979893,
"compressed_archive_bytes": 4211475754,
"extra_redundant_mirror_files_removed": 2622,
"extra_mirror_bytes_excluded_from_total": true,
"batches": [
{
"name": "p05-acceptance-partial-r01",
"files": 8629,
"logical_bytes": 361987784,
"archive_bytes": 329214394,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/p05-acceptance-partial-r01.retired.json"
},
{
"name": "p05-acceptance-partial-r02",
"files": 8675,
"logical_bytes": 364158371,
"archive_bytes": 329960028,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/p05-acceptance-partial-r02.retired.json"
},
{
"name": "p05-acceptance-partial-r03",
"files": 8743,
"logical_bytes": 368221923,
"archive_bytes": 331395514,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/p05-acceptance-partial-r03.retired.json"
},
{
"name": "p05-acceptance-partial-r04",
"files": 1527,
"logical_bytes": 352135723,
"archive_bytes": 335186430,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/p05-acceptance-partial-r04.retired.json"
},
{
"name": "windows-current-release-candidate-r02",
"files": 887,
"logical_bytes": 88806618,
"archive_bytes": 85243401,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current-release-candidate-r02.retired.json"
},
{
"name": "windows-current-release-candidate-r03",
"files": 903,
"logical_bytes": 317724191,
"archive_bytes": 242293517,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current-release-candidate-r03.retired.json"
},
{
"name": "windows-current1237-release-candidate-r03",
"files": 909,
"logical_bytes": 276022697,
"archive_bytes": 200327853,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1237-release-candidate-r03.retired.json"
},
{
"name": "windows-current1287-command-ownership-release-candidate-r01-d2927ce3313f4093b996920e4352adb3",
"files": 953,
"logical_bytes": 276715071,
"archive_bytes": 200582260,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1287-command-ownership-release-candidate-r01-d2927ce3313f4093b996920e4352adb3.retired.json"
},
{
"name": "windows-current1287-paid-role-release-candidate-r02-ac42a5936a284c71bf54528cb561f366",
"files": 950,
"logical_bytes": 276687260,
"archive_bytes": 200576863,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1287-paid-role-release-candidate-r02-ac42a5936a284c71bf54528cb561f366.retired.json"
},
{
"name": "windows-current1295-paired-bgm-release-candidate-r01-9aa8b4af72f640ccb44d0f0d8e6ced5f",
"files": 962,
"logical_bytes": 320543454,
"archive_bytes": 241574909,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1295-paired-bgm-release-candidate-r01-9aa8b4af72f640ccb44d0f0d8e6ced5f.retired.json"
},
{
"name": "windows-current1297-tomari-release-candidate-r01-fe476971367d4110b563b987e0cf3d5e",
"files": 965,
"logical_bytes": 320572956,
"archive_bytes": 241581287,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-20261015/windows-current1297-tomari-release-candidate-r01-fe476971367d4110b563b987e0cf3d5e.retired.json"
},
{
"name": "drive-offload-p23-20261015",
"files": 10456,
"logical_bytes": 887222239,
"archive_bytes": 30061832,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-closed-more-20261015",
"files": 3227,
"logical_bytes": 1035272086,
"archive_bytes": 359701606,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-closed-more-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-closed-stages-20261015",
"files": 8060,
"logical_bytes": 504871487,
"archive_bytes": 452245845,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-closed-stages-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r10-native-20261015",
"files": 2622,
"logical_bytes": 222061822,
"archive_bytes": 7532961,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r10-native-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r10-os-20261015",
"files": 1395,
"logical_bytes": 364344399,
"archive_bytes": 65722730,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r10-os-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r11-a-20261015",
"files": 2984,
"logical_bytes": 388939316,
"archive_bytes": 64489580,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r11-a-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r11-b-20261015",
"files": 2301,
"logical_bytes": 381506467,
"archive_bytes": 63837114,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r11-b-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p23-r12-20261015",
"files": 6489,
"logical_bytes": 817797225,
"archive_bytes": 231722208,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p23-r12-20261015/RETIREMENT.json"
},
{
"name": "drive-offload-p08-cold-pairs-20261015",
"files": 5554,
"logical_bytes": 3755388804,
"archive_bytes": 198225422,
"record": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-p08-cold-pairs-20261015/RETIREMENT.json"
}
],
"free_bytes_now": 2874818560,
"capacity_note": "Logical original retirement and per-file allocation are not net volume recovery; APFS shared blocks and concurrent OS changes affect df. Current free is independently measured.",
"protected_pins": [
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-native-os-d369d1c-r19-calibrated/index.json",
"sha256": "fc66a95ab228e70fd1e1aa40b92f8cb6890f8c9879c2be79940e969cb9a3521b",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-native-d369d1c-r17/index.json",
"sha256": "16c3577ca226173fea65df8595ab42a8b257ba50166da1a8564e6eda126694a1",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-final-regression-d369d1c-r01/runner-ended.json",
"sha256": "0dbe71e589113088bd37be42fef583b8f6da86a15542f4900ed97fa957fc1264",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/index.json",
"sha256": "c0cc9e939845b5f3ae8375d414327821eb75c3e5f5158ae32eb872eda1b99a03",
"unchanged": true
}
],
"worker_sha": "49445d4a4d38281eb29dab1c1f85dd2b8ffbed11",
"worker_clean": true,
"compression": [
{
"name": "capacity-recovery-r01",
"candidate_files": 2675,
"compressed_files": 2645,
"errors": [],
"logical_bytes_preserved": 1840775652,
"allocated_before_sum": 1845633024,
"allocated_after_sum": 150609920,
"free_before_bytes": 235634688,
"free_after_bytes": 1934417920,
"elapsed_seconds": 93.83740019798279,
"method": "Transparent APFS compression only for phase-bound closed owned profiles; identical paths/bytes/mtime; SHA checked original/compressed/original-before-replacement/final; no user save, source, active file or raw proof deletion.",
"measurement_limit": "Net volume free change is measured; per-file block sums are not APFS-exclusive allocation."
},
{
"name": "capacity-recovery-old-fd643",
"candidate_files": 2865,
"compressed_files": 2817,
"errors": [],
"logical_bytes_preserved": 1938864035,
"allocated_before_sum": 1944100864,
"allocated_after_sum": 156975104,
"free_before_bytes": 1930104832,
"free_after_bytes": 3632488448,
"elapsed_seconds": 80.38100981712341,
"method": "Transparent APFS compression only for phase-bound closed owned profiles; identical paths/bytes/mtime; SHA checked original/compressed/original-before-replacement/final; no user save, source, active file or raw proof deletion.",
"measurement_limit": "Net volume free change is measured; per-file block sums are not APFS-exclusive allocation."
}
],
"all_cloud_parts_actual_readback_verified": true,
"cloud_sharing_changed": false,
"formal_game_credit": 0,
"next_test_reserve_requirement": "Include private-profile generation (at least actual previous ~1.94GB) as well as output, review/temp copies and OS headroom; no duplicate native collection or failed-suite splicing."
}
@@ -0,0 +1,15 @@
# 証跡のクラウド退避・容量結果(更新版)
記録時刻: 2026-10-15T06:44:10.411739+00:00
退避先: https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK
- 退避済み原本: 77,191ファイル、11,680,979,893バイト(約11.68GB)。
- Drive上の圧縮アーカイブ: 4,211,475,754バイト(約4.21GB)、20バッチ。
- 重複ミラー2,622ファイルの整理は原本容量に二重加算していません。
- 実測した現在の空き: 2,874,818,560バイト(約2.87GB、2.68GiB)。論理退避量を空きの増分とは扱いません。
- 今回追加: R12旧履歴6,489ファイルと、P08旧版pair 5,554ファイル。原本はDriveからの実ダウンロードと全アーカイブ内容照合後に限定削除しました。復元用manifest、分割順、SHA、手順をローカルとDriveに保持しています。
- 最新P23 R13とP08現行受入証跡の固定SHAは一致。実装作業場所は49445d4のままclean。ソース、製品素材、ユーザー保存は対象外です。
容量の再消費を調べると、全回帰の専用テストプロファイルが成果物フォルダの外で約1.84GBを生成していました。最初の見積りはこの生成量を含めていませんでした。終了済みの今回・旧回帰プロファイルを、パス・内容・更新日時を保つ透明圧縮で論理約3.78GB、割当合計約308MBへ縮小しました。全変更ファイルは処理内で元・圧縮後・置換直前・最終SHAを照合済み、両処理エラー0です。全回帰は容量による中断のままであり、受入完了は加算しません。
今後の全回帰前には専用プロファイル生成量(過去実測約1.94GB)、成果物、レビュー複製、一時領域、OSの余裕を含めて見積ります。旧版証跡は各バッチのRESTORE.mdとCLOUD_PARTS.jsonから復元できます。前版の報告・元の終了記録は改変せず残しています。
@@ -2,7 +2,7 @@
保管先: https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK
`OFFLOAD_INDEX.json` は11アーカイブの一覧、43分割のDrive ID・URL・順序・SHA256と、元の場所を記録しています。各 `.manifest.json` に全メンバーのSHA256・型・モード・正確な更新時刻があります。各元フォルダの `CLOUD_ARCHIVE.json` からも参照できます。
退避全体は20バッチです。`FINAL_OFFLOAD_REPORT_R02.json` の `batches` に全20件の退避記録の場所があります。`OFFLOAD_INDEX.json` は初回11アーカイブ・43分割のDrive ID・URL・順序・SHA256と元の場所を記録しています。追加9バッチは各記録と同じディレクトリの `RESTORE.md`、`CLOUD_PARTS.json`、`MANIFEST.json` を使います。各 `.manifest.json` に全メンバーのSHA256・型・モード・正確な更新時刻があります。各元フォルダの `CLOUD_ARCHIVE.json` からも参照できます。
1. 必要な候補版だけ、目録の `cloud_parts` をすべてダウンロードする。
2. 各分割のバイト数とSHA256を照合する。
@@ -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,9 @@
{
"whole_archive_sha256": "f2df2e09202e12b38e8ea29529ec2191fde7d626b4e72b45df8458d86dcd0a8d",
"bytes": 116267401,
"all_unique_payloads_verified": 2127,
"original_file_mappings_verified": 36328,
"manifest_identical": true,
"actual_cloud_readback": true,
"formal_credit": 0
}
@@ -0,0 +1,118 @@
[
{
"order": 0,
"path": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz.part-0000",
"bytes": 33554432,
"sha256": "8206248a3039eeaece428eb7d485177c301f98dae6a01c6686e9805b2dfe2c03",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "149Z-A_PlFo5M0_LIwsyJnpS9R_cczQwF",
"title": "cold-stages-r03.tar.gz.part-0000",
"file_name": "cold-stages-r03.tar.gz.part-0000",
"mime_type": "application/x-gzip",
"url": "https://drive.google.com/file/d/149Z-A_PlFo5M0_LIwsyJnpS9R_cczQwF/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "149Z-A_PlFo5M0_LIwsyJnpS9R_cczQwF",
"title": "cold-stages-r03.tar.gz.part-0000",
"file_name": "cold-stages-r03.tar.gz.part-0000",
"mime_type": "application/x-gzip",
"url": "https://drive.google.com/file/d/149Z-A_PlFo5M0_LIwsyJnpS9R_cczQwF/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"readback_sha256": "8206248a3039eeaece428eb7d485177c301f98dae6a01c6686e9805b2dfe2c03",
"readback_bytes": 33554432,
"verified": true
},
{
"order": 1,
"path": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz.part-0001",
"bytes": 33554432,
"sha256": "46e1a88b593212442899be5f38f40637a24a973ca580dfa7f3ecee65c46991dc",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1dnOLHwwTkmReV_BEx2ptDobmpcty572H",
"title": "cold-stages-r03.tar.gz.part-0001",
"file_name": "cold-stages-r03.tar.gz.part-0001",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1dnOLHwwTkmReV_BEx2ptDobmpcty572H/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1dnOLHwwTkmReV_BEx2ptDobmpcty572H",
"title": "cold-stages-r03.tar.gz.part-0001",
"file_name": "cold-stages-r03.tar.gz.part-0001",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1dnOLHwwTkmReV_BEx2ptDobmpcty572H/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"readback_sha256": "46e1a88b593212442899be5f38f40637a24a973ca580dfa7f3ecee65c46991dc",
"readback_bytes": 33554432,
"verified": true
},
{
"order": 2,
"path": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz.part-0002",
"bytes": 33554432,
"sha256": "366eccfda24086d0cb0b386669838e92645c15e23719b3f2cd7db06e0e00c3c4",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1LnIGzSKyXqwxGV2EFhM4CfUy9krQSTp9",
"title": "cold-stages-r03.tar.gz.part-0002",
"file_name": "cold-stages-r03.tar.gz.part-0002",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1LnIGzSKyXqwxGV2EFhM4CfUy9krQSTp9/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1LnIGzSKyXqwxGV2EFhM4CfUy9krQSTp9",
"title": "cold-stages-r03.tar.gz.part-0002",
"file_name": "cold-stages-r03.tar.gz.part-0002",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1LnIGzSKyXqwxGV2EFhM4CfUy9krQSTp9/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"readback_sha256": "366eccfda24086d0cb0b386669838e92645c15e23719b3f2cd7db06e0e00c3c4",
"readback_bytes": 33554432,
"verified": true
},
{
"order": 3,
"path": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz.part-0003",
"bytes": 15604105,
"sha256": "ef477319e3f2036874ab9c4de069ce055bff1bf45b746100c442d7c808008ad8",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1DI9jSB5yGlzJpXC1H6tLUhqqQ8eQM8Ga",
"title": "cold-stages-r03.tar.gz.part-0003",
"file_name": "cold-stages-r03.tar.gz.part-0003",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1DI9jSB5yGlzJpXC1H6tLUhqqQ8eQM8Ga/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1DI9jSB5yGlzJpXC1H6tLUhqqQ8eQM8Ga",
"title": "cold-stages-r03.tar.gz.part-0003",
"file_name": "cold-stages-r03.tar.gz.part-0003",
"mime_type": "application/octet-stream",
"url": "https://drive.google.com/file/d/1DI9jSB5yGlzJpXC1H6tLUhqqQ8eQM8Ga/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"readback_sha256": "ef477319e3f2036874ab9c4de069ce055bff1bf45b746100c442d7c808008ad8",
"readback_bytes": 15604105,
"verified": true
}
]
@@ -0,0 +1,76 @@
{
"recorded_at": "2026-10-15T11:00:52.041589+00:00",
"recorded_unix": 1792061992.562457,
"files": 36328,
"logical_bytes": 1833310564,
"allocated_sum": 1949585408,
"cloud_archive_bytes": 116267401,
"free_before_selection": 3406475264,
"free_before_retirement": 2905726976,
"free_after": 3991207936,
"original_files_and_parent_evidence_reverified": true,
"actual_cloud_readback_all_payloads_verified": true,
"retired_only_manifest_members": true,
"temporary_archives_removed_after_verification": true,
"roots": [
"p05-acceptance-partial-r06/stages",
"p23-03-native-impact-19fc3f5-r01/stage",
"p23-03-component-impact-19fc3f5-r01/stage",
"p23-03-final-regression-49445d4-r01/stage",
"p08-03-native-os-r09/stage",
"p08-03-native-os-fd643f5-r10/stage",
"p08-03-native-f5f85ae-r16/stage",
"p08-03-final-regression-f5f85ae-r01/stage",
"p08-03-final-regression-fd643f5-r01/stage",
"p03-midpoint-restart-r03/stages",
"p03-midpoint-restart-r04/stages",
"p03-midpoint-restart-r05/stages",
"p03-formal13-ui-to14-final-r01/stages",
"p03-formal13-ui-to14-final-r02/stages"
],
"formal_credit": 0,
"current_free_bytes": 4061999104,
"net_observed_free_increase_bytes": 655523840,
"protected_current_proof": [
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-native-os-d369d1c-r19-calibrated/index.json",
"sha256": "fc66a95ab228e70fd1e1aa40b92f8cb6890f8c9879c2be79940e969cb9a3521b",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-native-d369d1c-r17/index.json",
"sha256": "16c3577ca226173fea65df8595ab42a8b257ba50166da1a8564e6eda126694a1",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-03-final-regression-d369d1c-r01/runner-ended.json",
"sha256": "0dbe71e589113088bd37be42fef583b8f6da86a15542f4900ed97fa957fc1264",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-native-os-49445d4-r13/index.json",
"sha256": "c0cc9e939845b5f3ae8375d414327821eb75c3e5f5158ae32eb872eda1b99a03",
"unchanged": true
},
{
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p23-03-final-regression-9a26f9a-r01/runner-ended.json",
"sha256": "dfd4187b1c3d2869deacb57c95e41af8b698f70663452fd6e27dc154683f5856",
"unchanged": true
}
],
"workers": [
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p23-03-code/P23-03-implement",
"sha": "9a26f9ab8c6691ba3cbe32ac4bc4525f4a9c7106",
"clean": true
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p13-03/P13-03-implement",
"sha": "bd3a97ec741ddb2346d0c2b2e0472c978927ce82",
"clean": true
}
],
"sharing_changed": false,
"cloud_folder_url": "https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"note": "Original logical bytes and allocated sum are not physical free-space gain. APFS shared extents and concurrent OS changes affect the measured net increase. Prior offload totals are historical and are not counted as this batch."
}
@@ -0,0 +1,11 @@
# 証跡退避・追加実施結果
Drive退避先: https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK
- 今回追加: 旧版検証ソース複製14か所、36,328ファイル、1,833,310,564バイト。現行候補・実装作業場所・試験結果・画像・保存・終了記録は保持。
- SHA-256による重複排除後2,127データ。Driveの圧縮アーカイブ116,267,401バイト、4分割。
- 全4片の実ダウンロード、全体SHA、全2,127内部データ、全36,328ファイル対応表を検証。復元資料5点も実ダウンロードで一致。元ファイル全件を削除直前に再照合し、manifestにあるファイルだけを削除。
- 作業前の空き3,406,475,264バイト → 最終実測4,061,999,104バイト(3.78GiB)。観測純増0.656GB。APFS共有領域・OSの並行変化があるため、論理退避量を空き増加として扱わない。
- P08と旧P23の保護4点、最新9a26f9a全回帰終了記録の固定SHAが一致。P13/P23の実装作業場所は同じコミットでclean。
- 各元フォルダにCLOUD_STAGE_ARCHIVE_R03.jsonを保持。Driveの分割順・SHAはCLOUD_PARTS.json、復元はRESTORE.mdとrestore.pyを使用。後日、旧stageを再実行する場合だけ復元する。
- 過去の20バッチ・約11.68GB退避とは分けた追加記録。今回のゲーム成果単位の完了加点は0。
@@ -0,0 +1,35 @@
{
"format": "content-addressed-tar-v1",
"archive": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz",
"archive_bytes": 116267401,
"archive_sha256": "f2df2e09202e12b38e8ea29529ec2191fde7d626b4e72b45df8458d86dcd0a8d",
"parts": [
{
"order": 0,
"path": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz.part-0000",
"bytes": 33554432,
"sha256": "8206248a3039eeaece428eb7d485177c301f98dae6a01c6686e9805b2dfe2c03"
},
{
"order": 1,
"path": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz.part-0001",
"bytes": 33554432,
"sha256": "46e1a88b593212442899be5f38f40637a24a973ca580dfa7f3ecee65c46991dc"
},
{
"order": 2,
"path": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz.part-0002",
"bytes": 33554432,
"sha256": "366eccfda24086d0cb0b386669838e92645c15e23719b3f2cd7db06e0e00c3c4"
},
{
"order": 3,
"path": "/private/tmp/tree-offload-cold-stage-r03/cold-stages-r03.tar.gz.part-0003",
"bytes": 15604105,
"sha256": "ef477319e3f2036874ab9c4de069ce055bff1bf45b746100c442d7c808008ad8"
}
],
"unique_payloads": 2127,
"source_unchanged": true,
"all_members_verified": true
}
@@ -0,0 +1,26 @@
{
"file": "CLOUD_PARTS.json",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1Lkbpz9eEinYiS0uEYnal11HsetSleDoH",
"title": "cold-stages-r03-CLOUD_PARTS.json",
"file_name": "cold-stages-r03-CLOUD_PARTS.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1Lkbpz9eEinYiS0uEYnal11HsetSleDoH/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1Lkbpz9eEinYiS0uEYnal11HsetSleDoH",
"title": "cold-stages-r03-CLOUD_PARTS.json",
"file_name": "cold-stages-r03-CLOUD_PARTS.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1Lkbpz9eEinYiS0uEYnal11HsetSleDoH/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"bytes": 5075,
"sha256": "88beaaf600f462d5ae36756002004ada03e234a042b57c6b2800d7c86f251a54",
"actual_cloud_readback_verified": true
}
@@ -0,0 +1,26 @@
{
"file": "MANIFEST.json",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1NsbB3PEp0DVGiwVpamp6unfmlLN48s74",
"title": "cold-stages-r03-MANIFEST.json",
"file_name": "cold-stages-r03-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1NsbB3PEp0DVGiwVpamp6unfmlLN48s74/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1NsbB3PEp0DVGiwVpamp6unfmlLN48s74",
"title": "cold-stages-r03-MANIFEST.json",
"file_name": "cold-stages-r03-MANIFEST.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1NsbB3PEp0DVGiwVpamp6unfmlLN48s74/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"bytes": 12535524,
"sha256": "78bfddcaa7c3ab85861fe4ef82babb262bcd4a01dfb192a93dec9d5d057ff444",
"actual_cloud_readback_verified": true
}
@@ -0,0 +1,26 @@
{
"file": "PREPARED.json",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1OW7SXiEgLyX0iidGbf0DvvLWBXHd5ITH",
"title": "cold-stages-r03-PREPARED.json",
"file_name": "cold-stages-r03-PREPARED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1OW7SXiEgLyX0iidGbf0DvvLWBXHd5ITH/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1OW7SXiEgLyX0iidGbf0DvvLWBXHd5ITH",
"title": "cold-stages-r03-PREPARED.json",
"file_name": "cold-stages-r03-PREPARED.json",
"mime_type": "application/json",
"url": "https://drive.google.com/file/d/1OW7SXiEgLyX0iidGbf0DvvLWBXHd5ITH/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"bytes": 1265,
"sha256": "0152096318fd652956372c2a8642f651f4b772f339b8c0b3d25b3192e431edfb",
"actual_cloud_readback_verified": true
}
@@ -0,0 +1,26 @@
{
"file": "RESTORE.md",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "1Z53G1Q4nsCodIrQGCLI6kLfzcqO3AK6i",
"title": "cold-stages-r03-RESTORE.md",
"file_name": "cold-stages-r03-RESTORE.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/1Z53G1Q4nsCodIrQGCLI6kLfzcqO3AK6i/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "1Z53G1Q4nsCodIrQGCLI6kLfzcqO3AK6i",
"title": "cold-stages-r03-RESTORE.md",
"file_name": "cold-stages-r03-RESTORE.md",
"mime_type": "text/markdown",
"url": "https://drive.google.com/file/d/1Z53G1Q4nsCodIrQGCLI6kLfzcqO3AK6i/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"bytes": 1275,
"sha256": "0ef45440cbf1ba633d979796e3aa70a0212c65918de4a882d5968115c0bb094a",
"actual_cloud_readback_verified": true
}
@@ -0,0 +1,26 @@
{
"file": "restore.py",
"cloud": {
"accepted_input": "file_uri",
"success": true,
"id": "10V61yHrC2yXJgU5FfevVg5vBsWx1leBu",
"title": "cold-stages-r03-restore.py",
"file_name": "cold-stages-r03-restore.py",
"mime_type": "text/plain",
"url": "https://drive.google.com/file/d/10V61yHrC2yXJgU5FfevVg5vBsWx1leBu/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK",
"structuredContent": {
"accepted_input": "file_uri",
"success": true,
"id": "10V61yHrC2yXJgU5FfevVg5vBsWx1leBu",
"title": "cold-stages-r03-restore.py",
"file_name": "cold-stages-r03-restore.py",
"mime_type": "text/plain",
"url": "https://drive.google.com/file/d/10V61yHrC2yXJgU5FfevVg5vBsWx1leBu/view?usp=drivesdk",
"parent_id": "1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK"
}
},
"bytes": 1288,
"sha256": "9e5fae33042236e7c863931f6731c8867d89c075d14d28fd45571ee844ccdc4f",
"actual_cloud_readback_verified": true
}
@@ -0,0 +1,9 @@
# 旧版検証用ソース複製14か所の復元
Driveの既存非公開退避フォルダ: https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK
CLOUD_PARTS.jsonのorder順に各ファイルをダウンロードし、各partのbytesとsha256を確認する。数値順にバイト連結したcold-stages-r03.tar.gz全体をPREPARED.jsonのarchive_sha256と照合する。このアーカイブは内容アドレス方式で、MANIFEST.jsonとobjects/<SHA-256>を含む。直接tar展開しただけでは元のstage構成にならない。
同梱restore.pyを `python3 restore.py cold-stages-r03.tar.gz /復元先` で実行する。元に戻す場合の復元先は制作リポジトリのartifacts/original-completion-2026-10-02。既存ファイルへの上書きは拒否する。空の別ディレクトリを使えば安全に復元を確認できる。全ファイルのSHA・サイズを照合し、パス・権限・更新日時を復元する。
対象はMANIFEST.jsonに列挙した旧検証stage/stagesのみ。実行結果・画像・保存・終了記録・現行作業場所・現行候補の証拠は残す。旧版のstageを使う再実行は、復元を完了してから行う。退避によるゲーム完成の加点はない。
@@ -0,0 +1,31 @@
{
"recorded_unix": 1792061992.562457,
"files": 36328,
"logical_bytes": 1833310564,
"allocated_sum": 1949585408,
"cloud_archive_bytes": 116267401,
"free_before_selection": 3406475264,
"free_before_retirement": 2905726976,
"free_after": 3991207936,
"original_files_and_parent_evidence_reverified": true,
"actual_cloud_readback_all_payloads_verified": true,
"retired_only_manifest_members": true,
"temporary_archives_removed_after_verification": true,
"roots": [
"p05-acceptance-partial-r06/stages",
"p23-03-native-impact-19fc3f5-r01/stage",
"p23-03-component-impact-19fc3f5-r01/stage",
"p23-03-final-regression-49445d4-r01/stage",
"p08-03-native-os-r09/stage",
"p08-03-native-os-fd643f5-r10/stage",
"p08-03-native-f5f85ae-r16/stage",
"p08-03-final-regression-f5f85ae-r01/stage",
"p08-03-final-regression-fd643f5-r01/stage",
"p03-midpoint-restart-r03/stages",
"p03-midpoint-restart-r04/stages",
"p03-midpoint-restart-r05/stages",
"p03-formal13-ui-to14-final-r01/stages",
"p03-formal13-ui-to14-final-r02/stages"
],
"formal_credit": 0
}
@@ -0,0 +1,21 @@
exec(open('/private/tmp/tree-offload-cold-stage-r03.py').read().split("if __name__")[0])
m=json.loads((D/'MANIFEST.json').read_bytes());rows=m['members'];p=T/'cold-stages-r03.tar.gz';assert not (D/'PREPARED.json').exists()
# The interrupted staging archive was never uploaded or accepted. Sources are untouched.
p.unlink();idle();assert inv()==rows
objects={x['sha256']:x for x in rows if x['type']=='file'}
with tarfile.open(p,'w:gz',compresslevel=6)as t:
for h,x in sorted(objects.items()):t.add(B/x['path'],arcname='objects/'+h,recursive=False)
payload=(D/'MANIFEST.json').read_bytes();i=tarfile.TarInfo('MANIFEST.json');i.size=len(payload);t.addfile(i,io.BytesIO(payload))
with tarfile.open(p,'r:gz')as t:
assert len(t.getmembers())==len(objects)+1
assert t.extractfile('MANIFEST.json').read()==payload
for h,x in objects.items():assert hashlib.sha256(t.extractfile('objects/'+h).read()).hexdigest()==h
assert inv()==rows
parts=[]
with p.open('rb')as f:
for i in range(1000):
v=f.read(32*1024**2)
if not v:break
q=T/f'cold-stages-r03.tar.gz.part-{i:04d}';q.write_bytes(v);parts.append(dict(order=i,path=str(q),bytes=len(v),sha256=sha(q)))
save(D/'PREPARED.json',dict(format='content-addressed-tar-v1',archive=str(p),archive_bytes=p.stat().st_size,archive_sha256=sha(p),parts=parts,unique_payloads=len(objects),source_unchanged=True,all_members_verified=True))
print(json.dumps(dict(files=m['files'],logical_bytes=m['logical_bytes'],unique_bytes=sum(x['bytes']for x in objects.values()),archive_bytes=p.stat().st_size,parts=len(parts))),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,22 @@
exec(open('/private/tmp/tree-offload-cold-stage-r03.py').read().split("if __name__")[0])
m=json.loads((D/'MANIFEST.json').read_bytes());p=json.loads((D/'PREPARED.json').read_bytes());v=json.loads((D/'CLOUD_ARCHIVE_VERIFIED.json').read_bytes());assert v['actual_cloud_readback'] and v['whole_archive_sha256']==p['archive_sha256']
for name in ['MANIFEST.json','PREPARED.json','CLOUD_PARTS.json','restore.py','RESTORE.md']:
r=json.loads((D/('READBACK-'+name+'.json')).read_bytes());assert r['actual_cloud_readback_verified'] and sha(D/name)==r['sha256']
assert not (D/'RETIREMENT.json').exists();idle();rows=inv();assert rows==m['members']
for x in m['protected_parent_files']:assert sha(Path(x['path']))==x['sha256']
free_before=shutil.disk_usage(R).free
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:
parent=(B/s).parent;pointer=parent/'CLOUD_STAGE_ARCHIVE_R03.json';assert not pointer.exists();save(pointer,dict(state='cloud_archived',original_root=str(B/s),folder_url='https://drive.google.com/drive/folders/1Xa2b6rQmwBFq4jWIDFcJgiCbcNYfWXsK',manifest=str(D/'MANIFEST.json'),cloud_parts=str(D/'CLOUD_PARTS.json'),restore=str(D/'RESTORE.md'),archive_sha256=p['archive_sha256'],scope='Only historical stage copy; local result/image/save/receipt files retained',formal_credit=0))
for x in m['protected_parent_files']:assert sha(Path(x['path']))==x['sha256']
# Remove only manifest-bound, verified owned staging files after originals are cloud-backed.
for i,x in enumerate(p['parts']):
q=Path(x['path']);assert sha(q)==x['sha256'];q.unlink()
q=T/f'readback-{i:04d}.bin';assert sha(q)==x['sha256'];q.unlink()
for q in [Path(p['archive']),T/'cloud-readback.tar.gz']:assert sha(q)==p['archive_sha256'];q.unlink()
result=dict(recorded_unix=time.time(),files=m['files'],logical_bytes=m['logical_bytes'],allocated_sum=m['allocated_sum'],cloud_archive_bytes=p['archive_bytes'],free_before_selection=m['free_before'],free_before_retirement=free_before,free_after=shutil.disk_usage(R).free,original_files_and_parent_evidence_reverified=True,actual_cloud_readback_all_payloads_verified=True,retired_only_manifest_members=True,temporary_archives_removed_after_verification=True,roots=roots,formal_credit=0)
save(D/'RETIREMENT.json',result)
print(json.dumps(result),flush=True)
@@ -0,0 +1,54 @@
from pathlib import Path
import hashlib,json,os,subprocess,tarfile,io,shutil,time,sys
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-stages-r03-20261015';T=Path('/private/tmp/tree-offload-cold-stage-r03')
roots=['p05-acceptance-partial-r06/stages','p23-03-native-impact-19fc3f5-r01/stage','p23-03-component-impact-19fc3f5-r01/stage','p23-03-final-regression-49445d4-r01/stage','p08-03-native-os-r09/stage','p08-03-native-os-fd643f5-r10/stage','p08-03-native-f5f85ae-r16/stage','p08-03-final-regression-f5f85ae-r01/stage','p08-03-final-regression-fd643f5-r01/stage','p03-midpoint-restart-r03/stages','p03-midpoint-restart-r04/stages','p03-midpoint-restart-r05/stages','p03-formal13-ui-to14-final-r01/stages','p03-formal13-ui-to14-final-r02/stages']
def sha(p):
h=hashlib.sha256()
with p.open('rb') as f:
for x in iter(lambda:f.read(1048576),b''):h.update(x)
return h.hexdigest()
def save(p,v):p.write_text(json.dumps(v,ensure_ascii=False,indent=2)+'\n')
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_dir() or x.is_file())
a=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():a.update(bytes=st.st_size,sha256=sha(x),allocated=st.st_blocks*512)
rows.append(a)
return rows
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 line for line in ps.splitlines())
assert not any(line.startswith('n'+str(B/s)+'/') for line in opened.splitlines())
assert not subprocess.check_output(['git','-C',str(R),'ls-files','--',str(B/s)],text=True).strip()
def build():
assert not D.exists() and not T.exists();D.mkdir();T.mkdir();idle();before=shutil.disk_usage(R).free;assert before>1024**3
rows=inv();protected=[]
for s in roots:
for x in sorted((B/s).parent.iterdir()):
if x.is_file():protected.append(dict(path=str(x),sha256=sha(x)))
m=dict(schema='tree-cold-stage-offload-r03',base=str(B),roots=roots,members=rows,protected_parent_files=protected,files=sum(x['type']=='file' for x in rows),logical_bytes=sum(x.get('bytes',0)for x in rows),allocated_sum=sum(x.get('allocated',0)for x in rows),free_before=before,created=time.time(),reason='Idle historical verification source copies only. Product worktrees, current candidate, outcome logs, images, receipts and saves retained. Cloud restoration required before rerunning these historical staged copies.',formal_credit=0)
save(D/'MANIFEST.json',m);payload=(D/'MANIFEST.json').read_bytes();a=T/'cold-stages-r03.tar.gz'
with tarfile.open(a,'w:gz',compresslevel=6,format=tarfile.PAX_FORMAT)as t:
for x in rows:t.add(B/x['path'],arcname=x['path'],recursive=False)
h=tarfile.TarInfo('__OFFLOAD_MANIFEST__.json');h.size=len(payload);t.addfile(h,io.BytesIO(payload))
with tarfile.open(a,'r:gz')as t:
assert len(t.getmembers())==len(rows)+1
assert t.extractfile('__OFFLOAD_MANIFEST__.json').read()==payload
for x in rows:
e=t.getmember(x['path'])
if x['type']=='file':assert hashlib.sha256(t.extractfile(e).read()).hexdigest()==x['sha256']
assert inv()==rows
parts=[]
with a.open('rb')as f:
for i in range(10000):
v=f.read(32*1024**2)
if not v:break
p=T/f'cold-stages-r03.tar.gz.part-{i:04d}';p.write_bytes(v);parts.append(dict(order=i,path=str(p),bytes=len(v),sha256=sha(p)))
save(D/'PREPARED.json',dict(archive=str(a),archive_bytes=a.stat().st_size,archive_sha256=sha(a),parts=parts,source_unchanged=True,all_members_verified=True))
print(json.dumps(dict(doc=str(D),files=m['files'],logical_bytes=m['logical_bytes'],allocated_sum=m['allocated_sum'],archive_bytes=a.stat().st_size,parts=len(parts))),flush=True)
if __name__=='__main__':build()
@@ -0,0 +1,12 @@
exec(open('/private/tmp/tree-offload-cold-stage-r03.py').read().split("if __name__")[0])
p=json.loads((D/'PREPARED.json').read_bytes());m=json.loads((D/'MANIFEST.json').read_bytes());parts=[json.loads((T/f'cloud-{i:04d}.json').read_bytes())for i in range(4)];a=T/'cloud-readback.tar.gz'
with a.open('xb')as out:
for i,x in enumerate(parts):
q=T/f'readback-{i:04d}.bin';assert x['verified'] and x['bytes']==q.stat().st_size and sha(q)==x['sha256']==p['parts'][i]['sha256'];out.write(q.read_bytes())
assert a.stat().st_size==p['archive_bytes'] and sha(a)==p['archive_sha256']
objects={x['sha256']:x for x in m['members'] if x['type']=='file'}
with tarfile.open(a,'r:gz')as t:
assert t.extractfile('MANIFEST.json').read()==(D/'MANIFEST.json').read_bytes();assert len(t.getmembers())==len(objects)+1
for h,x in objects.items():assert hashlib.sha256(t.extractfile('objects/'+h).read()).hexdigest()==h
save(D/'CLOUD_PARTS.json',parts);save(D/'CLOUD_ARCHIVE_VERIFIED.json',dict(whole_archive_sha256=sha(a),bytes=a.stat().st_size,all_unique_payloads_verified=len(objects),original_file_mappings_verified=m['files'],manifest_identical=True,actual_cloud_readback=True,formal_credit=0))
print('Cloud readback entire archive and all original mappings verified')
@@ -0,0 +1,76 @@
{
"roots": [
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-final-72a762cf",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-integration-cd1274dc",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-371d8aef",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-ce2291ae",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-093a2cf6",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-2e233208",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-3dad351e",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-4e2658ac",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-8c6fdd1f",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-bc5856ba",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-c18cf88c",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-final-01319d20",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-integration-f1ef0462",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-12e6c041",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3b28affe",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3f3dfc51",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3fe2dd53",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-550deb2e",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-67a02ef9",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-811cda4c",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-a129ff11",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-a63dc887",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-aae0c548",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-b690ee7b",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-cee90f24",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-d7628767",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-f9b772e4",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-evidence-review-959e0cc6",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-final-997fbc67",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-integration-c0e7a7b6",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-review-07868afe",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-2be7954f",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-30b59553",
"/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-919576df"
],
"excluded": [
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-2ecdb277",
"reason": "dirty/untracked/ignored; retain untouched"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-c36607d5",
"reason": "dirty/untracked/ignored; retain untouched"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-d137e8d8",
"reason": "dirty/untracked/ignored; retain untouched"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-review-semantic-25b9e45a",
"reason": "dirty/untracked/ignored; retain untouched"
}
],
"Runner_projects": [
{
"project": "the-tree-p08-02",
"original_unit": "P08-02",
"original_unit_completed": true,
"running_runs": 0
},
{
"project": "the-tree-p08-03-code",
"original_unit": "P08-03",
"original_unit_completed": true,
"running_runs": 0
},
{
"project": "the-tree-p24-03-code",
"original_unit": "P24-03",
"original_unit_completed": true,
"running_runs": 0
}
]
}
@@ -0,0 +1,16 @@
{
"full_catalog_member": "MANIFEST.json.gz",
"bytes": 6669750,
"sha256": "9ac0dccbf3df0c513b68fec6de22523cb7cf9c8b836d483e939f93bae20fbcaa",
"cloud_restore_kit": {
"part": 7,
"id": "1GvVPcYK4bowANv9X9awUUzBWVmW4aYTr",
"url": "https://drive.google.com/file/d/1GvVPcYK4bowANv9X9awUUzBWVmW4aYTr/view?usp=drivesdk",
"bytes": 6676299,
"sha256": "d5b268fb83b1f2c73d00f7f323a72477f85a5f7ca9a8454fe7ba9b4f06e0b49b",
"full_readback_verified": true
},
"local_catalog_needed_for_active_work": false,
"local_catalog_retained": false,
"why": "Full catalog remains in fully readback-verified Drive restore kit. Keep instructions and pins locally; avoid duplicating the catalog into every future Git checkout. Download/extract kit before restore.py or all-source re-audit."
}
@@ -0,0 +1,73 @@
{
"parts": [
{
"part": 0,
"id": "1-xhb51N7RLjzeIvsL9FnkY2DjuJBaowS",
"url": "https://drive.google.com/file/d/1-xhb51N7RLjzeIvsL9FnkY2DjuJBaowS/view?usp=drivesdk",
"bytes": 16777216,
"sha256": "4bdcee4b11d7a9410f7d3e2351a0645f8e42fbcab950595599d57ce3a6b09a55",
"full_readback_verified": true
},
{
"part": 1,
"id": "1WKBjd0yMChgUVXV4hCJxWNAR8lvvTB7a",
"url": "https://drive.google.com/file/d/1WKBjd0yMChgUVXV4hCJxWNAR8lvvTB7a/view?usp=drivesdk",
"bytes": 16777216,
"sha256": "d5ee27a5a657cbed09b01039dc19fec913039de20241cc688d01db5a2b72ea9e",
"full_readback_verified": true
},
{
"part": 2,
"id": "1HkLcuQREGN1wk9OC5VWPHElk5h85dY_2",
"url": "https://drive.google.com/file/d/1HkLcuQREGN1wk9OC5VWPHElk5h85dY_2/view?usp=drivesdk",
"bytes": 16777216,
"sha256": "a1da61b582a5e6b39605c51fe9f46661eee6721981de04cf88251f1debddd238",
"full_readback_verified": true
},
{
"part": 3,
"id": "1FgB1FYi1KJ2qLgU4wO7IRyW9O-ajBmmV",
"url": "https://drive.google.com/file/d/1FgB1FYi1KJ2qLgU4wO7IRyW9O-ajBmmV/view?usp=drivesdk",
"bytes": 16777216,
"sha256": "20d892cd4dd80a4fb5f2ef983bebea43869a8bbe117ff75013608f0914592dce",
"full_readback_verified": true
},
{
"part": 4,
"id": "1vShc-bK2agh5h189ruOrf7F8v8K_hoKD",
"url": "https://drive.google.com/file/d/1vShc-bK2agh5h189ruOrf7F8v8K_hoKD/view?usp=drivesdk",
"bytes": 16777216,
"sha256": "65e0753e6c30ad81a4aa311de5cfbbaa4b37130ff9898f9cea9d4f3f65afd4f0",
"full_readback_verified": true
},
{
"part": 5,
"id": "1wPyjVZdgYn5DxSp9N6-x3CNHVam7LGAS",
"url": "https://drive.google.com/file/d/1wPyjVZdgYn5DxSp9N6-x3CNHVam7LGAS/view?usp=drivesdk",
"bytes": 16777216,
"sha256": "d5720a1030b21ab9dc38054e4a2008f78796763c25df9ca853792d4c8d19fd6f",
"full_readback_verified": true
},
{
"part": 6,
"id": "1f3o0_A4JlHvMKN2clmM2JC3RVwdP8wvs",
"url": "https://drive.google.com/file/d/1f3o0_A4JlHvMKN2clmM2JC3RVwdP8wvs/view?usp=drivesdk",
"bytes": 7583096,
"sha256": "b9b3338164e44b560fc4294d90ebe74ff2bfc5fe42bf9c814c00d1c4def35781",
"full_readback_verified": true
}
],
"restore_kit": {
"part": 7,
"id": "1GvVPcYK4bowANv9X9awUUzBWVmW4aYTr",
"url": "https://drive.google.com/file/d/1GvVPcYK4bowANv9X9awUUzBWVmW4aYTr/view?usp=drivesdk",
"bytes": 6676299,
"sha256": "d5b268fb83b1f2c73d00f7f323a72477f85a5f7ca9a8454fe7ba9b4f06e0b49b",
"full_readback_verified": true
},
"whole_archive_sha256": "ee4f43a728e1661c4b4f6014677870346ee66cd49325ea87f5f59fede0534e3e",
"whole_archive_bytes": 108246392,
"all_cloud_part_bytes_verified": true,
"all_eight_cloud_files_full_readback_verified": true,
"source_not_removed": true
}
@@ -0,0 +1,119 @@
{
"origin_main_at_pack": "8af0d5af8c4a15f6b7130617dbaa78ed736e604a",
"commits": [
{
"head": "c675bed91d694a18abbddac85013eb5b443bdca1",
"reachable_from_origin_main": true
},
{
"head": "bf559632ddd938085702529d9dd6b7c878f4ebc7",
"reachable_from_origin_main": true
},
{
"head": "d1c7ce27d21a77be87081e12d20e7c8dd6ffa353",
"reachable_from_origin_main": true
},
{
"head": "e59206b9b2578ddb4a1ec023f836d413a7a8fbfb",
"reachable_from_origin_main": true
},
{
"head": "1545bd42d689a9a6382e2b003ee0550fa197f6e4",
"reachable_from_origin_main": true
},
{
"head": "6c7c724410c350afe3d49fa8ec52defe20e78041",
"reachable_from_origin_main": true
},
{
"head": "bb34f443c4645a56d7798a142f1e2d8ddf615cae",
"reachable_from_origin_main": true
},
{
"head": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"reachable_from_origin_main": true
},
{
"head": "027861b765d55878eaf5b552600c407913dcc485",
"reachable_from_origin_main": true
},
{
"head": "f5f85ae08c1c6c9c1ec511f13a7215170d7d8d49",
"reachable_from_origin_main": true
},
{
"head": "7dde98ccb749cbd1c1b82e066b59350e73191400",
"reachable_from_origin_main": true
},
{
"head": "fd643f55a271e63c554b94681454d357117c0678",
"reachable_from_origin_main": true
},
{
"head": "4f3b42dfeca478d2398407373d75b529eb76fcf0",
"reachable_from_origin_main": true
},
{
"head": "7dd450c64c897fc8e9e6bbd9fa242f28f42cb1af",
"reachable_from_origin_main": true
},
{
"head": "4a17d0e0f589fa76d81f1d4630ec45c63bac21ab",
"reachable_from_origin_main": true
},
{
"head": "1f0a2bcd53c3f9fdf057e7916871cf5b42145c55",
"reachable_from_origin_main": true
},
{
"head": "31aa7706d28a92e313c432d5a62e35d19503dcc3",
"reachable_from_origin_main": true
},
{
"head": "8e3d79d5f2068fbe71c0ef7252540548d75b3d1e",
"reachable_from_origin_main": true
},
{
"head": "0c5e0022f2d809e4735804f67582b9c96a1dc025",
"reachable_from_origin_main": true
},
{
"head": "7e2368f5c453a3900ba1bb038d7138d25f7eb4fb",
"reachable_from_origin_main": true
},
{
"head": "c2b59f04f94dda0a61991ec3bb7f0e946196f995",
"reachable_from_origin_main": true
},
{
"head": "d369d1c399f7506bdb8d980b642ad0da216d14f4",
"reachable_from_origin_main": true
},
{
"head": "d01286360ee88046e06b80d840fc303a71e0d661",
"reachable_from_origin_main": true
},
{
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4",
"reachable_from_origin_main": true
},
{
"head": "0a759f13aed03c05fd4a25ab4a2c26eefec94e3c",
"reachable_from_origin_main": true
},
{
"head": "c2b8772e237597930e67f1329d8b61143614a244",
"reachable_from_origin_main": true
},
{
"head": "9c711860a82d597a48dab595a49d4f23c5f3c370",
"reachable_from_origin_main": true
}
],
"archive": {
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.git-bundles.tar.gz",
"bytes": 85,
"sha256": "dbb44697fc57a335c1f6c0f735b500539e805f4a92f1b32eb772c419891f7880"
},
"purpose": "Retain unreachable commit objects; reachable HEADs are in fullmain history. All source bytes separately preserved."
}
@@ -0,0 +1,230 @@
{
"source_initial_free_bytes": 4015747072,
"source_logical_bytes": 4994674198,
"unique_content_bytes": 166637656,
"file_count": 115060,
"roots": [
{
"name": "P08-02-final-72a762cf",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-final-72a762cf",
"head": "c675bed91d694a18abbddac85013eb5b443bdca1"
},
{
"name": "P08-02-integration-cd1274dc",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-integration-cd1274dc",
"head": "c675bed91d694a18abbddac85013eb5b443bdca1"
},
{
"name": "P08-02-review-371d8aef",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-371d8aef",
"head": "bf559632ddd938085702529d9dd6b7c878f4ebc7"
},
{
"name": "P08-02-review-ce2291ae",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-ce2291ae",
"head": "d1c7ce27d21a77be87081e12d20e7c8dd6ffa353"
},
{
"name": "P08-02-validation-093a2cf6",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-093a2cf6",
"head": "bf559632ddd938085702529d9dd6b7c878f4ebc7"
},
{
"name": "P08-02-validation-2e233208",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-2e233208",
"head": "e59206b9b2578ddb4a1ec023f836d413a7a8fbfb"
},
{
"name": "P08-02-validation-3dad351e",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-3dad351e",
"head": "1545bd42d689a9a6382e2b003ee0550fa197f6e4"
},
{
"name": "P08-02-validation-4e2658ac",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-4e2658ac",
"head": "d1c7ce27d21a77be87081e12d20e7c8dd6ffa353"
},
{
"name": "P08-02-validation-8c6fdd1f",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-8c6fdd1f",
"head": "6c7c724410c350afe3d49fa8ec52defe20e78041"
},
{
"name": "P08-02-validation-bc5856ba",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-bc5856ba",
"head": "bb34f443c4645a56d7798a142f1e2d8ddf615cae"
},
{
"name": "P08-02-validation-c18cf88c",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-c18cf88c",
"head": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9"
},
{
"name": "P08-03-final-01319d20",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-final-01319d20",
"head": "027861b765d55878eaf5b552600c407913dcc485"
},
{
"name": "P08-03-integration-f1ef0462",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-integration-f1ef0462",
"head": "027861b765d55878eaf5b552600c407913dcc485"
},
{
"name": "P08-03-validation-12e6c041",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-12e6c041",
"head": "f5f85ae08c1c6c9c1ec511f13a7215170d7d8d49"
},
{
"name": "P08-03-validation-3b28affe",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3b28affe",
"head": "7dde98ccb749cbd1c1b82e066b59350e73191400"
},
{
"name": "P08-03-validation-3f3dfc51",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3f3dfc51",
"head": "fd643f55a271e63c554b94681454d357117c0678"
},
{
"name": "P08-03-validation-3fe2dd53",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3fe2dd53",
"head": "4f3b42dfeca478d2398407373d75b529eb76fcf0"
},
{
"name": "P08-03-validation-550deb2e",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-550deb2e",
"head": "7dd450c64c897fc8e9e6bbd9fa242f28f42cb1af"
},
{
"name": "P08-03-validation-67a02ef9",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-67a02ef9",
"head": "4a17d0e0f589fa76d81f1d4630ec45c63bac21ab"
},
{
"name": "P08-03-validation-811cda4c",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-811cda4c",
"head": "1f0a2bcd53c3f9fdf057e7916871cf5b42145c55"
},
{
"name": "P08-03-validation-a129ff11",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-a129ff11",
"head": "31aa7706d28a92e313c432d5a62e35d19503dcc3"
},
{
"name": "P08-03-validation-a63dc887",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-a63dc887",
"head": "8e3d79d5f2068fbe71c0ef7252540548d75b3d1e"
},
{
"name": "P08-03-validation-aae0c548",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-aae0c548",
"head": "0c5e0022f2d809e4735804f67582b9c96a1dc025"
},
{
"name": "P08-03-validation-b690ee7b",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-b690ee7b",
"head": "7e2368f5c453a3900ba1bb038d7138d25f7eb4fb"
},
{
"name": "P08-03-validation-cee90f24",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-cee90f24",
"head": "c2b59f04f94dda0a61991ec3bb7f0e946196f995"
},
{
"name": "P08-03-validation-d7628767",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-d7628767",
"head": "d369d1c399f7506bdb8d980b642ad0da216d14f4"
},
{
"name": "P08-03-validation-f9b772e4",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-f9b772e4",
"head": "d01286360ee88046e06b80d840fc303a71e0d661"
},
{
"name": "P24-03-evidence-review-959e0cc6",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-evidence-review-959e0cc6",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4"
},
{
"name": "P24-03-final-997fbc67",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-final-997fbc67",
"head": "0a759f13aed03c05fd4a25ab4a2c26eefec94e3c"
},
{
"name": "P24-03-integration-c0e7a7b6",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-integration-c0e7a7b6",
"head": "0a759f13aed03c05fd4a25ab4a2c26eefec94e3c"
},
{
"name": "P24-03-review-07868afe",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-review-07868afe",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4"
},
{
"name": "P24-03-validation-2be7954f",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-2be7954f",
"head": "c2b8772e237597930e67f1329d8b61143614a244"
},
{
"name": "P24-03-validation-30b59553",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-30b59553",
"head": "9c711860a82d597a48dab595a49d4f23c5f3c370"
},
{
"name": "P24-03-validation-919576df",
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-919576df",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4"
}
],
"archive": {
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.cas.tar.gz",
"bytes": 108246392,
"sha256": "ee4f43a728e1661c4b4f6014677870346ee66cd49325ea87f5f59fede0534e3e"
},
"manifest": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/plans/original-completion-2026-10-02/execution/drive-offload-completed-checkouts-r14-20261016/MANIFEST.json.gz",
"bytes": 6669750,
"sha256": "9ac0dccbf3df0c513b68fec6de22523cb7cf9c8b836d483e939f93bae20fbcaa"
},
"upload_parts": [
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.cas.tar.gz.part000",
"bytes": 16777216,
"sha256": "4bdcee4b11d7a9410f7d3e2351a0645f8e42fbcab950595599d57ce3a6b09a55"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.cas.tar.gz.part001",
"bytes": 16777216,
"sha256": "d5ee27a5a657cbed09b01039dc19fec913039de20241cc688d01db5a2b72ea9e"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.cas.tar.gz.part002",
"bytes": 16777216,
"sha256": "a1da61b582a5e6b39605c51fe9f46661eee6721981de04cf88251f1debddd238"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.cas.tar.gz.part003",
"bytes": 16777216,
"sha256": "20d892cd4dd80a4fb5f2ef983bebea43869a8bbe117ff75013608f0914592dce"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.cas.tar.gz.part004",
"bytes": 16777216,
"sha256": "65e0753e6c30ad81a4aa311de5cfbbaa4b37130ff9898f9cea9d4f3f65afd4f0"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.cas.tar.gz.part005",
"bytes": 16777216,
"sha256": "d5720a1030b21ab9dc38054e4a2008f78796763c25df9ca853792d4c8d19fd6f"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.cas.tar.gz.part006",
"bytes": 7583096,
"sha256": "b9b3338164e44b560fc4294d90ebe74ff2bfc5fe42bf9c814c00d1c4def35781"
}
],
"local_tar_all_blobs_roundtrip": true,
"prepared_seconds": 158.33660697937012,
"free_after_preparation": 3797897216,
"source_removed": false,
"retirement_requires_cloud_full_readback_and_source_recheck": true
}
@@ -0,0 +1,25 @@
# 完了済み成果単位の終了checkout34個の退避・復元
対象はCANDIDATES.jsonとPREPARATION.jsonの34個だけ。P08-02/P08-03/P24-03は原成果台帳でcompleted、各Runner稼働0。変更・追加/ignoredのある4個と全implement/build/native原raw/cache/saveは保持する。
全115,060file / 4,994,674,198byteをSHA重複排除し、108,246,392byteのCAS tar.gzに全内容保持。全file mode/mtime_ns、directories、Git HEAD、必要なGit bundlesを保持する。
Driveのpart000〜part006とrestore-kit.zipを同じ空フォルダへダウンロードし、kitを展開する。
7partを番号順にバイナリ連結しcompleted-checkouts-r14.cas.tar.gzを作る。
全体SHA256: ee4f43a728e1661c4b4f6014677870346ee66cd49325ea87f5f59fede0534e3e
全内容の検証のみ(source生成なし):
```
python3 restore.py --archive completed-checkouts-r14.cas.tar.gz --verify-only
```
全main履歴のあるrepoで元のグループ/名前へGit復元(既存checkout上書き拒否):
```
python3 restore.py --archive completed-checkouts-r14.cas.tar.gz --repo '/Users/korizatou114/Projects/とりにく工房ゲーム制作部' --destination-base '/Users/korizatou114/Projects/TheTree-managed-worktrees'
```
Gitなしで全fileだけ新規parentの元グループ/名前へ復元:
```
python3 restore.py --archive completed-checkouts-r14.cas.tar.gz --files-only --destination-base '/absolute/fresh-restored-parent'
```
Git版受入の再現にはGit復元を使う。.git管理pointerは正常なgit worktree addで再作成する。
restore.pyは全archive SHA/全blob/全manifest参照を検証し、復元後も全file SHA/size/mtimeを照合する。
全クラウドbyte読み戻し一致・元source全SHA再照合・終了/clean/未使用の再確認後にだけ正常なgit worktree removeを使用。共有設定/権限/課金は変更しない。
元checkout削減とこのrun専用pack後始末の空き増分は別々に実測する。
@@ -0,0 +1,6 @@
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/.runtime/offload-validation-r14-20261016/completed-checkouts-r14.restore-kit.zip",
"bytes": 6676299,
"sha256": "d5b268fb83b1f2c73d00f7f323a72477f85a5f7ca9a8454fe7ba9b4f06e0b49b",
"all_zip_members_checked": true
}
@@ -0,0 +1,161 @@
{
"removed_ended_completed_unit_checkouts": [
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-final-72a762cf",
"head": "c675bed91d694a18abbddac85013eb5b443bdca1"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-integration-cd1274dc",
"head": "c675bed91d694a18abbddac85013eb5b443bdca1"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-371d8aef",
"head": "bf559632ddd938085702529d9dd6b7c878f4ebc7"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-ce2291ae",
"head": "d1c7ce27d21a77be87081e12d20e7c8dd6ffa353"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-093a2cf6",
"head": "bf559632ddd938085702529d9dd6b7c878f4ebc7"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-2e233208",
"head": "e59206b9b2578ddb4a1ec023f836d413a7a8fbfb"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-3dad351e",
"head": "1545bd42d689a9a6382e2b003ee0550fa197f6e4"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-4e2658ac",
"head": "d1c7ce27d21a77be87081e12d20e7c8dd6ffa353"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-8c6fdd1f",
"head": "6c7c724410c350afe3d49fa8ec52defe20e78041"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-bc5856ba",
"head": "bb34f443c4645a56d7798a142f1e2d8ddf615cae"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-c18cf88c",
"head": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-final-01319d20",
"head": "027861b765d55878eaf5b552600c407913dcc485"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-integration-f1ef0462",
"head": "027861b765d55878eaf5b552600c407913dcc485"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-12e6c041",
"head": "f5f85ae08c1c6c9c1ec511f13a7215170d7d8d49"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3b28affe",
"head": "7dde98ccb749cbd1c1b82e066b59350e73191400"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3f3dfc51",
"head": "fd643f55a271e63c554b94681454d357117c0678"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3fe2dd53",
"head": "4f3b42dfeca478d2398407373d75b529eb76fcf0"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-550deb2e",
"head": "7dd450c64c897fc8e9e6bbd9fa242f28f42cb1af"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-67a02ef9",
"head": "4a17d0e0f589fa76d81f1d4630ec45c63bac21ab"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-811cda4c",
"head": "1f0a2bcd53c3f9fdf057e7916871cf5b42145c55"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-a129ff11",
"head": "31aa7706d28a92e313c432d5a62e35d19503dcc3"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-a63dc887",
"head": "8e3d79d5f2068fbe71c0ef7252540548d75b3d1e"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-aae0c548",
"head": "0c5e0022f2d809e4735804f67582b9c96a1dc025"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-b690ee7b",
"head": "7e2368f5c453a3900ba1bb038d7138d25f7eb4fb"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-cee90f24",
"head": "c2b59f04f94dda0a61991ec3bb7f0e946196f995"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-d7628767",
"head": "d369d1c399f7506bdb8d980b642ad0da216d14f4"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-f9b772e4",
"head": "d01286360ee88046e06b80d840fc303a71e0d661"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-evidence-review-959e0cc6",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-final-997fbc67",
"head": "0a759f13aed03c05fd4a25ab4a2c26eefec94e3c"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-integration-c0e7a7b6",
"head": "0a759f13aed03c05fd4a25ab4a2c26eefec94e3c"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-review-07868afe",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-2be7954f",
"head": "c2b8772e237597930e67f1329d8b61143614a244"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-30b59553",
"head": "9c711860a82d597a48dab595a49d4f23c5f3c370"
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-919576df",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4"
}
],
"source_file_count": 115060,
"source_logical_bytes": 4994674198,
"cloud_all_bytes_verified": true,
"source_files_all_rehashed_before_normal_git_worktree_remove": true,
"before_sources_free_bytes": 3773890560,
"after_sources_free_bytes": 8158593024,
"observed_source_retirement_free_delta_bytes": 4384702464,
"temporary_pack_logical_bytes_removed": 223169168,
"after_own_temporary_cleanup_free_bytes": 8381841408,
"own_temporary_cleanup_observed_delta_bytes": 223248384,
"measurement_note": "Source retirement interval excludes cleanup of this run own archive/parts/bundles/kit. Free-space deltas are observed intervals and may include concurrent OS activity, not logical byte totals. Current implementation/build/native raw/cache/default saves are retained.",
"concurrent_isolated_implementation": [
[
"24d43100b6dc47d784ed6bac550c501a",
"P04-01",
"implementer",
16771
]
],
"elapsed_seconds": 22.53618597984314,
"recorded_at": "2026-10-15T20:17:45.196571+00:00"
}
@@ -0,0 +1,244 @@
{
"checks": [
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-final-72a762cf",
"head": "c675bed91d694a18abbddac85013eb5b443bdca1",
"all_files_rehashed": 3457,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-integration-cd1274dc",
"head": "c675bed91d694a18abbddac85013eb5b443bdca1",
"all_files_rehashed": 3457,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-371d8aef",
"head": "bf559632ddd938085702529d9dd6b7c878f4ebc7",
"all_files_rehashed": 3322,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-review-ce2291ae",
"head": "d1c7ce27d21a77be87081e12d20e7c8dd6ffa353",
"all_files_rehashed": 3321,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-093a2cf6",
"head": "bf559632ddd938085702529d9dd6b7c878f4ebc7",
"all_files_rehashed": 3322,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-2e233208",
"head": "e59206b9b2578ddb4a1ec023f836d413a7a8fbfb",
"all_files_rehashed": 3320,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-3dad351e",
"head": "1545bd42d689a9a6382e2b003ee0550fa197f6e4",
"all_files_rehashed": 3321,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-4e2658ac",
"head": "d1c7ce27d21a77be87081e12d20e7c8dd6ffa353",
"all_files_rehashed": 3321,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-8c6fdd1f",
"head": "6c7c724410c350afe3d49fa8ec52defe20e78041",
"all_files_rehashed": 3315,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-bc5856ba",
"head": "bb34f443c4645a56d7798a142f1e2d8ddf615cae",
"all_files_rehashed": 3321,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-02/P08-02-validation-c18cf88c",
"head": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"all_files_rehashed": 3321,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-final-01319d20",
"head": "027861b765d55878eaf5b552600c407913dcc485",
"all_files_rehashed": 3747,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-integration-f1ef0462",
"head": "027861b765d55878eaf5b552600c407913dcc485",
"all_files_rehashed": 3747,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-12e6c041",
"head": "f5f85ae08c1c6c9c1ec511f13a7215170d7d8d49",
"all_files_rehashed": 3693,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3b28affe",
"head": "7dde98ccb749cbd1c1b82e066b59350e73191400",
"all_files_rehashed": 3544,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3f3dfc51",
"head": "fd643f55a271e63c554b94681454d357117c0678",
"all_files_rehashed": 3693,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-3fe2dd53",
"head": "4f3b42dfeca478d2398407373d75b529eb76fcf0",
"all_files_rehashed": 3533,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-550deb2e",
"head": "7dd450c64c897fc8e9e6bbd9fa242f28f42cb1af",
"all_files_rehashed": 3489,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-67a02ef9",
"head": "4a17d0e0f589fa76d81f1d4630ec45c63bac21ab",
"all_files_rehashed": 3501,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-811cda4c",
"head": "1f0a2bcd53c3f9fdf057e7916871cf5b42145c55",
"all_files_rehashed": 3525,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-a129ff11",
"head": "31aa7706d28a92e313c432d5a62e35d19503dcc3",
"all_files_rehashed": 3537,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-a63dc887",
"head": "8e3d79d5f2068fbe71c0ef7252540548d75b3d1e",
"all_files_rehashed": 3495,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-aae0c548",
"head": "0c5e0022f2d809e4735804f67582b9c96a1dc025",
"all_files_rehashed": 3517,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-b690ee7b",
"head": "7e2368f5c453a3900ba1bb038d7138d25f7eb4fb",
"all_files_rehashed": 3543,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-cee90f24",
"head": "c2b59f04f94dda0a61991ec3bb7f0e946196f995",
"all_files_rehashed": 3492,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-d7628767",
"head": "d369d1c399f7506bdb8d980b642ad0da216d14f4",
"all_files_rehashed": 3693,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p08-03-code/P08-03-validation-f9b772e4",
"head": "d01286360ee88046e06b80d840fc303a71e0d661",
"all_files_rehashed": 3512,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-evidence-review-959e0cc6",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4",
"all_files_rehashed": 2965,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-final-997fbc67",
"head": "0a759f13aed03c05fd4a25ab4a2c26eefec94e3c",
"all_files_rehashed": 3092,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-integration-c0e7a7b6",
"head": "0a759f13aed03c05fd4a25ab4a2c26eefec94e3c",
"all_files_rehashed": 3092,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-review-07868afe",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4",
"all_files_rehashed": 2965,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-2be7954f",
"head": "c2b8772e237597930e67f1329d8b61143614a244",
"all_files_rehashed": 2962,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-30b59553",
"head": "9c711860a82d597a48dab595a49d4f23c5f3c370",
"all_files_rehashed": 2960,
"clean": true,
"open_files": false
},
{
"path": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p24-03-code/P24-03-validation-919576df",
"head": "4cefcff849d4dc1211caa5066e24bfae666cc2f4",
"all_files_rehashed": 2965,
"clean": true,
"open_files": false
}
],
"cloud_full_bytes_verified": true,
"all_sources_retained_at_check": true
}
@@ -0,0 +1,44 @@
import pathlib,subprocess,json,hashlib,tarfile,gzip,stat,shutil,os,time,io
R=pathlib.Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');BASE=pathlib.Path('/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01');E=R/'docs/plans/original-completion-2026-10-02/execution/drive-offload-completed-checkouts-r14-20261016';TEMP=BASE/'.runtime/offload-validation-r14-20261016';CANDIDATES=json.loads(pathlib.Path('/private/tmp/p04-completed-checkouts-r14-candidates.json').read_text())
def git(root,*args):return subprocess.check_output(['git','-C',str(root),*args],text=True).strip()
def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest()
assert not E.exists() and not TEMP.exists()
initial=shutil.disk_usage(R).free;started=time.time();roots=[];unique={};total=0
for root_text in CANDIDATES['roots']:
root=pathlib.Path(root_text);name=root.name;assert root.is_dir() and not root.is_symlink();assert not git(root,'status','--porcelain','--untracked-files=all');assert not git(root,'clean','-ndx'),'ignored/untracked content must be classified first'
ps=subprocess.run(['/usr/sbin/lsof','-t','+D',str(root)],capture_output=True,text=True);assert ps.returncode==1 and not ps.stdout.strip(),('open files',name,ps.stdout)
files={};dirs={}
for p in sorted(root.rglob('*')):
rel=p.relative_to(root).as_posix();st=p.lstat();assert not stat.S_ISLNK(st.st_mode),str(p)
if rel=='.git':continue
if p.is_dir():dirs[rel]={'mode':stat.S_IMODE(st.st_mode),'mtime_ns':st.st_mtime_ns};continue
assert p.is_file(),str(p);v=p.read_bytes();h=hashlib.sha256(v).hexdigest();assert len(v)==st.st_size
files[rel]={'bytes':len(v),'sha256':h,'mode':stat.S_IMODE(st.st_mode),'mtime_ns':st.st_mtime_ns};total+=len(v)
unique.setdefault(h,{'source':str(p),'bytes':len(v)})
roots.append({'path':str(root),'name':name,'head':git(root,'rev-parse','HEAD'),'git_pointer':(root/'.git').read_text(),'files':files,'directories':dirs})
unique_bytes=sum(v['bytes'] for v in unique.values());assert shutil.disk_usage(R).free>=1024**3+unique_bytes+64*1024**2
E.mkdir(parents=True);TEMP.mkdir(parents=True)
(E/'CANDIDATES.json').write_text(json.dumps(CANDIDATES,ensure_ascii=False,indent=2)+'\n')
manifest={'protocol':'p04-ended-validation-cas-v1','production_repo':str(R),'scope':'Only 34 ended clean validation/review/integration/final checkouts from completed original units P08-02/P08-03/P24-03; current implementation/build/native raw/cache are excluded. All file bytes and metadata retained; .git administrative pointers are recorded for normal git worktree restoration.','roots':roots,'files':sum(len(v['files']) for v in roots),'logical_bytes':total,'unique_content_bytes':unique_bytes,'unique_blobs':len(unique)}
raw=json.dumps(manifest,ensure_ascii=False,sort_keys=True,separators=(',',':')).encode();mp=E/'MANIFEST.json.gz';mp.write_bytes(gzip.compress(raw,compresslevel=9,mtime=0))
archive=TEMP/'completed-checkouts-r14.cas.tar.gz'
with tarfile.open(archive,'w:gz',compresslevel=6) as tar:
ti=tarfile.TarInfo('manifest.json');ti.size=len(raw);ti.mtime=0;ti.mode=0o644;tar.addfile(ti,io.BytesIO(raw))
for h,v in sorted(unique.items()):
p=pathlib.Path(v['source']);assert sha(p)==h;ti=tarfile.TarInfo('blobs/'+h);ti.size=v['bytes'];ti.mtime=0;ti.mode=0o644
with p.open('rb') as f:tar.addfile(ti,f)
with tarfile.open(archive,'r:gz') as tar:
seen=set();m=tar.extractfile('manifest.json').read();assert m==raw
for member in tar:
if member.name=='manifest.json':continue
assert member.name.startswith('blobs/');h=member.name.split('/')[1];v=tar.extractfile(member).read();assert h in unique and len(v)==unique[h]['bytes'] and hashlib.sha256(v).hexdigest()==h;seen.add(h)
assert seen==set(unique)
parts=[];limit=16*1024**2
if archive.stat().st_size>limit:
with archive.open('rb') as f:
i=0
while block:=f.read(limit):
p=TEMP/(archive.name+'.part%03d'%i);p.write_bytes(block);parts.append({'path':str(p),'bytes':len(block),'sha256':hashlib.sha256(block).hexdigest()});i+=1
else:parts=[{'path':str(archive),'bytes':archive.stat().st_size,'sha256':sha(archive)}]
prep={'source_initial_free_bytes':initial,'source_logical_bytes':total,'unique_content_bytes':unique_bytes,'file_count':manifest['files'],'roots':[{k:v[k] for k in ['name','path','head']} for v in roots],'archive':{'path':str(archive),'bytes':archive.stat().st_size,'sha256':sha(archive)},'manifest':{'path':str(mp),'bytes':mp.stat().st_size,'sha256':sha(mp)},'upload_parts':parts,'local_tar_all_blobs_roundtrip':True,'prepared_seconds':time.time()-started,'free_after_preparation':shutil.disk_usage(R).free,'source_removed':False,'retirement_requires_cloud_full_readback_and_source_recheck':True}
(E/'PREPARATION.json').write_text(json.dumps(prep,ensure_ascii=False,indent=2)+'\n');(E/'prepare.py').write_bytes(pathlib.Path(__file__).read_bytes());print(json.dumps({k:prep[k] for k in ['source_logical_bytes','unique_content_bytes','file_count','archive','manifest','upload_parts','prepared_seconds','free_after_preparation']},ensure_ascii=False),flush=True)
@@ -0,0 +1,68 @@
#!/usr/bin/env python3
"""Verify all bytes, or restore 34 archived completed-unit checkouts into fresh paths."""
import argparse,gzip,hashlib,json,os,pathlib,re,shutil,subprocess,tarfile,tempfile
HERE=pathlib.Path(__file__).resolve().parent
def digest(path):
h=hashlib.sha256()
with path.open('rb') as f:
while block:=f.read(1024*1024):h.update(block)
return h.hexdigest()
def relative(name):
p=pathlib.PurePosixPath(name)
if p.is_absolute() or '..' in p.parts or not p.parts or p.parts[0]=='.git':raise ValueError('unsafe source path')
return p
def main():
p=argparse.ArgumentParser(description=__doc__);p.add_argument('--archive',type=pathlib.Path,required=True);p.add_argument('--verify-only',action='store_true');p.add_argument('--destination-base',type=pathlib.Path);p.add_argument('--repo',type=pathlib.Path);p.add_argument('--files-only',action='store_true');p.add_argument('--git-bundles',type=pathlib.Path,default=HERE/'git-bundles.tar.gz');args=p.parse_args()
prep=json.loads((HERE/'PREPARATION.json').read_text());gm=json.loads((HERE/'GIT_RESTORE.json').read_text());assert digest(args.archive)==prep['archive']['sha256'],'archive SHA mismatch'
raw=gzip.decompress((HERE/'MANIFEST.json.gz').read_bytes());m=json.loads(raw);references={}
def destination_for(name):
root=next(v for v in m['roots'] if v['name']==name)
return args.destination_base/pathlib.Path(root['path']).parent.name/name
for root in m['roots']:
assert root['name'] in {v['name'] for v in prep['roots']} and pathlib.Path(root['path']).name==root['name'] and pathlib.Path(root['path']).parent.name in {'p08-02','p08-03-code','p24-03-code'} and re.fullmatch('[0-9a-f]{40}',root['head'])
for name,row in root['files'].items():relative(name);references.setdefault(row['sha256'],[]).append((root['name'],name,row));assert row['bytes']>=0
for name in root['directories']:relative(name)
def archive_pass(write=False):
seen=set()
with tarfile.open(args.archive,'r:gz') as tar:
for member in tar:
assert member.isfile() and not member.issym() and not member.islnk()
f=tar.extractfile(member)
if member.name=='manifest.json':assert f.read()==raw;continue
assert re.fullmatch('blobs/[0-9a-f]{64}',member.name);h=member.name.split('/')[1];assert h in references and h not in seen
data=f.read();assert hashlib.sha256(data).hexdigest()==h and all(len(data)==v[2]['bytes'] for v in references[h]);seen.add(h)
if write:
for root,name,row in references[h]:
target=destination_for(root)/name;target.parent.mkdir(parents=True,exist_ok=True);target.write_bytes(data);target.chmod(row['mode']);os.utime(target,ns=(row['mtime_ns'],row['mtime_ns']))
assert seen==set(references)
archive_pass()
assert sum(len(r['files']) for r in m['roots'])==m['files']
if args.verify_only:print(json.dumps(dict(verified=True,files=m['files'],logical_bytes=m['logical_bytes'],unique_blobs=len(references))));return
assert args.destination_base and (args.files_only or args.repo),'choose explicit destination and repo or files-only'
args.destination_base=args.destination_base.resolve();args.destination_base.mkdir(parents=True,exist_ok=True)
for root in m['roots']:assert not (destination_for(root['name'])).exists(),'fresh destination required'
if not args.files_only:
assert digest(args.git_bundles)==gm['archive']['sha256'],'Git bundles SHA mismatch'
with tempfile.TemporaryDirectory(prefix='p04-restore-git-') as tmp:
with tarfile.open(args.git_bundles,'r:gz') as tar:
for member in tar:
assert member.isfile() and re.fullmatch('[0-9a-f]{40}.bundle',member.name)
target=pathlib.Path(tmp)/member.name;target.write_bytes(tar.extractfile(member).read());record=next(r for r in gm['commits'] if r.get('file')==member.name);assert digest(target)==record['sha256']
subprocess.run(['git','-C',str(args.repo),'bundle','verify',str(target)],check=True,capture_output=True)
subprocess.run(['git','-C',str(args.repo),'bundle','unbundle',str(target)],check=True,capture_output=True)
for root in m['roots']:subprocess.run(['git','-C',str(args.repo),'worktree','add','--detach',str(destination_for(root['name'])),root['head']],check=True)
else:
for root in m['roots']:(destination_for(root['name'])).mkdir(parents=True)
archive_pass(write=True)
for root in m['roots']:
destination=destination_for(root['name'])
for name,record in sorted(root['directories'].items(),key=lambda q:len(pathlib.PurePosixPath(q[0]).parts),reverse=True):
target=destination/name;target.mkdir(parents=True,exist_ok=True);target.chmod(record['mode']);os.utime(target,ns=(record['mtime_ns'],record['mtime_ns']))
actual={f.relative_to(destination).as_posix() for f in destination.rglob('*') if f.is_file() and f.relative_to(destination).as_posix()!='.git'};assert actual==set(root['files'])
for name,row in root['files'].items():
f=destination/name;assert digest(f)==row['sha256'] and f.stat().st_size==row['bytes'] and f.stat().st_mtime_ns==row['mtime_ns']
(args.destination_base/'RESTORED_COMMITS.json').write_text(json.dumps([{k:r[k] for k in ['name','head']} for r in m['roots']],indent=2)+'\n')
print(json.dumps(dict(restored=True,files=m['files'],destination=str(args.destination_base))))
if __name__=='__main__':main()
@@ -0,0 +1,49 @@
import pathlib,json,gzip,hashlib,subprocess,stat,shutil,sqlite3,datetime,time
R=pathlib.Path('/Users/korizatou114/Projects/とりにく工房ゲーム制作部');E=R/'docs/plans/original-completion-2026-10-02/execution/drive-offload-completed-checkouts-r14-20261016';prep=json.loads((E/'PREPARATION.json').read_text());m=json.loads(gzip.decompress((E/'MANIFEST.json.gz').read_bytes()));cloud=json.loads((E/'CLOUD_ALL_BYTES_VERIFIED.json').read_text());assert cloud['all_eight_cloud_files_full_readback_verified'] and cloud['whole_archive_sha256']==prep['archive']['sha256']
C=sqlite3.connect('file:/Users/korizatou114/Library/Application Support/agent-control/the-tree-p04-01/state.sqlite?mode=ro',uri=True);running=C.execute("SELECT id,task_id,role,pid FROM runs WHERE status='running'").fetchall()
# Only this separately scoped implementation may run; none of the five ended
# validation paths is an input to it. Recheck each target with lsof below.
for run_id,task_id,role,pid in running:
assert run_id=='24d43100b6dc47d784ed6bac550c501a' and task_id=='P04-01' and role=='implementer'
assert C.execute('SELECT worktree FROM tasks WHERE id=?',(task_id,)).fetchone()[0]=='/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/P04-01-implement'
subprocess.run(['/bin/kill','-0',str(pid)],check=True,capture_output=True)
cwd=subprocess.check_output(['/usr/sbin/lsof','-a','-p',str(pid),'-d','cwd','-Fn'],text=True)
assert '\nn/Users/korizatou114/Projects/TheTree-managed-worktrees/p04-01/P04-01-implement\n' in cwd
pg=subprocess.run(['/usr/bin/pgrep','-fl','/Applications/Godot.app|Godot.*headless'],capture_output=True,text=True);assert pg.returncode==1 and not pg.stdout.strip(),'wait for all owned engines'
def git(root,*args):return subprocess.check_output(['git','-C',str(root),*args],text=True).strip()
candidates=json.loads((E/'CANDIDATES.json').read_text())
wp=json.loads((R/'docs/plans/original-completion-2026-10-02/work_packages.json').read_text())
states={u['id']:u['state'] for p in wp for u in p['remaining_deliverables']}
for project in candidates['Runner_projects']:
assert states[project['original_unit']]=='completed'
db=pathlib.Path('/Users/korizatou114/Library/Application Support/agent-control')/project['project']/'state.sqlite'
connection=sqlite3.connect('file:'+str(db)+'?mode=ro',uri=True)
assert not connection.execute("SELECT 1 FROM runs WHERE status='running'").fetchone()
checks=[]
for row in m['roots']:
root=pathlib.Path(row['path']);assert str(root) in candidates['roots'] and root.parent.parent==pathlib.Path('/Users/korizatou114/Projects/TheTree-managed-worktrees') and root.parent.name in {'p08-02','p08-03-code','p24-03-code'} and root.name==row['name'] and not root.name.endswith('-implement')
assert git(root,'rev-parse','HEAD')==row['head'];assert not git(root,'status','--porcelain','--untracked-files=all');assert not git(root,'clean','-ndx')
ps=subprocess.run(['/usr/sbin/lsof','-t','+D',str(root)],capture_output=True,text=True);assert ps.returncode==1 and not ps.stdout.strip(),'open source validation files'
actual={p.relative_to(root).as_posix() for p in root.rglob('*') if p.is_file() and p.relative_to(root).as_posix()!='.git'};assert actual==set(row['files'])
for name,v in row['files'].items():
p=root/name;s=p.stat();assert not p.is_symlink() and s.st_size==v['bytes'] and stat.S_IMODE(s.st_mode)==v['mode'] and s.st_mtime_ns==v['mtime_ns'];assert hashlib.sha256(p.read_bytes()).hexdigest()==v['sha256']
checks.append({'path':str(root),'head':row['head'],'all_files_rehashed':len(actual),'clean':True,'open_files':False})
(E/'SOURCE_RECHECK.json').write_text(json.dumps({'checks':checks,'cloud_full_bytes_verified':True,'all_sources_retained_at_check':True},ensure_ascii=False,indent=2)+'\n')
before=shutil.disk_usage(R).free;started=time.time();removed=[]
for row in m['roots']:
root=pathlib.Path(row['path']);assert git(root,'rev-parse','HEAD')==row['head'];subprocess.run(['git','-C',str(R),'worktree','remove',str(root)],check=True,capture_output=True);assert not root.exists();removed.append({'path':str(root),'head':row['head']})
after_sources=shutil.disk_usage(R).free
T=pathlib.Path(prep['archive']['path']).parent;gitmeta=json.loads((E/'GIT_RESTORE.json').read_text());kit=json.loads((E/'RESTORE_KIT.json').read_text());expected={prep['archive']['path']:prep['archive']['sha256'],kit['path']:kit['sha256'],gitmeta['archive']['path']:gitmeta['archive']['sha256']}
for part in prep['upload_parts']:expected[part['path']]=part['sha256']
for v in gitmeta['commits']:
if v.get('file'):expected[str(T/'git-bundles'/v['file'])]=v['sha256']
actual={str(p) for p in T.rglob('*') if p.is_file()};assert actual==set(expected),'unknown temporary data must not be removed'
temporary_bytes=0
for name,h in expected.items():
p=pathlib.Path(name);assert p.is_relative_to(T) and not p.is_symlink() and hashlib.sha256(p.read_bytes()).hexdigest()==h;temporary_bytes+=p.stat().st_size
for name in expected:pathlib.Path(name).unlink()
for p in sorted([p for p in T.rglob('*') if p.is_dir()],key=lambda p:len(p.parts),reverse=True):p.rmdir()
T.rmdir();after_all=shutil.disk_usage(R).free
report={'removed_ended_completed_unit_checkouts':removed,'source_file_count':m['files'],'source_logical_bytes':m['logical_bytes'],'cloud_all_bytes_verified':True,'source_files_all_rehashed_before_normal_git_worktree_remove':True,'before_sources_free_bytes':before,'after_sources_free_bytes':after_sources,'observed_source_retirement_free_delta_bytes':after_sources-before,'temporary_pack_logical_bytes_removed':temporary_bytes,'after_own_temporary_cleanup_free_bytes':after_all,'own_temporary_cleanup_observed_delta_bytes':after_all-after_sources,'measurement_note':'Source retirement interval excludes cleanup of this run own archive/parts/bundles/kit. Free-space deltas are observed intervals and may include concurrent OS activity, not logical byte totals. Current implementation/build/native raw/cache/default saves are retained.','concurrent_isolated_implementation':running,'elapsed_seconds':time.time()-started,'recorded_at':datetime.datetime.now(datetime.timezone.utc).isoformat()}
(E/'RETIREMENT.json').write_text(json.dumps(report,ensure_ascii=False,indent=2)+'\n');(E/'retire.py').write_bytes(pathlib.Path(__file__).read_bytes());print(json.dumps(report,ensure_ascii=False),flush=True)
@@ -0,0 +1,30 @@
{
"files": [
{
"name": "MANIFEST.json",
"url": "https://drive.google.com/file/d/1I0dCIIRucT0N0GnprOofSHhGSrdM8F0u/view?usp=drivesdk",
"id": "1I0dCIIRucT0N0GnprOofSHhGSrdM8F0u",
"sha256": "586ba62da712fd17a7f02ed86a0223cb5293465ff45a4e8757a9dcb670f4b22b",
"bytes": 14356,
"raw_readback_verified": true
},
{
"name": "restore.py",
"url": "https://drive.google.com/file/d/1QjS6v6ht63O5KStHwVaN0AUH5fLG5eKu/view?usp=drivesdk",
"id": "1QjS6v6ht63O5KStHwVaN0AUH5fLG5eKu",
"sha256": "1082a4581b677345d4b1b1a8172ecd40224b59242b0e19a84a3016cd41c5c2e1",
"bytes": 2132,
"raw_readback_verified": true
},
{
"name": "RESTORE.md",
"url": "https://drive.google.com/file/d/1NpNkNhJn60d78u9GX4wHmZCDvI0B4cJv/view?usp=drivesdk",
"id": "1NpNkNhJn60d78u9GX4wHmZCDvI0B4cJv",
"sha256": "9a33b568f276b4d3c1746be68cb37303295ba8a1ee31abc8d5f18624ce823454",
"bytes": 1638,
"raw_readback_verified": true
}
],
"all_restore_bytes_identical": true,
"formal_credit": 0
}
@@ -0,0 +1,25 @@
{
"all_three_whole_zip_bytes_verified": true,
"files": [
{
"variant": "optional-capture",
"sha256": "e593c0c4675672d773b91e8297a7380f18c2750ba05c205c44426ef14d00d96f",
"bytes": 90662752,
"actual_cloud_readback_verified": true
},
{
"variant": "unsorted-membership",
"sha256": "ed60d7e4954a3c55e92ecf1520b596322ecd3c4342f778d55e90d6ac39accd46",
"bytes": 90662748,
"actual_cloud_readback_verified": true
},
{
"variant": "p02-03-r05",
"sha256": "9af0ef42b97f71fd09587990c5b1d8ce14792252eb05a32cd58a1197f60f5a29",
"bytes": 90702153,
"actual_cloud_readback_verified": true
}
],
"all_members_already_matched_local_distribution": true,
"formal_credit": 0
}
@@ -0,0 +1,374 @@
{
"scope": "Only three historical 2026-10-10-era Windows ZIPs and their byte-identical extracted distribution copies. Keep export proof/source/receipts locally. These are not same-current-final-Windows acceptance.",
"items": [
{
"name": "windows-current1299-optional-capture-release-candidate-r01-46fc6c398e3d42a4a0a55646d495b070",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/windows-current1299-optional-capture-release-candidate-r01-46fc6c398e3d42a4a0a55646d495b070",
"zip": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/windows-current1299-optional-capture-release-candidate-r01-46fc6c398e3d42a4a0a55646d495b070/TheTree-Windows-current-source-release-candidate.zip",
"sha256": "e593c0c4675672d773b91e8297a7380f18c2750ba05c205c44426ef14d00d96f",
"bytes": 90662752,
"mode": 420,
"mtime_ns": 1791447754699533163
},
"files": [
{
"relative_path": "TheTree/BUILD_MANIFEST.json",
"sha256": "3cdaf0486c49726b51be7e577bd2f54c6f0b11c9ce5da942858e5515d91ee401",
"bytes": 78128,
"mode": 420,
"mtime_ns": 1791447751172997493
},
{
"relative_path": "TheTree/LICENSES/Godot-LICENSE.txt",
"sha256": "b0435e3b3e4e55238f05f4b306f30524a1b2e20147810d436eaa554fa6855c80",
"bytes": 1149,
"mode": 420,
"mtime_ns": 1791447751024554474
},
{
"relative_path": "TheTree/LICENSES/Godot-third-party.txt",
"sha256": "908aaf7ad53efa3f6d948b3265b6a4a660f9cc532c1caba7923a1292d3b8dda0",
"bytes": 103199,
"mode": 420,
"mtime_ns": 1791447751024808764
},
{
"relative_path": "TheTree/LICENSES/Kenney-InterfaceSounds.txt",
"sha256": "f7966c773bbed0eca6a9c75081c44a178b38eae112724dbb5fdfbd4192d118a9",
"bytes": 574,
"mode": 420,
"mtime_ns": 1791447751025013138
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyDungeon.txt",
"sha256": "9f574a2f1f636a3db8a0665ba90212f34e2b5e61ecb533d77c05237766374111",
"bytes": 570,
"mode": 420,
"mtime_ns": 1791447751025225637
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyTown.txt",
"sha256": "c483c167cc3bdfe17c15f957ff847d409f64d81b410b28783636cf3b2b7814c5",
"bytes": 567,
"mode": 420,
"mtime_ns": 1791447751025448470
},
{
"relative_path": "TheTree/LICENSES/kenney-interface-sounds-source.json",
"sha256": "f981c2ce12ed364010217dee996908f037d2abfcc3b21b8cf501dd591f7744c9",
"bytes": 1330,
"mode": 420,
"mtime_ns": 1791447751025653219
},
{
"relative_path": "TheTree/LICENSES/kenney-sources.json",
"sha256": "708f5980d0e740f6a7bf1e7fbd0d8964292729309c1a3eeafc367fb94f119b76",
"bytes": 724,
"mode": 420,
"mtime_ns": 1791447751025835343
},
{
"relative_path": "TheTree/README.txt",
"sha256": "59e86b72fe6087dc6c83a8bffd4041046cc33c4513d9fe25e0bde1c0b5cf057e",
"bytes": 240,
"mode": 420,
"mtime_ns": 1791447751026447590
},
{
"relative_path": "TheTree/SOURCE_MANIFEST.json",
"sha256": "85cf9fe0dcc1133c6e048d61f545c0f034d123c1497c6a7089359f3df3350092",
"bytes": 152598,
"mode": 420,
"mtime_ns": 1791447751026376257
},
{
"relative_path": "TheTree/TheTree.exe",
"sha256": "d34d36f3be1a6c49c56525ae86469b92e4f417ddf0b43cf00dd80c385c4b0562",
"bytes": 109268480,
"mode": 420,
"mtime_ns": 1791447746011119869
},
{
"relative_path": "TheTree/TheTree.pck",
"sha256": "84be6eb5d1894a2169fbd8efa2f780b486af3aaad06f6c57f36416d8fd521440",
"bytes": 54201240,
"mode": 420,
"mtime_ns": 1791447747133086561
}
],
"directories": [
{
"path": ".",
"mode": 493,
"mtime_ns": 1791447743913272805
},
{
"path": "TheTree",
"mode": 493,
"mtime_ns": 1791982101539818954
},
{
"path": "TheTree/LICENSES",
"mode": 493,
"mtime_ns": 1791981559275304647
}
],
"export_actual_pid": 86640,
"export_ended": true,
"cloud": {
"id": "1CDHCS8q3Tpo32Hn1L4XAXekl9jCRXrIg",
"url": "https://drive.google.com/file/d/1CDHCS8q3Tpo32Hn1L4XAXekl9jCRXrIg/view?usp=drivesdk",
"file_name": "old-windows-r09-optional-capture.zip",
"mime_type": "application/zip"
}
},
{
"name": "windows-current1299-unsorted-membership-release-candidate-r01-4a758a1bb6f24fbfb0b1a5dff56d0421",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/windows-current1299-unsorted-membership-release-candidate-r01-4a758a1bb6f24fbfb0b1a5dff56d0421",
"zip": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/windows-current1299-unsorted-membership-release-candidate-r01-4a758a1bb6f24fbfb0b1a5dff56d0421/TheTree-Windows-current-source-release-candidate.zip",
"sha256": "ed60d7e4954a3c55e92ecf1520b596322ecd3c4342f778d55e90d6ac39accd46",
"bytes": 90662748,
"mode": 420,
"mtime_ns": 1791440560198659367
},
"files": [
{
"relative_path": "TheTree/BUILD_MANIFEST.json",
"sha256": "e7716509c394d39d20d4bc9a4ee44264b4be531ab9f0a6b34f84be081e4602b1",
"bytes": 78266,
"mode": 420,
"mtime_ns": 1791440556615471577
},
{
"relative_path": "TheTree/LICENSES/Godot-LICENSE.txt",
"sha256": "b0435e3b3e4e55238f05f4b306f30524a1b2e20147810d436eaa554fa6855c80",
"bytes": 1149,
"mode": 420,
"mtime_ns": 1791440556477071156
},
{
"relative_path": "TheTree/LICENSES/Godot-third-party.txt",
"sha256": "908aaf7ad53efa3f6d948b3265b6a4a660f9cc532c1caba7923a1292d3b8dda0",
"bytes": 103199,
"mode": 420,
"mtime_ns": 1791440556478418946
},
{
"relative_path": "TheTree/LICENSES/Kenney-InterfaceSounds.txt",
"sha256": "f7966c773bbed0eca6a9c75081c44a178b38eae112724dbb5fdfbd4192d118a9",
"bytes": 574,
"mode": 420,
"mtime_ns": 1791440556478634613
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyDungeon.txt",
"sha256": "9f574a2f1f636a3db8a0665ba90212f34e2b5e61ecb533d77c05237766374111",
"bytes": 570,
"mode": 420,
"mtime_ns": 1791440556478832571
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyTown.txt",
"sha256": "c483c167cc3bdfe17c15f957ff847d409f64d81b410b28783636cf3b2b7814c5",
"bytes": 567,
"mode": 420,
"mtime_ns": 1791440556479017446
},
{
"relative_path": "TheTree/LICENSES/kenney-interface-sounds-source.json",
"sha256": "f981c2ce12ed364010217dee996908f037d2abfcc3b21b8cf501dd591f7744c9",
"bytes": 1330,
"mode": 420,
"mtime_ns": 1791440556479196863
},
{
"relative_path": "TheTree/LICENSES/kenney-sources.json",
"sha256": "708f5980d0e740f6a7bf1e7fbd0d8964292729309c1a3eeafc367fb94f119b76",
"bytes": 724,
"mode": 420,
"mtime_ns": 1791440556479347904
},
{
"relative_path": "TheTree/README.txt",
"sha256": "59e86b72fe6087dc6c83a8bffd4041046cc33c4513d9fe25e0bde1c0b5cf057e",
"bytes": 240,
"mode": 420,
"mtime_ns": 1791440556479929321
},
{
"relative_path": "TheTree/SOURCE_MANIFEST.json",
"sha256": "9b06033e7d236994bb235c18774fdc9bb7d5f13c737d5828f02121452a532629",
"bytes": 152598,
"mode": 420,
"mtime_ns": 1791440556479864987
},
{
"relative_path": "TheTree/TheTree.exe",
"sha256": "d34d36f3be1a6c49c56525ae86469b92e4f417ddf0b43cf00dd80c385c4b0562",
"bytes": 109268480,
"mode": 420,
"mtime_ns": 1791440551426619577
},
{
"relative_path": "TheTree/TheTree.pck",
"sha256": "f5062056cd7c6b78f09d6367dd53eb7b009cf60c7606ea309b7270249e9cb04e",
"bytes": 54201256,
"mode": 420,
"mtime_ns": 1791440552552264643
}
],
"directories": [
{
"path": ".",
"mode": 493,
"mtime_ns": 1791440549272303096
},
{
"path": "TheTree",
"mode": 493,
"mtime_ns": 1791982207139806136
},
{
"path": "TheTree/LICENSES",
"mode": 493,
"mtime_ns": 1791982207163831145
}
],
"export_actual_pid": 98873,
"export_ended": true,
"cloud": {
"id": "1B--rlPkZQXeYNDjUfatT-GeAD9qkD3yz",
"url": "https://drive.google.com/file/d/1B--rlPkZQXeYNDjUfatT-GeAD9qkD3yz/view?usp=drivesdk",
"file_name": "old-windows-r09-unsorted-membership.zip",
"mime_type": "application/zip"
}
},
{
"name": "p02-03-r05-windows-export-native-r03",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p02-03-r05-windows-export-native-r03",
"zip": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p02-03-r05-windows-export-native-r03/TheTree-Windows-current-source-release-candidate.zip",
"sha256": "9af0ef42b97f71fd09587990c5b1d8ce14792252eb05a32cd58a1197f60f5a29",
"bytes": 90702153,
"mode": 420,
"mtime_ns": 1791592216411888023
},
"files": [
{
"relative_path": "TheTree/BUILD_MANIFEST.json",
"sha256": "2a1d70f0039adbc828a5c52d91bac5d1eb8d734ed29ca6bda76ae893cfb48f66",
"bytes": 131644,
"mode": 420,
"mtime_ns": 1791592212691480397
},
{
"relative_path": "TheTree/LICENSES/Godot-LICENSE.txt",
"sha256": "b0435e3b3e4e55238f05f4b306f30524a1b2e20147810d436eaa554fa6855c80",
"bytes": 1149,
"mode": 420,
"mtime_ns": 1791592212540839014
},
{
"relative_path": "TheTree/LICENSES/Godot-third-party.txt",
"sha256": "908aaf7ad53efa3f6d948b3265b6a4a660f9cc532c1caba7923a1292d3b8dda0",
"bytes": 103199,
"mode": 420,
"mtime_ns": 1791592212541078098
},
{
"relative_path": "TheTree/LICENSES/Kenney-InterfaceSounds.txt",
"sha256": "f7966c773bbed0eca6a9c75081c44a178b38eae112724dbb5fdfbd4192d118a9",
"bytes": 574,
"mode": 420,
"mtime_ns": 1791592212541294224
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyDungeon.txt",
"sha256": "9f574a2f1f636a3db8a0665ba90212f34e2b5e61ecb533d77c05237766374111",
"bytes": 570,
"mode": 420,
"mtime_ns": 1791592212541528099
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyTown.txt",
"sha256": "c483c167cc3bdfe17c15f957ff847d409f64d81b410b28783636cf3b2b7814c5",
"bytes": 567,
"mode": 420,
"mtime_ns": 1791592212541718058
},
{
"relative_path": "TheTree/LICENSES/kenney-interface-sounds-source.json",
"sha256": "f981c2ce12ed364010217dee996908f037d2abfcc3b21b8cf501dd591f7744c9",
"bytes": 1330,
"mode": 420,
"mtime_ns": 1791592212541924350
},
{
"relative_path": "TheTree/LICENSES/kenney-sources.json",
"sha256": "708f5980d0e740f6a7bf1e7fbd0d8964292729309c1a3eeafc367fb94f119b76",
"bytes": 724,
"mode": 420,
"mtime_ns": 1791592212542107268
},
{
"relative_path": "TheTree/README.txt",
"sha256": "59e86b72fe6087dc6c83a8bffd4041046cc33c4513d9fe25e0bde1c0b5cf057e",
"bytes": 240,
"mode": 420,
"mtime_ns": 1791592212542769853
},
{
"relative_path": "TheTree/SOURCE_MANIFEST.json",
"sha256": "8bbb18bd12a474e944eb7ee28075ac53fdbd54f62d70e2b45badee5ebc84d08a",
"bytes": 152598,
"mode": 420,
"mtime_ns": 1791592212542695227
},
{
"relative_path": "TheTree/TheTree.exe",
"sha256": "d34d36f3be1a6c49c56525ae86469b92e4f417ddf0b43cf00dd80c385c4b0562",
"bytes": 109268480,
"mode": 420,
"mtime_ns": 1791592208392309717
},
{
"relative_path": "TheTree/TheTree.pck",
"sha256": "7861bf1bc23dc89a5c691a67f56a9543411db51e75031746ebb78c14f2e69edd",
"bytes": 54233448,
"mode": 420,
"mtime_ns": 1791592209697660994
}
],
"directories": [
{
"path": ".",
"mode": 493,
"mtime_ns": 1791592206037560564
},
{
"path": "TheTree",
"mode": 493,
"mtime_ns": 1791982206015145547
},
{
"path": "TheTree/LICENSES",
"mode": 493,
"mtime_ns": 1791982206031488742
}
],
"export_actual_pid": 44792,
"export_ended": true,
"cloud": {
"id": "1BpD0syDcUN5oZJsJ8KNH7lHTceHrxHKK",
"url": "https://drive.google.com/file/d/1BpD0syDcUN5oZJsJ8KNH7lHTceHrxHKK/view?usp=drivesdk",
"file_name": "old-windows-r09-p02-03-r05.zip",
"mime_type": "application/zip"
}
}
],
"full_zip_and_all_extracted_members_verified": true,
"new_original_acceptance_credit": 0,
"local_retirement_pending_cloud_readback": true
}
@@ -0,0 +1,359 @@
{
"scope": "Only three historical 2026-10-10-era Windows ZIPs and their byte-identical extracted distribution copies. Keep export proof/source/receipts locally. These are not same-current-final-Windows acceptance.",
"items": [
{
"name": "windows-current1299-optional-capture-release-candidate-r01-46fc6c398e3d42a4a0a55646d495b070",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/windows-current1299-optional-capture-release-candidate-r01-46fc6c398e3d42a4a0a55646d495b070",
"zip": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/windows-current1299-optional-capture-release-candidate-r01-46fc6c398e3d42a4a0a55646d495b070/TheTree-Windows-current-source-release-candidate.zip",
"sha256": "e593c0c4675672d773b91e8297a7380f18c2750ba05c205c44426ef14d00d96f",
"bytes": 90662752,
"mode": 420,
"mtime_ns": 1791447754699533163
},
"files": [
{
"relative_path": "TheTree/BUILD_MANIFEST.json",
"sha256": "3cdaf0486c49726b51be7e577bd2f54c6f0b11c9ce5da942858e5515d91ee401",
"bytes": 78128,
"mode": 420,
"mtime_ns": 1791447751172997493
},
{
"relative_path": "TheTree/LICENSES/Godot-LICENSE.txt",
"sha256": "b0435e3b3e4e55238f05f4b306f30524a1b2e20147810d436eaa554fa6855c80",
"bytes": 1149,
"mode": 420,
"mtime_ns": 1791447751024554474
},
{
"relative_path": "TheTree/LICENSES/Godot-third-party.txt",
"sha256": "908aaf7ad53efa3f6d948b3265b6a4a660f9cc532c1caba7923a1292d3b8dda0",
"bytes": 103199,
"mode": 420,
"mtime_ns": 1791447751024808764
},
{
"relative_path": "TheTree/LICENSES/Kenney-InterfaceSounds.txt",
"sha256": "f7966c773bbed0eca6a9c75081c44a178b38eae112724dbb5fdfbd4192d118a9",
"bytes": 574,
"mode": 420,
"mtime_ns": 1791447751025013138
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyDungeon.txt",
"sha256": "9f574a2f1f636a3db8a0665ba90212f34e2b5e61ecb533d77c05237766374111",
"bytes": 570,
"mode": 420,
"mtime_ns": 1791447751025225637
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyTown.txt",
"sha256": "c483c167cc3bdfe17c15f957ff847d409f64d81b410b28783636cf3b2b7814c5",
"bytes": 567,
"mode": 420,
"mtime_ns": 1791447751025448470
},
{
"relative_path": "TheTree/LICENSES/kenney-interface-sounds-source.json",
"sha256": "f981c2ce12ed364010217dee996908f037d2abfcc3b21b8cf501dd591f7744c9",
"bytes": 1330,
"mode": 420,
"mtime_ns": 1791447751025653219
},
{
"relative_path": "TheTree/LICENSES/kenney-sources.json",
"sha256": "708f5980d0e740f6a7bf1e7fbd0d8964292729309c1a3eeafc367fb94f119b76",
"bytes": 724,
"mode": 420,
"mtime_ns": 1791447751025835343
},
{
"relative_path": "TheTree/README.txt",
"sha256": "59e86b72fe6087dc6c83a8bffd4041046cc33c4513d9fe25e0bde1c0b5cf057e",
"bytes": 240,
"mode": 420,
"mtime_ns": 1791447751026447590
},
{
"relative_path": "TheTree/SOURCE_MANIFEST.json",
"sha256": "85cf9fe0dcc1133c6e048d61f545c0f034d123c1497c6a7089359f3df3350092",
"bytes": 152598,
"mode": 420,
"mtime_ns": 1791447751026376257
},
{
"relative_path": "TheTree/TheTree.exe",
"sha256": "d34d36f3be1a6c49c56525ae86469b92e4f417ddf0b43cf00dd80c385c4b0562",
"bytes": 109268480,
"mode": 420,
"mtime_ns": 1791447746011119869
},
{
"relative_path": "TheTree/TheTree.pck",
"sha256": "84be6eb5d1894a2169fbd8efa2f780b486af3aaad06f6c57f36416d8fd521440",
"bytes": 54201240,
"mode": 420,
"mtime_ns": 1791447747133086561
}
],
"directories": [
{
"path": ".",
"mode": 493,
"mtime_ns": 1791447743913272805
},
{
"path": "TheTree",
"mode": 493,
"mtime_ns": 1791982101539818954
},
{
"path": "TheTree/LICENSES",
"mode": 493,
"mtime_ns": 1791981559275304647
}
],
"export_actual_pid": 86640,
"export_ended": true,
"cloud": null
},
{
"name": "windows-current1299-unsorted-membership-release-candidate-r01-4a758a1bb6f24fbfb0b1a5dff56d0421",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/windows-current1299-unsorted-membership-release-candidate-r01-4a758a1bb6f24fbfb0b1a5dff56d0421",
"zip": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/windows-current1299-unsorted-membership-release-candidate-r01-4a758a1bb6f24fbfb0b1a5dff56d0421/TheTree-Windows-current-source-release-candidate.zip",
"sha256": "ed60d7e4954a3c55e92ecf1520b596322ecd3c4342f778d55e90d6ac39accd46",
"bytes": 90662748,
"mode": 420,
"mtime_ns": 1791440560198659367
},
"files": [
{
"relative_path": "TheTree/BUILD_MANIFEST.json",
"sha256": "e7716509c394d39d20d4bc9a4ee44264b4be531ab9f0a6b34f84be081e4602b1",
"bytes": 78266,
"mode": 420,
"mtime_ns": 1791440556615471577
},
{
"relative_path": "TheTree/LICENSES/Godot-LICENSE.txt",
"sha256": "b0435e3b3e4e55238f05f4b306f30524a1b2e20147810d436eaa554fa6855c80",
"bytes": 1149,
"mode": 420,
"mtime_ns": 1791440556477071156
},
{
"relative_path": "TheTree/LICENSES/Godot-third-party.txt",
"sha256": "908aaf7ad53efa3f6d948b3265b6a4a660f9cc532c1caba7923a1292d3b8dda0",
"bytes": 103199,
"mode": 420,
"mtime_ns": 1791440556478418946
},
{
"relative_path": "TheTree/LICENSES/Kenney-InterfaceSounds.txt",
"sha256": "f7966c773bbed0eca6a9c75081c44a178b38eae112724dbb5fdfbd4192d118a9",
"bytes": 574,
"mode": 420,
"mtime_ns": 1791440556478634613
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyDungeon.txt",
"sha256": "9f574a2f1f636a3db8a0665ba90212f34e2b5e61ecb533d77c05237766374111",
"bytes": 570,
"mode": 420,
"mtime_ns": 1791440556478832571
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyTown.txt",
"sha256": "c483c167cc3bdfe17c15f957ff847d409f64d81b410b28783636cf3b2b7814c5",
"bytes": 567,
"mode": 420,
"mtime_ns": 1791440556479017446
},
{
"relative_path": "TheTree/LICENSES/kenney-interface-sounds-source.json",
"sha256": "f981c2ce12ed364010217dee996908f037d2abfcc3b21b8cf501dd591f7744c9",
"bytes": 1330,
"mode": 420,
"mtime_ns": 1791440556479196863
},
{
"relative_path": "TheTree/LICENSES/kenney-sources.json",
"sha256": "708f5980d0e740f6a7bf1e7fbd0d8964292729309c1a3eeafc367fb94f119b76",
"bytes": 724,
"mode": 420,
"mtime_ns": 1791440556479347904
},
{
"relative_path": "TheTree/README.txt",
"sha256": "59e86b72fe6087dc6c83a8bffd4041046cc33c4513d9fe25e0bde1c0b5cf057e",
"bytes": 240,
"mode": 420,
"mtime_ns": 1791440556479929321
},
{
"relative_path": "TheTree/SOURCE_MANIFEST.json",
"sha256": "9b06033e7d236994bb235c18774fdc9bb7d5f13c737d5828f02121452a532629",
"bytes": 152598,
"mode": 420,
"mtime_ns": 1791440556479864987
},
{
"relative_path": "TheTree/TheTree.exe",
"sha256": "d34d36f3be1a6c49c56525ae86469b92e4f417ddf0b43cf00dd80c385c4b0562",
"bytes": 109268480,
"mode": 420,
"mtime_ns": 1791440551426619577
},
{
"relative_path": "TheTree/TheTree.pck",
"sha256": "f5062056cd7c6b78f09d6367dd53eb7b009cf60c7606ea309b7270249e9cb04e",
"bytes": 54201256,
"mode": 420,
"mtime_ns": 1791440552552264643
}
],
"directories": [
{
"path": ".",
"mode": 493,
"mtime_ns": 1791440549272303096
},
{
"path": "TheTree",
"mode": 493,
"mtime_ns": 1791982207139806136
},
{
"path": "TheTree/LICENSES",
"mode": 493,
"mtime_ns": 1791982207163831145
}
],
"export_actual_pid": 98873,
"export_ended": true,
"cloud": null
},
{
"name": "p02-03-r05-windows-export-native-r03",
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p02-03-r05-windows-export-native-r03",
"zip": {
"path": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p02-03-r05-windows-export-native-r03/TheTree-Windows-current-source-release-candidate.zip",
"sha256": "9af0ef42b97f71fd09587990c5b1d8ce14792252eb05a32cd58a1197f60f5a29",
"bytes": 90702153,
"mode": 420,
"mtime_ns": 1791592216411888023
},
"files": [
{
"relative_path": "TheTree/BUILD_MANIFEST.json",
"sha256": "2a1d70f0039adbc828a5c52d91bac5d1eb8d734ed29ca6bda76ae893cfb48f66",
"bytes": 131644,
"mode": 420,
"mtime_ns": 1791592212691480397
},
{
"relative_path": "TheTree/LICENSES/Godot-LICENSE.txt",
"sha256": "b0435e3b3e4e55238f05f4b306f30524a1b2e20147810d436eaa554fa6855c80",
"bytes": 1149,
"mode": 420,
"mtime_ns": 1791592212540839014
},
{
"relative_path": "TheTree/LICENSES/Godot-third-party.txt",
"sha256": "908aaf7ad53efa3f6d948b3265b6a4a660f9cc532c1caba7923a1292d3b8dda0",
"bytes": 103199,
"mode": 420,
"mtime_ns": 1791592212541078098
},
{
"relative_path": "TheTree/LICENSES/Kenney-InterfaceSounds.txt",
"sha256": "f7966c773bbed0eca6a9c75081c44a178b38eae112724dbb5fdfbd4192d118a9",
"bytes": 574,
"mode": 420,
"mtime_ns": 1791592212541294224
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyDungeon.txt",
"sha256": "9f574a2f1f636a3db8a0665ba90212f34e2b5e61ecb533d77c05237766374111",
"bytes": 570,
"mode": 420,
"mtime_ns": 1791592212541528099
},
{
"relative_path": "TheTree/LICENSES/Kenney-TinyTown.txt",
"sha256": "c483c167cc3bdfe17c15f957ff847d409f64d81b410b28783636cf3b2b7814c5",
"bytes": 567,
"mode": 420,
"mtime_ns": 1791592212541718058
},
{
"relative_path": "TheTree/LICENSES/kenney-interface-sounds-source.json",
"sha256": "f981c2ce12ed364010217dee996908f037d2abfcc3b21b8cf501dd591f7744c9",
"bytes": 1330,
"mode": 420,
"mtime_ns": 1791592212541924350
},
{
"relative_path": "TheTree/LICENSES/kenney-sources.json",
"sha256": "708f5980d0e740f6a7bf1e7fbd0d8964292729309c1a3eeafc367fb94f119b76",
"bytes": 724,
"mode": 420,
"mtime_ns": 1791592212542107268
},
{
"relative_path": "TheTree/README.txt",
"sha256": "59e86b72fe6087dc6c83a8bffd4041046cc33c4513d9fe25e0bde1c0b5cf057e",
"bytes": 240,
"mode": 420,
"mtime_ns": 1791592212542769853
},
{
"relative_path": "TheTree/SOURCE_MANIFEST.json",
"sha256": "8bbb18bd12a474e944eb7ee28075ac53fdbd54f62d70e2b45badee5ebc84d08a",
"bytes": 152598,
"mode": 420,
"mtime_ns": 1791592212542695227
},
{
"relative_path": "TheTree/TheTree.exe",
"sha256": "d34d36f3be1a6c49c56525ae86469b92e4f417ddf0b43cf00dd80c385c4b0562",
"bytes": 109268480,
"mode": 420,
"mtime_ns": 1791592208392309717
},
{
"relative_path": "TheTree/TheTree.pck",
"sha256": "7861bf1bc23dc89a5c691a67f56a9543411db51e75031746ebb78c14f2e69edd",
"bytes": 54233448,
"mode": 420,
"mtime_ns": 1791592209697660994
}
],
"directories": [
{
"path": ".",
"mode": 493,
"mtime_ns": 1791592206037560564
},
{
"path": "TheTree",
"mode": 493,
"mtime_ns": 1791982206015145547
},
{
"path": "TheTree/LICENSES",
"mode": 493,
"mtime_ns": 1791982206031488742
}
],
"export_actual_pid": 44792,
"export_ended": true,
"cloud": null
}
],
"full_zip_and_all_extracted_members_verified": true,
"new_original_acceptance_credit": 0,
"local_retirement_pending_cloud_readback": true
}
@@ -0,0 +1,22 @@
# Historical Windows packages r09 restore
The three whole ZIPs were downloaded back from Drive and byte-hashed before local retirement. Every ZIP entry was separately verified against the existing extracted distribution and historical package-integrity.json. No Windows device acceptance is claimed. Export receipts, logs, source maps and other proof stay local.
Download MANIFEST.json, restore.py and all three ZIPs from the recorded Drive URLs. With Python 3.12:
`python3 restore.py MANIFEST.json /fresh/destination optional-capture.zip unsorted-membership.zip p02-03-r05.zip`
ZIP names do not matter; all three hashes must match. The script refuses existing output folders, verifies ZIPs and all extracted files, and restores file modes/mtimes. To use the old original artifact paths, first restore to a fresh directory, then move only the verified ZIP/distribution into the original artifact folder while preserving existing reports.
windows-current1299-optional-capture-release-candidate-r01-46fc6c398e3d42a4a0a55646d495b070
https://drive.google.com/file/d/1CDHCS8q3Tpo32Hn1L4XAXekl9jCRXrIg/view?usp=drivesdk
SHA256 e593c0c4675672d773b91e8297a7380f18c2750ba05c205c44426ef14d00d96f
windows-current1299-unsorted-membership-release-candidate-r01-4a758a1bb6f24fbfb0b1a5dff56d0421
https://drive.google.com/file/d/1B--rlPkZQXeYNDjUfatT-GeAD9qkD3yz/view?usp=drivesdk
SHA256 ed60d7e4954a3c55e92ecf1520b596322ecd3c4342f778d55e90d6ac39accd46
p02-03-r05-windows-export-native-r03
https://drive.google.com/file/d/1BpD0syDcUN5oZJsJ8KNH7lHTceHrxHKK/view?usp=drivesdk
SHA256 9af0ef42b97f71fd09587990c5b1d8ce14792252eb05a32cd58a1197f60f5a29
@@ -0,0 +1,15 @@
{
"retired_packages": [
"windows-current1299-optional-capture-release-candidate-r01-46fc6c398e3d42a4a0a55646d495b070",
"windows-current1299-unsorted-membership-release-candidate-r01-4a758a1bb6f24fbfb0b1a5dff56d0421",
"p02-03-r05-windows-export-native-r03"
],
"zip_bytes": 272027653,
"distribution_bytes": 491512275,
"free_before": 1167253504,
"free_after": 1644806144,
"net_free_delta": 477552640,
"all_export_proofs_and_sources_retained": true,
"all_zip_and_restore_bytes_verified_in_Drive": true,
"formal_credit": 0
}
@@ -0,0 +1,6 @@
{
"all_three_zip_and_36_distribution_members_exact": true,
"no_open_files": true,
"cloud_zip_and_restore_byte_verification_complete": true,
"formal_credit": 0
}
@@ -0,0 +1,26 @@
"""Restore archived historical ZIPs and exact distribution bytes to a fresh folder."""
import argparse,hashlib,json,os,shutil,zipfile
from pathlib import Path
def sha(p):
with p.open('rb')as f:return hashlib.file_digest(f,'sha256').hexdigest()
p=argparse.ArgumentParser();p.add_argument('manifest');p.add_argument('destination');p.add_argument('archives',nargs='+');a=p.parse_args();m=json.loads(Path(a.manifest).read_text());root=Path(a.destination).resolve();archives={}
for name in a.archives:
path=Path(name);h=sha(path);assert h not in archives;archives[h]=path
assert set(archives)=={x['zip']['sha256']for x in m['items']}
for item in m['items']:
dest=root/item['name'];assert dest.resolve().is_relative_to(root)and not dest.exists()and not dest.is_symlink();source=archives[item['zip']['sha256']];assert source.stat().st_size==item['zip']['bytes'];dest.mkdir(parents=True)
target=dest/Path(item['zip']['path']).name
with source.open('rb')as inp,target.open('xb')as out:shutil.copyfileobj(inp,out,1024**2)
assert sha(target)==item['zip']['sha256'];os.chmod(target,item['zip']['mode']);os.utime(target,ns=(item['zip']['mtime_ns'],item['zip']['mtime_ns']))
files={x['relative_path']:x for x in item['files']}
with zipfile.ZipFile(source)as archive:
assert set(archive.namelist())==set(files)and len(archive.infolist())==len(files)
for name,x in files.items():
relative=Path(name);assert not relative.is_absolute()and '..'not in relative.parts;path=dest/'distribution'/relative;assert path.resolve().is_relative_to(dest)and not path.exists();path.parent.mkdir(parents=True,exist_ok=True);h=hashlib.sha256()
with archive.open(name)as inp,path.open('xb')as out:
for chunk in iter(lambda:inp.read(1024**2),b''):h.update(chunk);out.write(chunk)
assert h.hexdigest()==x['sha256']and path.stat().st_size==x['bytes'];os.chmod(path,x['mode']);os.utime(path,ns=(x['mtime_ns'],x['mtime_ns']))
for d in reversed(item['directories']):
path=dest/'distribution'/d['path'];os.chmod(path,d['mode']);os.utime(path,ns=(d['mtime_ns'],d['mtime_ns']))
print('Verified and restored',len(m['items']),'historical packages')

Some files were not shown because too many files have changed in this diff Show More