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

This commit is contained in:
Agent Control Runner
2026-10-14 00:18:43 +09:00
parent d1c7ce27d2
commit bf559632dd
3 changed files with 663 additions and 109 deletions
@@ -1,111 +1,306 @@
{ {
"task": "P08-02 metadata-only finalization before final native/OS/regression/review", "purpose": "Same retained candidate; diagnose checker against real native outputs. Original native bytes and candidate preserved; not game acceptance.",
"original_full_handoff_git": { "actual_candidate": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"commit": "1545bd42d689a9a6382e2b003ee0550fa197f6e4", "all8_native_phases_pass": true,
"path": "docs/plans/original-completion-2026-10-02/execution/p08-02/ROOT_REPAIR_INPUT-r04.json", "defects": [
"sha256": "23ef44a0775ca53f1f67d6d64fcc96cd33eae935478768e9ce9431796eaa12ef", "actual Vector3i constructor scalar format rejected by decoder",
"bytes": 12020 "logistics lazy destination inventory treated as orphan although canonical live facility exists",
}, "RESERVED queued request has no assigned carrier by domain contract",
"keep_code_unchanged": [ "support revision is global world revision epoch, not independent +1 counter; actual changed142→150 alongside world144→150 after occupancy rewrites"
"fixture",
"collector",
"checker",
"test",
"UID",
"marker",
"production runtime/UI"
], ],
"current_source_pins": { "actual_readonly_diagnostics": {
"tools/check_p08_migration_evidence.py": "928353233bf85436a5aaf8c4f77f3f82472d94b8ad2646cb1b030baf92b3b5dc", "ACTUAL_NATIVE_CHECKER.json": {
"tools/test_p08_migration_evidence.py": "fd9ef7ec63f53dfd5e04e261606c9303d01a2e6590e22a35fef2e35df1429280" "candidate": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
}, "elapsed_seconds": 16.212463750038296,
"actual_worker_tests": { "actual_readonly_checker_deficits": [
"run_id": "7cd74f004a72415fb6f4503792d297b4", "OS proof: unsafe artifact path",
"model": "gpt-6-astra", "case off-positive: invalid literal for int() with base 10: 'Vector3i(0'",
"AST": 3, "case off-refusal: invalid literal for int() with base 10: 'Vector3i(0'",
"checker_test_methods": 4, "case on-positive: invalid literal for int() with base 10: 'Vector3i(6'",
"checker_test_seconds": 61.547, "case on-refusal: invalid literal for int() with base 10: 'Vector3i(-12'",
"source_frozen_before_and_after": true, "final regression: unsafe artifact path"
"scope": "synthetic local only, no final acceptance"
},
"actual_native_evidence": {
"commit": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"writer_reader_cases": 8,
"passed_native": 8,
"final_current_source_map_applicability": false,
"purpose": "retained diagnostic evidence, must not re-label SHA"
},
"actual_current_checker_diagnostic": {
"commit": "1545bd42d689a9a6382e2b003ee0550fa197f6e4",
"native_data_commit": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"4case_original_checkpoint_minute1_30_80_160_semantics_and_revision_pass": true,
"original_unit_accepted": false
},
"required_changes": [
"implementation.json old output SHA/local tests are stale: update to exact current pins and actual4tests61.547, record synthetic scope/no acceptance",
"current generator reference must match current test source; retain historical generator references at their original Git/SHA, do not falsify past records",
"keep previous inline metadata/example full content in existing Git1545 bytes with rawSHA provenance; compact reference is allowed instead of duplicating obsolete config examples",
"sync CONDITION_MATRIX only if it claims old parser/crosslink/revision assumptions",
"compact this Root-owned handoff after reading by preserving current full Git input reference and concise result summary; do not enlarge reviewer packet",
"no source edits beyond allowed metadata files. No new checker/native/full regression tests for metadata-only change. Verify JSON parse, raw source pins, generator/current history reference, complete Runner.packet retaining all required sources; no fixed byte cap."
],
"latest_direct_owner_policy": {
"fixed_review_packet_byte_limit": null,
"file_count_limit": null,
"supersedes_all_older_500k_handoff_requirements": true,
"complete_required_materials_and_independent_review_retained": true
},
"metadata_sync_handoff": {
"current_tool_raw_sha256": {
"tools/check_p08_migration_evidence.py": "928353233bf85436a5aaf8c4f77f3f82472d94b8ad2646cb1b030baf92b3b5dc",
"tools/test_p08_migration_evidence.py": "fd9ef7ec63f53dfd5e04e261606c9303d01a2e6590e22a35fef2e35df1429280"
},
"recorded_astra_run": {
"run_id": "7cd74f004a72415fb6f4503792d297b4",
"model": "gpt-6-astra",
"AST": 3,
"checker_test_methods": 4,
"checker_test_seconds": 61.547,
"source_frozen_before_and_after": true,
"scope": "synthetic local only, no final acceptance"
},
"retained_native": {
"commit": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"phases_passed": 8,
"classification": "retained diagnostic PASS, not final; original source/commit unchanged"
},
"recorded_preflight": {
"checker_commit": "1545bd42d689a9a6382e2b003ee0550fa197f6e4",
"native_data_commit": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"cases_passed": 4,
"classification": "real-data semantic/revision preflight PASS, not acceptance; not rerun"
},
"full_input_git": {
"commit": "1545bd42d689a9a6382e2b003ee0550fa197f6e4",
"path": "docs/plans/original-completion-2026-10-02/execution/p08-02/ROOT_REPAIR_INPUT-r04.json",
"sha256": "23ef44a0775ca53f1f67d6d64fcc96cd33eae935478768e9ce9431796eaa12ef",
"bytes": 12020,
"hash_scope": "Git raw bytes"
},
"full_previous_inline_metadata_git": {
"commit": "1545bd42d689a9a6382e2b003ee0550fa197f6e4",
"path": "docs/plans/original-completion-2026-10-02/execution/p08-02/implementation.json",
"sha256": "ae4a9f11c4e10a2be31d8fc6429577ff5f14f6097fae4f2d5a6a321937fefdac",
"bytes": 16946,
"hash_scope": "Git raw bytes"
},
"formal_validation": {
"commit": "db010bb7",
"status": "reject",
"reasons": [
"actual old-native source-map/commit mismatch",
"normal OS proof not executed",
"final regression not executed"
], ],
"old_native_sha_relabelled": false "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"
}, },
"source_refs_unchanged": "run_all_tests.py source_refs enumerates autoload/scripts/scenes/data/tests/assets/tools plus project.godot/export_presets.cfg/Makefile/AGENTS.md, excluding docs. Only docs changed, so source refs unchanged.", "VECTOR_DECODER_READONLY_DIAGNOSTIC.json": {
"review_packet": "No .review-material or explicit complete 18-source Runner packet manifest provided in this checkout. Exact packet bytes cannot be claimed without Runner operation (prohibited); Root must measure complete actual submitted packet. No required source was removed.", "candidate": "592809bfdaf6a1bbc5ec9cbaeff71a7bb072add9",
"pending_root": "writer semantic preflight, final complete native once, OS collection, final regression, independent review; original six conditions and denominator unchanged." "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."
]
} }
File diff suppressed because one or more lines are too long
@@ -75,7 +75,7 @@
}, },
{ {
"path": "docs/plans/original-completion-2026-10-02/execution/p08-02/implementation.json", "path": "docs/plans/original-completion-2026-10-02/execution/p08-02/implementation.json",
"sha256": "99bf42766caec72f3fdeb13fbfac02bad59c518be3bda7b8c8eb08287ba7cd05", "sha256": "fee85e6f4bb2824fc64bdfa275302f503a3234d83ab6c473c5e3ae6fdf91a3a6",
"hash_scope": "canonical normalized self record: replace this sha256 with null, UTF-8 json.dumps(ensure_ascii=False,sort_keys=True,separators=(comma,colon)), no newline", "hash_scope": "canonical normalized self record: replace this sha256 with null, UTF-8 json.dumps(ensure_ascii=False,sort_keys=True,separators=(comma,colon)), no newline",
"disposition": "r04 current source; retained paths and UID/marker entries" "disposition": "r04 current source; retained paths and UID/marker entries"
}, },
@@ -115,12 +115,30 @@
"exit_code": 0, "exit_code": 0,
"result": "2 tests in 33.523s, OK; synthetic only", "result": "2 tests in 33.523s, OK; synthetic only",
"classification": "Historical worker run; superseded as current local-check metadata, preserved without relabeling." "classification": "Historical worker run; superseded as current local-check metadata, preserved without relabeling."
},
{
"command": "python3 -B tools/test_p08_migration_evidence.py (Repair 7, final frozen sources)",
"exit_code": 0,
"result": "4 tests in 55.197s, OK; synthetic only"
} }
], ],
"local_checks": { "local_checks": {
"ast_parse": "passed, three Python sources", "ast_parse": "passed, three Python sources",
"checker_tests": "Recorded Astra run 7cd74f004a72415fb6f4503792d297b4: 4 tests in 61.547s, PASS; source fixed before/after. Scope: synthetic local checker tests only, not native or final acceptance; not rerun by this worker.", "checker_tests": {
"native_or_full_regression_run": false "command": "python3 -B tools/test_p08_migration_evidence.py",
"tests_run": 4,
"elapsed_seconds": 55.197,
"result": "OK",
"exit_code": 0,
"scope": "Synthetic local checker tests only; source edits frozen before this single run. Not native, OS, full regression or acceptance evidence.",
"final_raw_sha256": {
"tools/test_p08_migration_evidence.py": "fd9ef7ec63f53dfd5e04e261606c9303d01a2e6590e22a35fef2e35df1429280",
"tools/check_p08_migration_evidence.py": "928353233bf85436a5aaf8c4f77f3f82472d94b8ad2646cb1b030baf92b3b5dc",
"docs/plans/original-completion-2026-10-02/execution/p08-02/ROOT_REPAIR_INPUT-r04.json": "23ef44a0775ca53f1f67d6d64fcc96cd33eae935478768e9ce9431796eaa12ef"
}
},
"native_or_full_regression_run": false,
"evidence_reuse_pending": "Reuse of earlier native 8, OS and final 174 regression evidence is pending Root confirmation of exact source_map, input, config and environment matches. If restored r04 is in the selected source map, Root must decide whether to re-collect. Independent review and integration remain pending; no unconfirmed evidence counts asserted."
}, },
"pending_root_conditions": [ "pending_root_conditions": [
"mixed_construction", "mixed_construction",