P08-02: 旧配置の安全な変更

This commit is contained in:
Agent Control Runner
2026-10-13 22:21:16 +09:00
parent 592809bfda
commit 1545bd42d6
3 changed files with 453 additions and 51 deletions
@@ -1,39 +1,306 @@
{
"preserved_previous_handoff": {
"record_type": "preserved_coordinator_input_reference",
"original_git_reference": {
"commit": "bb34f443c4645a56d7798a142f1e2d8ddf615cae",
"path": "docs/plans/original-completion-2026-10-02/execution/p08-02/ROOT_REPAIR_INPUT-r04.json"
},
"original_raw_sha256": "d6977dd3e189bbb19d08d79733d70f7db8b25c082b64483ae2781177c91da519",
"original_raw_bytes": 27521,
"purpose": "Coordinator handoff input, not game acceptance proof. Full original retained in Git candidate already pushed.",
"do_not_omit_acceptance_sources": true
},
"current_native_failure": {
"candidate": "bb34f443c4645a56d7798a142f1e2d8ddf615cae",
"actual_writer_pid": 70289,
"log_message": "build_facility: 先に階段の一つ下の階に通路を作ってください。",
"checks": 30,
"failures": 1,
"initial_resource_failure_resolved_to_next_phase": true,
"import_pid": 70134,
"parse_pid": 70255,
"all_remaining_cases_not_run": true,
"no_original_unit_acceptance": true
},
"root_packet_actual_bytes": 501277,
"scope": [
"fixture diagnostic setup sequencing only",
"Root-owned handoff compact provenance",
"metadata of these changes"
"purpose": "Same retained candidate; diagnose checker against real native outputs. Original native bytes and candidate preserved; not game acceptance.",
"actual_candidate": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"all8_native_phases_pass": true,
"defects": [
"actual Vector3i constructor scalar format rejected by decoder",
"logistics lazy destination inventory treated as orphan although canonical live facility exists",
"RESERVED queued request has no assigned carrier by domain contract",
"support revision is global world revision epoch, not independent +1 counter; actual changed142→150 alongside world144→150 after occupancy rewrites"
],
"opportunity": "Keep all acceptance source18, no reviewer source omission. Compact this coordinator JSON instead of repeating full27KB after it has been preserved in Git.",
"worker_guidance": [
"Fix actual fixture prerequisite using existing completed lower landings, registered build_minutes; do not invent floor rules or skip stairs.",
"Read only needed definition/rule snippets; preflight remaining setup command preconditions and resolve closely related fixture preparation defects together. No production value or source edits.",
"Improve failed-command diagnostic label to include kind/payload/details only upon failure so Root can diagnose future native failures without separate replays. No valid behaviour changes.",
"No wholesale three-stage/collector/checker reimplementation. Preserve current successful resource derivation and full legacy history reference.",
"AST and checker relevant local verification. No duplicate full regression or native worker execution. Root runs final exactcandidate."
"actual_readonly_diagnostics": {
"ACTUAL_NATIVE_CHECKER.json": {
"candidate": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"elapsed_seconds": 16.212463750038296,
"actual_readonly_checker_deficits": [
"OS proof: unsafe artifact path",
"case off-positive: invalid literal for int() with base 10: 'Vector3i(0'",
"case off-refusal: invalid literal for int() with base 10: 'Vector3i(0'",
"case on-positive: invalid literal for int() with base 10: 'Vector3i(6'",
"case on-refusal: invalid literal for int() with base 10: 'Vector3i(-12'",
"final regression: unsafe artifact path"
],
"full_game_acceptance": false,
"original_unit_completed": false,
"index": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p08-02-native-mixed-r05/index.json"
},
"VECTOR_DECODER_READONLY_DIAGNOSTIC.json": {
"candidate": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"scope": "Root readonly decoder prototype diagnostic; no candidate code or actual evidence altered; no acceptance",
"observations": [
{
"case": "off-positive",
"jobs": [
{
"id": "construction_00000015",
"state": "BUILDING",
"progress": 1266
},
{
"id": "construction_00000016",
"state": "PLANNED",
"progress": 0
}
],
"starting_job": "construction_00000016"
},
{
"case": "off-refusal",
"jobs": [
{
"id": "construction_00000015",
"state": "BUILDING",
"progress": 1266
},
{
"id": "construction_00000016",
"state": "PLANNED",
"progress": 0
}
],
"starting_job": "construction_00000016"
},
{
"case": "on-positive",
"jobs": [
{
"id": "construction_00000015",
"state": "BUILDING",
"progress": 1266
},
{
"id": "construction_00000016",
"state": "PLANNED",
"progress": 0
}
],
"starting_job": "construction_00000016"
},
{
"case": "on-refusal",
"jobs": [
{
"id": "construction_00000015",
"state": "BUILDING",
"progress": 1266
},
{
"id": "construction_00000016",
"state": "PLANNED",
"progress": 0
}
],
"starting_job": "construction_00000016"
}
],
"remaining_deficits": [
"OS proof: unsafe artifact path",
"case off-positive: orphan cargo endpoint",
"case off-refusal: orphan cargo endpoint",
"case on-positive: orphan cargo endpoint",
"case on-refusal: orphan cargo endpoint",
"final regression: unsafe artifact path"
],
"elapsed_seconds": 16.21374141704291
},
"CARGO_ENDPOINT_READONLY_DIAGNOSTIC.json": [
{
"first_label": "original",
"original_requests": [
"supply.logistics_request.000000000001",
"supply.logistics_request.000000000002"
],
"active_inventory_ids": [
"cargo:staff_gina",
"facility.inventory:facility_00000005"
],
"requests": [
{
"request_id": "supply.logistics_request.000000000001",
"source_inventory_id": "facility.inventory:facility_00000005",
"destination_inventory_id": "facility.inventory:facility_00000006",
"item_requirements": {
"ingredient/raw_food": 4
},
"priority": 50,
"created_at": 728,
"deadline": -1,
"total_weight": 4,
"reserved_stack_ids": [
"stack_00000001"
],
"reservation_ids": [
"reservation_00000001"
],
"assigned_carrier_id": "staff_gina",
"state": "DELIVERING",
"retry_count": 0,
"state_reason": "",
"state_changed_at": 735
},
{
"request_id": "supply.logistics_request.000000000002",
"source_inventory_id": "facility.inventory:facility_00000005",
"destination_inventory_id": "facility.inventory:facility_00000006",
"item_requirements": {
"ingredient/raw_food": 4
},
"priority": 50,
"created_at": 729,
"deadline": -1,
"total_weight": 4,
"reserved_stack_ids": [
"stack_00000001"
],
"reservation_ids": [
"reservation_00000002"
],
"assigned_carrier_id": "",
"state": "RESERVED",
"retry_count": 0,
"state_reason": "NO_AVAILABLE_PORTER_OR_ROUTE",
"state_changed_at": 729
}
]
}
],
"CARGO_RULE_READONLY_DIAGNOSTIC.json": {
"candidate": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"scope": "Root readonly prototype only. Candidate/checker/evidence files unchanged, no formal acceptance.",
"basis": "Authoritative SupplyLogisticsBridge.validate_crosslinks lines508-554 resolves facility inventory endpoints by facility ownership and allows unassigned RESERVED request with valid reservation; destination inventory materializes upon delivery.",
"remaining_deficits": [
"OS proof: unsafe artifact path",
"final regression: unsafe artifact path",
"unapproved typed migration delta off-positive/systems/runtime/world/revisions/support",
"unapproved typed migration delta on-positive/systems/runtime/world/revisions/support"
],
"elapsed_seconds": 78.40071395831183
},
"ACTUAL_WORLD_REVISION_DELTAS.json": [
{
"case": "off-positive",
"original_world_revisions": {
"world": 144,
"occupancy": 144,
"walkability": 99,
"excavation": 0,
"support": 142
},
"checkpoint_world_revisions": {
"world": 150,
"occupancy": 150,
"walkability": 99,
"excavation": 0,
"support": 150
}
},
{
"case": "on-positive",
"original_world_revisions": {
"world": 144,
"occupancy": 144,
"walkability": 99,
"excavation": 0,
"support": 142
},
"checkpoint_world_revisions": {
"world": 150,
"occupancy": 150,
"walkability": 99,
"excavation": 0,
"support": 150
}
},
{
"case": "off-refusal",
"original_world_revisions": {
"world": 144,
"occupancy": 144,
"walkability": 99,
"excavation": 0,
"support": 142
},
"checkpoint_world_revisions": {
"world": 144,
"occupancy": 144,
"walkability": 99,
"excavation": 0,
"support": 142
}
},
{
"case": "on-refusal",
"original_world_revisions": {
"world": 144,
"occupancy": 144,
"walkability": 99,
"excavation": 0,
"support": 142
},
"checkpoint_world_revisions": {
"world": 144,
"occupancy": 144,
"walkability": 99,
"excavation": 0,
"support": 142
}
}
]
},
"source_basis": {
"scripts/supply/supply_logistics_bridge.gd:508": [
"static func validate_crosslinks(requests: Dictionary, staff: StaffService, inventory: InventoryService, facilities: FacilityService) -> bool:",
"\tvar carrier_owners: Dictionary = {}",
"\tvar active_task_ids: Dictionary = {}",
"\tfor id: StringName in _request_ids(requests):",
"\t\tvar request: LogisticsRequest = requests[id]",
"\t\tvar source := _facility_for_inventory(facilities, request.source_inventory_id)",
"\t\tvar destination := _facility_for_inventory(facilities, request.destination_inventory_id)",
"\t\tif not String(request.source_inventory_id).begins_with(\"facility.inventory:\") or not String(request.destination_inventory_id).begins_with(\"facility.inventory:\"):",
"\t\t\treturn false",
"\t\tif not request.is_terminal() and (source == null or destination == null):",
"\t\t\treturn false",
"\t\tvar task := _active_task(staff, id)",
"\t\tif request.state in [LogisticsRequest.State.RESERVED, LogisticsRequest.State.BLOCKED] or request.is_terminal():",
"\t\t\tif task != null:",
"\t\t\t\treturn false",
"\t\t\tif request.state == LogisticsRequest.State.RESERVED and not _reservation_quantities_valid(request, inventory, true):",
"\t\t\t\treturn false",
"\t\t\tcontinue",
"\t\tif request.state not in [LogisticsRequest.State.ASSIGNED, LogisticsRequest.State.PICKING_UP, LogisticsRequest.State.DELIVERING]:",
"\t\t\treturn false",
"\t\tvar worker := staff.get_staff(request.assigned_carrier_id)",
"\t\tif worker == null or worker.role_id != &\"porter\" or carrier_owners.has(worker.staff_id) \\",
"\t\t\tor task == null or task.assigned_staff_id != worker.staff_id or worker.current_task_id != task.task_id \\"
],
"scripts/world/world_service.gd:652": [
"func _mark_dirty(",
"\tcells: Array,",
"\toccupancy_changed: bool,",
"\twalkability_changed: bool,",
"\texcavation_changed: bool,",
"\tsupport_changed: bool",
") -> void:",
"\trevision += 1",
"\tif occupancy_changed:",
"\t\toccupancy_revision = revision",
"\tif walkability_changed:",
"\t\twalkability_revision = revision",
"\tif excavation_changed:",
"\t\texcavation_revision = revision",
"\tif support_changed:",
"\t\tsupport_revision = revision",
"\tfor cell: Variant in cells:",
"\t\tif cell is Vector3i and is_in_bounds(cell):",
"\t\t\t_dirty_cells[cell] = true"
]
},
"instructions": [
"Read only this compact file first; no broad history or full evidence dump.",
"Do not modify fixture/runtime/collector/native semantics already passed. Fix checker decoding/crosslink/counter checks, realistic targeted tests and metadata together. Original6conditions and30/88 unchanged.",
"Native bytes must stay immutable. Decide whether tested runtime inputs exactly match final after tooling-only changes; do not silently re-label old tested SHA. If final validator requires exact full source-map, execute final native once after all tooling fixes consolidated.",
"Freeze all source edits before running checker tests; prior README mutation during tests caused preventable stale proof retry.",
"Root external native collector should check first-writer actual scalar/crosslink semantics before running all other phases to avoid repeated whole collection.",
"Independent review and OS/final regression remain mandatory."
]
}