{ "audit_version": 1, "audit_date_jst": "2026-10-02", "recorded_at_jst": "2026-10-02T01:12:01.348281+09:00", "production_root": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部", "baseline_head": "285528b7a3b1b46a2a67af5aa90d9085539b42f4", "working_head": "285528b7a3b1b46a2a67af5aa90d9085539b42f4", "scope": [ "P01-02", "P02-01", "P02-02", "P03-01", "P03-02", "P03-03", "P04-01" ], "status": "partial_implementation_and_evidence_audit", "p03_complete": false, "original_completion_claim": false, "initial_baseline_source_reconciliation": { "map": "artifacts/facility-need-pricing-production-scale-adoption-2026-10-01-r01/after.json", "checked_paths": 1396, "changed_paths_before_this_turn_edits": [], "note": "Verified at the start of this audit before P03 and Path changes. Receipt reports 155 suites / 12310 checks; no full-engine rerun is claimed by this subtask." }, "code_changes": { "status": "working_tree_implemented_pending_root_integration", "sha256": { "autoload/simulation_runtime.gd": "d3ad4aab6ded19eb137c5494481cc7333e846746a25b18dbad3c8b663e9f6b72", "scripts/core/save_service.gd": "7c107a509b3afccb478ba89d051fbaa9a8c93165326fac8e4cef2249c05879d0", "scripts/core/simulation_snapshot.gd": "fc528a3d1db1f439c10f70d6cba2f72bd65abc0d3866eb8b582df60918af0adf", "tests/s6/test_save_preflight.gd": "49e24247649839b6f50d19b2284368efb7f8f8b189c5010491ad428e97c1c8b9" }, "new_test": "tests/s6/test_save_preflight.gd", "root_owns_full_regression": true }, "contracts": [ { "id": "SAVE-PACKAGE", "scope": "formal package", "current_version": 1, "refs": [ { "path": "scripts/core/save_service.gd", "line": 4, "sha256": "7c107a509b3afccb478ba89d051fbaa9a8c93165326fac8e4cef2249c05879d0" }, { "path": "scripts/core/save_service.gd", "line": 823, "sha256": "7c107a509b3afccb478ba89d051fbaa9a8c93165326fac8e4cef2249c05879d0" } ], "stored": [ "manifest.json", "world.bin", "thumbnail.png", "journal.log" ], "rejection": "Path/symlink, manifest numeric/type, binary header, checksum, advertised size, envelope schema are checked before accepting." }, { "id": "SAVE-ENVELOPE", "scope": "generic simulation envelope", "current_version": 1, "refs": [ { "path": "scripts/core/simulation_snapshot.gd", "line": 16, "sha256": "fc528a3d1db1f439c10f70d6cba2f72bd65abc0d3866eb8b582df60918af0adf" } ], "stored": [ "schema_version", "clock", "game_state", "systems" ], "rejection": "Exact integral numeric schema/minute/speed, optional typed pause and nonnegative snapshot_version; malformed values refuse before clock/state restoration. Absent legacy pause/version keep defaults; valid old x4 resumes x3." }, { "id": "SAVE-RUNTIME", "scope": "live full Runtime restore", "current_version": 13, "supported_runtime_versions": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 ], "refs": [ { "path": "autoload/simulation_runtime.gd", "line": 569, "sha256": "d3ad4aab6ded19eb137c5494481cc7333e846746a25b18dbad3c8b663e9f6b72" } ], "stored": [ "command_queue", "ID counters", "domain_events", "RNG streams", "world", "path", "movement credits", "mana", "weather", "economy", "upkeep accrual/settlement", "inventory", "production", "elevators", "stairs", "logistics", "facility operations/cleanliness", "guest/staff", "catalog/progression", "relationships/events", "authority/defense", "construction/excavation", "subslots/route/infrastructure" ], "rejection": "Temporary services and crosslinks are validated before swapping live services; v5+ exact canonical outer/runtime keys. Supported legacy aggregates initialize or migrate only through explicit existing version branches." }, { "id": "SAVE-PREFLIGHT", "scope": "read-only dimension migration preview", "refs": [ { "path": "scripts/core/save_service.gd", "line": 58, "sha256": "7c107a509b3afccb478ba89d051fbaa9a8c93165326fac8e4cef2249c05879d0" }, { "path": "autoload/simulation_runtime.gd", "line": 12967, "sha256": "d3ad4aab6ded19eb137c5494481cc7333e846746a25b18dbad3c8b663e9f6b72" } ], "mutation_contract": "Named formal package only; no reconciliation/promotion/deletion, no fallback selection and no automatic migration. Missing formal stays missing. Isolated Runtime preview preserves disk and live snapshot." }, { "id": "SAVE-COMMIT", "scope": "explicit migrated snapshot promotion", "refs": [ { "path": "scripts/core/save_service.gd", "line": 390, "sha256": "7c107a509b3afccb478ba89d051fbaa9a8c93165326fac8e4cef2249c05879d0" }, { "path": "autoload/simulation_runtime.gd", "line": 12893, "sha256": "d3ad4aab6ded19eb137c5494481cc7333e846746a25b18dbad3c8b663e9f6b72" } ], "mutation_contract": "Expected source snapshot/digest, verified candidate, exact pre_migration backup, atomic promotion and interrupted promotion recovery. Live Runtime unaffected until UI explicitly loads migrated formal." }, { "id": "SAVE-RECOVERY", "scope": "ordinary load and candidate recovery", "refs": [ { "path": "scripts/core/save_service.gd", "line": 932, "sha256": "7c107a509b3afccb478ba89d051fbaa9a8c93165326fac8e4cef2249c05879d0" }, { "path": "autoload/simulation_runtime.gd", "line": 4050, "sha256": "d3ad4aab6ded19eb137c5494481cc7333e846746a25b18dbad3c8b663e9f6b72" } ], "mutation_contract": "Ordinary load/recovery inventory may reconcile durable transaction artifacts; cannot be labeled globally read-only. Runtime whitelist repair/fallback are distinct from strict restore and read-only preview." } ], "technical_resource_limits": { "full_runtime_20000_cell_acceptance": false, "manifest_limit_bytes": 4194304, "starter_runtime_compressed_bytes": 7511, "starter_runtime_raw_bytes": 61040, "world_cells": 20000, "world_limit_bytes": 268435456, "world_only_compressed_bytes": 18873, "world_only_raw_bytes": 640488 }, "before_reproductions": [ { "path": "artifacts/original-completion-2026-10-02/p03-save-preflight/before-repro.log", "sha256": "17de92bc9323e13f5c16905e4a05ee0602821aea5560ef9d0d0e9d05573567ec", "facts": [ "dimension preview deleted stale formal-save transaction marker", "format_version true / string 1 / fractional 1.5 each loaded successfully" ] }, { "path": "artifacts/original-completion-2026-10-02/p03-save-preflight/envelope-before.log", "sha256": "c917d3b772ad97b32cbcbc823590e01873b00c1768bc566381c8c9c93769615b", "facts": [ "schema string/bool/fraction, minute string, speed bool/fraction, pause string and negative snapshot_version passed generic validation" ] } ], "current_final_targeted_evidence": { "phase": "r02", "results": [ { "test": "tests/s6/test_save_preflight.gd", "exit_code": 0, "passed": true, "checks": 128, "seconds": 3.15, "log": "tests__s6__test_save_preflight.gd-r02.log" }, { "test": "tests/s6/test_save_operations.gd", "exit_code": 0, "passed": true, "checks": 127, "seconds": 2.79, "log": "tests__s6__test_save_operations.gd-r02.log" }, { "test": "tests/s6/test_runtime_save_lifecycle.gd", "exit_code": 0, "passed": true, "checks": 96, "seconds": 6.68, "log": "tests__s6__test_runtime_save_lifecycle.gd-r02.log" }, { "test": "tests/run_tests.gd", "exit_code": 0, "passed": true, "checks": 73, "seconds": 1.13, "log": "tests__run_tests.gd-r02.log" }, { "test": "tests/transport/test_transport_save.gd", "exit_code": 0, "passed": true, "checks": 29, "seconds": 1.7, "log": "tests__transport__test_transport_save.gd-r02.log" }, { "test": "tests/ui/test_dimension_migration_ui.gd", "exit_code": 0, "passed": true, "checks": 12, "seconds": 2.33, "log": "tests__ui__test_dimension_migration_ui.gd-r02.log" }, { "test": "tests/supply/test_supply_save_migration.gd", "exit_code": 0, "passed": true, "checks": 20, "seconds": 1.18, "log": "tests__supply__test_supply_save_migration.gd-r02.log" } ], "suites": 7, "checks": 485, "failed_suites": 0, "source_manifest": "artifacts/original-completion-2026-10-02/p03-save-preflight/source-start.json", "source_change": [], "classification": "Controlled domain / save API tests plus headless actual migration-menu signal-handler test; no native pointer or Windows claim." }, "prior_related_evidence": { "phase": "r01_before_integral_float_fix", "results": [ { "test": "tests/s1/test_dimension_batch_save.gd", "exit_code": 0, "passed": true, "checks": 23, "seconds": 2.31, "log": "tests__s1__test_dimension_batch_save.gd.log" }, { "test": "tests/s1/test_weighted_resize_runtime.gd", "exit_code": 0, "passed": true, "checks": 63, "seconds": 2.14, "log": "tests__s1__test_weighted_resize_runtime.gd.log" }, { "test": "tests/staff/test_dormitory_dimension_migration.gd", "exit_code": 0, "passed": true, "checks": 25, "seconds": 2.37, "log": "tests__staff__test_dormitory_dimension_migration.gd.log" }, { "test": "tests/ui/test_selection_autosave.gd", "exit_code": 0, "passed": true, "checks": 75, "seconds": 27.26, "log": "tests__ui__test_selection_autosave.gd.log" } ], "checks": 186, "note": "Passed before final envelope comparison correction. These logs are historical; do not aggregate as final exact-source acceptance." }, "retained_failure_history": [ { "path": "artifacts/original-completion-2026-10-02/p03-save-preflight/preflight-r01.log", "reason": "85 logical checks passed but malformed JSON emitted engine ERROR; phase is not accepted. Loader now uses JSON.parse with returned error." }, { "path": "artifacts/original-completion-2026-10-02/p03-save-preflight/tests__s6__test_save_preflight.gd.log", "reason": "128 checks / 1 failure: Array membership rejected integral float speed. Fixed by converting only after numeric integer validation." } ], "old_evidence_reconciliation": [ { "source_map": "artifacts/snapshot-opening-restart-2026-09-29/source-start.json", "source_map_sha256": "7d8f9fbd35579d4a784b93f18af5178e9302cc3b32bb385d118cb8b4891cbabc", "checked_paths": 283, "changed_paths": [ "autoload/simulation_runtime.gd", "data/facilities/expansion/premium_room.tres", "data/facilities/expansion/staff_dormitory.tres", "data/facilities/standard_room.tres", "scenes/main/main.gd", "scenes/main/world_preview.gd", "scripts/core/command_queue.gd", "scripts/core/save_service.gd", "scripts/core/simulation_snapshot.gd", "scripts/data/facility_catalog.gd", "scripts/data/mvp_content_catalog.gd", "scripts/defense/defense_service.gd", "scripts/events/event_action.gd", "scripts/facility/facility_pricing.gd", "scripts/facility/facility_service.gd", "scripts/guest/guest_service.gd", "scripts/operations/operations_coordinator.gd", "scripts/staff/staff_service.gd", "scripts/ui/business_management_panel.gd", "scripts/ui/guest_observation_panel.gd", "scripts/ui/inn_opening_guide.gd", "scripts/ui/layer_interface_skin.gd", "scripts/ui/pixel_tower_art.gd", "scripts/ui/staff_management_panel.gd", "scripts/world/facility_infrastructure_projector.gd", "scripts/world/path_service.gd", "scripts/world/world_service.gd", "tests/environment/test_runtime_weather.gd", "tests/export/test_exported_opening.gd", "tests/fixtures/pre_upkeep_runtime.gd", "tests/mvp/test_operations_coordinator.gd", "tests/mvp/test_runtime_content_progression.gd", "tests/mvp/test_runtime_operations_acceptance.gd", "tests/mvp/test_runtime_operations_integration.gd", "tests/s0/test_definition_registry.gd", "tests/s0/test_runtime_integration.gd", "tests/s1/test_runtime_infrastructure_integration.gd", "tests/s3/test_runtime_path_traffic.gd", "tests/s5/test_defense_service.gd", "tests/s5/test_runtime_defense_cycle.gd", "tests/supply/test_supply_save_migration.gd", "tests/transport/test_runtime_stairs.gd", "tests/transport/test_runtime_transport.gd", "tests/transport/test_transport_density_migration.gd", "tests/transport/test_transport_save.gd", "tests/ui/fixtures/opening_restart_flow.gd", "tests/ui/test_business_management.gd", "tests/ui/test_chapel_gameplay.gd", "tests/ui/test_guest_observation.gd", "tests/ui/test_main_dashboard.gd", "tests/ui/test_staff_management.gd" ], "changed_count": 51, "current_exact_source_match": false }, { "source_map": "artifacts/original-completion-2026-10-02/p02-opening-restart/source-start.json", "source_map_sha256": "8793934bc0130b5f45610fc597eccd5bc0c87cc06e9fb20769cd93c7183c9b37", "checked_paths": 316, "changed_paths": [ "autoload/simulation_runtime.gd", "scripts/core/save_service.gd", "scripts/core/simulation_snapshot.gd", "scripts/world/path_service.gd" ], "changed_count": 4, "current_exact_source_match": false } ], "normal_ui_entries": [ { "path": "scenes/main/main.gd", "line": 2120, "sha256": "032f370394973876bd1c220aae92efa48035bc3788a8c55472513cda8a3a657f" }, { "path": "scenes/main/main.gd", "line": 2135, "sha256": "032f370394973876bd1c220aae92efa48035bc3788a8c55472513cda8a3a657f" }, { "path": "scenes/main/main.gd", "line": 2762, "sha256": "032f370394973876bd1c220aae92efa48035bc3788a8c55472513cda8a3a657f" }, { "path": "scenes/main/main.gd", "line": 2786, "sha256": "032f370394973876bd1c220aae92efa48035bc3788a8c55472513cda8a3a657f" } ], "current_update_order": { "source_refs": [ { "path": "scripts/core/simulation_kernel.gd", "line": 122, "sha256": "341c0c878c4894adbac628d0db6362ff69fc3347bdd9e61e50936e15dc2d1edb" }, { "path": "autoload/simulation_runtime.gd", "line": 1720, "sha256": "d3ad4aab6ded19eb137c5494481cc7333e846746a25b18dbad3c8b663e9f6b72" }, { "path": "autoload/simulation_runtime.gd", "line": 4360, "sha256": "d3ad4aab6ded19eb137c5494481cc7333e846746a25b18dbad3c8b663e9f6b72" } ], "order": [ "APPLY_COMMANDS (can abort before clock advance)", "clock minute advance / midnight signals", "TIME_BOUNDARIES: weather, upkeep, operations (lexical handler order)", "MANA", "CONSTRUCTION", "LOGISTICS", "FACILITY_COMPLETION", "VITALS_AND_ENVIRONMENT", "INCIDENTS_AND_EVENTS: authority, defense, relationships", "FACILITY_QUEUES", "AI_DECISIONS", "PUBLISH_SNAPSHOT then queued checkpoints", "clock snapshot_version increment / tick_completed / time_changed" ], "daily_autosave": "06:00 deduplicated by saved last_daily_checkpoint_day; approved maintenance settlement is separate at 00:00", "all_boundary_semantics_accepted": false }, "remaining_gaps": [ { "id": "P03-G01", "package": "P03-01", "state": "partial", "issue": "Per-feature authoritative save contracts for not-yet-implemented needs charging, all original facilities/people, story/endings and encyclopedia are not complete. Existing aggregate serialization is a foundation, not full original acceptance." }, { "id": "P03-G02", "package": "P03-02", "state": "unverified", "issue": "Dimension migration accepted legacy premium/dormitory batch and partial premium construction. Full simultaneous layouts, actors on removed cells, coordinated task destination changes, in-flight elevator/rescue/logistics migration still lack accepted cases." }, { "id": "P03-G03", "package": "P03-02", "state": "unset", "decision": "D07", "issue": "RelationshipState retains trust/respect/affection/fear/dependence. Old five metrics to original three metrics/route meaning is undecided; no guessed conversion is applied." }, { "id": "P03-G04", "package": "P03-03", "state": "unverified", "issue": "Fresh-process normal opening covers the available inn over three closes with explicit timed-domain-event exclusion. Paired cross-process midway delivery, cleaning, defense, all unique progression and every original facility are still missing." }, { "id": "P03-G05", "package": "P03-01", "state": "unverified", "issue": "256 MiB world / 4 MiB manifest limits are technical resource policies. Largest full Runtime world with all actors/services/content remains unmeasured; legitimate oversized legacy saves now refuse with explicit size-limit code." }, { "id": "P04-G01", "package": "P04-01", "state": "partial", "decision": "D05", "issue": "Current phase order can be listed, but all simultaneous closing/power/destruction/exit/charge/shift/00:00 cases have not been accepted. Undecided cost/EV/boundary semantics remain unset." }, { "id": "P02-G01", "package": "P02-02", "state": "unverified", "issue": "Headless/rendered UI signal-handler fixtures are distinct from OS pointer input and native Windows. Current candidate must rerun the same process-restart evidence after source mutations." } ], "overall_atomic_acceptance_percent": null, "overall_atomic_implementation_percent": null, "denominator_fixed_by_this_subtask": false }