Files
TheTree_mock/docs/plans/original-completion-2026-10-02/execution/p04-01/order-audit.json
T

616 lines
31 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"revision": "REPAIR51 pre-submit documentation handoff",
"status": "ACTUAL S50 historical evidence complete; S51 docs-only resubmission; S51 native admission pending at worker handoff (fresh native on Q51 required by S-binding, checker:368-371); post-submit admission determined only by Root version-pinned receipts; formal_acceptance false; P04=0",
"task_id": "P04-01",
"current_table": "M c0ea009; current source facts, policy approvals and ACTUAL S50 historical evidence; S51 admission pending AT HANDOFF",
"scope": {
"conditions": 15,
"additional_EV_obligation": true,
"domains": 7,
"safety_outcomes": [
"no stopped charging",
"no double midnight settlement",
"no orphan reservations"
],
"packages": 30,
"deliveries": 88,
"original_credit": "16/88 formal; P04 receives zero credit",
"CurrentAlphaScope": "unchanged",
"frozen_main": "c0ea009b28a7649aca6a433a1a24dc0be5e7ab81",
"summary": "Documentation-only REPAIR51 within existing P04-01/W; original 30/88, formal 16, P04=0; unit incomplete."
},
"domains": [
{
"domain": "閉店",
"normative_rule": "D-034 preserves started services on direct closure and releases waiting requests. Dependency closure stops progress and charging, retains reservations/service identity, and completes once after recovery. RELATED_FACILITY_INACTIVE wins over NO_POWER when both apply. PAUSE-REASON scope: same-tick onset from ACTIVE only is natively proven; sequential power-first scope explicitly unresolved/unproven.",
"current_source": [
{
"path": "autoload/simulation_runtime.gd",
"function": "_process_tick_commands",
"line": 5765,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "9de66a4bb84b12304300d49085f44546412319bd4aee91e67b61becf97e50294"
},
{
"path": "scripts/facility/facility_service.gd",
"function": "_prepare_service_for_tick",
"line": 853,
"sha256": "ceb4a3e9224587423f273cdb2b56e6843ab176ac1fc4fe79dd498b5ed5c33b77",
"function_sha256": "b35c2c0fb23a04258b71995dd7c3b6dfacbbcdf36106e2e3348acef0e18d21cc"
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_release_closed_business_queues",
"line": 12672,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "3a05fbe94877eeb750fb0d692501954555ab6a8005448ab3b6023dab9bad816b"
}
],
"approved_authority": [
"D-034",
"D05-P04-DEPENDENCY",
"D05-P04-PAUSE-REASON"
],
"pending_D05": [],
"phase": "APPLY_COMMANDS / FACILITY_COMPLETION / FACILITY_QUEUES",
"relative_priority": "Command closure before completion; dependency hold during preparation; closed queue release after completion.",
"status": "approved policy",
"observation_status": "M source observations; ACTUAL S50 historical evidence; S51 admission pending AT HANDOFF",
"historical_evidence": "I native_bundle C; R/s2a.json; R/s3.json B1",
"evidence": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"nativeWindows": "pending"
},
{
"domain": "停電",
"normative_rule": "BASELINE:183 covers real mana depletion. Legitimately stopped service has no progress or charge and preserves reservations. D05-P04-PAUSE-REASON makes dependency closure the displayed reason when dependency closure and power loss coincide.",
"current_source": [
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_mana",
"line": 10716,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "05c54626ce6e355acd92994ab80aaf2177c5cf194885e66934552139e087599e"
},
{
"path": "scripts/facility/facility_service.gd",
"function": "_prepare_service_for_tick",
"line": 853,
"sha256": "ceb4a3e9224587423f273cdb2b56e6843ab176ac1fc4fe79dd498b5ed5c33b77",
"function_sha256": "b35c2c0fb23a04258b71995dd7c3b6dfacbbcdf36106e2e3348acef0e18d21cc"
}
],
"approved_authority": [
"BASELINE:183",
"P04-01 safety acceptance",
"D05-P04-PAUSE-REASON"
],
"pending_D05": [],
"phase": "MANA → FACILITY_COMPLETION",
"relative_priority": "Projection before completion; RELATED chosen before NO_POWER.",
"status": "approved policy",
"observation_status": "M source observations; ACTUAL S50 historical evidence; S51 admission pending AT HANDOFF",
"evidence_scope": "S4 probe calls disconnect_nodes directly: isolated NO_POWER, not global depletion. Global depletion appears only in S3 B1 combined diagnostic. S1 covers separate staff/EV safety.",
"historical_evidence": "R/s4.json; B/p04-s4-native-r28; R/s3.json B1 combined diagnostic",
"evidence": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"nativeWindows": "pending"
},
{
"domain": "破壊",
"normative_rule": "Command destruction precedes completion. Accident/raid destruction follows completion and charging in minute N; that sale remains valid. Failure and reservation release for affected unfinished service occurs in N+1. D05-P04-DESTRUCTION is the authority, not BASELINE:183.",
"current_source": [
{
"path": "autoload/simulation_runtime.gd",
"function": "_process_tick_commands",
"line": 5765,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "9de66a4bb84b12304300d49085f44546412319bd4aee91e67b61becf97e50294"
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_defense",
"line": 8599,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "db38b51531276d2620999d57eed7a6219b73f8b8d9ff3706cf569f4797918527"
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_apply_defense_outcome_boundary",
"line": 9826,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "182c48282d96c6ccd1e5f636751db9de8cef2770ad433b291db89111c5fb5043"
},
{
"path": "scripts/facility/facility_service.gd",
"function": "_prepare_service_for_tick",
"line": 853,
"sha256": "ceb4a3e9224587423f273cdb2b56e6843ab176ac1fc4fe79dd498b5ed5c33b77",
"function_sha256": "b35c2c0fb23a04258b71995dd7c3b6dfacbbcdf36106e2e3348acef0e18d21cc"
}
],
"approved_authority": [
"D05-P04-DESTRUCTION"
],
"pending_D05": [],
"phase": "APPLY_COMMANDS vs INCIDENTS_AND_EVENTS",
"relative_priority": "Command destruction before completion; incident destruction after completion: B4a charges25G then destroys in same tick; B4b next-tick failure/release.",
"status": "approved policy",
"observation_status": "M source observations; ACTUAL S50 historical evidence; S51 admission pending AT HANDOFF",
"historical_evidence": "R/s3.json B4a/B4b",
"evidence": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"nativeWindows": "pending"
},
{
"domain": "退出",
"normative_rule": "D-034 release safety remains. Command exit precedes completion; AI planned exit follows completion and only applies to a deciding guest. Later despawn is distinct.",
"current_source": [
{
"path": "autoload/simulation_runtime.gd",
"function": "_execute_leave_facility_queue",
"line": 7575,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "04733da2c6f9627e6d831f8bb6b620018d63305fe43bb927abf21a969288d90d"
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_guest_ai_decisions",
"line": 8760,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "e33b41294e88dba840affd5cc0a5c58fe5d46f5d98a80a8d5f4e907a3b9a7b93"
}
],
"approved_authority": [
"D-034",
"P04-01 safety acceptance",
"D05-P04-EXIT"
],
"pending_D05": [],
"phase": "APPLY_COMMANDS vs AI_DECISIONS",
"relative_priority": "Command exit before completion/charging; AI PLANNED_EXIT after them; despawn later.",
"status": "approved policy",
"observation_status": "M source observations; ACTUAL S50 historical evidence; S51 admission pending AT HANDOFF",
"historical_evidence": "R/s3.json B2a/B2b/B3 and B1 departure history",
"evidence": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"nativeWindows": "pending"
},
{
"domain": "課金",
"normative_rule": "Charge only completed service, once per idempotency key; retain original price snapshot and reservation/ledger joins. At 00:00 prior-day settlement and upkeep precede completion; the sale belongs to the new day.",
"current_source": [
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_facility_upkeep",
"line": 1876,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "33a969a14d1a15296059cecadc4bf7e5a35c9eb61d82cb9e2d6d9bbcf5c32c68"
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_complete_service_transaction",
"line": 11817,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "f2b6e96a8eeef3dd3f8419b4d9d5ef4e1d13241600ce970bdd78a924428cac6c"
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_apply_service_transaction",
"line": 11833,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "950474ff3ca8a867ee025c2b7635586d79f2385f79586fc66107191ceb329a9a"
},
{
"path": "scripts/operations/operations_coordinator.gd",
"function": "_process_daily_close",
"line": 1125,
"sha256": "871a248ee101b6df543fd5cf0440b5d4b0f02c21fa145a99f0687888c1bc6f90",
"function_sha256": "665ac0ac4d4c220e68e98810da063fd2ad7ae7dc9e1997944a1e7bea7a3c30e6"
}
],
"approved_authority": [
"P04-01 safety acceptance",
"D05-P04-DEPENDENCY",
"D05-P04-SHIFT-1800",
"D05-P04-MIDNIGHT-DAY"
],
"pending_D05": [],
"phase": "TIME_BOUNDARIES → FACILITY_COMPLETION",
"relative_priority": "Upkeep/daily close before sale; post-increment sale timestamp, exclusive close period_end;00:00 sale belongs to new day.",
"status": "approved policy",
"observation_status": "M source observations; ACTUAL S50 historical evidence; S51 admission pending AT HANDOFF",
"historical_evidence": "I native_bundle C; R/s2a.json; R/s4.json",
"evidence": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"nativeWindows": "pending"
},
{
"domain": "シフト交代",
"normative_rule": "Approved 18:00 order remains: completion and payment before handover. No renewal of prior approval.",
"current_source": [
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_facilities",
"line": 8504,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "f1efd0c23bdd60d1ef19a21879640b53b8b4d88844c0c881fe7cd724387ec274"
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_staff_ai",
"line": 8680,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "0e222987f7c5e25583dbaba8fe63784aa563715067396e8d31d10bd191e7179b"
}
],
"approved_authority": [
"BASELINE:64",
"BASELINE:67",
"D05-P04-SHIFT-1800"
],
"pending_D05": [],
"phase": "FACILITY_COMPLETION → AI_DECISIONS",
"relative_priority": "18:00 completion/payment before shift handover; day staff [17:59,18:00), night [18:00,18:01).",
"status": "approved policy",
"observation_status": "M source observations; ACTUAL S50 historical evidence; S51 admission pending AT HANDOFF",
"historical_evidence": "I C first1080 sale joins; R/s2b.json no-night1081/overtime",
"evidence": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"nativeWindows": "pending"
},
{
"domain": "00:00決算",
"normative_rule": "A01 ownership-based upkeep is unchanged. Prior-day settlement/upkeep precede 00:00 service completion; its sale belongs to the new day. Replay/restore must not duplicate settlement.",
"current_source": [
{
"path": "scripts/core/simulation_kernel.gd",
"function": "_handle_time_boundaries",
"line": 254,
"sha256": "341c0c878c4894adbac628d0db6362ff69fc3347bdd9e61e50936e15dc2d1edb",
"function_sha256": "2ced47a2911b36def9d89de82a43afc69148ead44d19db6a2a6c7bce5a910ae9"
},
{
"path": "autoload/simulation_runtime.gd",
"function": "_advance_operations_time",
"line": 1919,
"sha256": "45514aea9367ff678f4dc05166bb9b58121f240d4b5565edeb7ab258e3ded8e0",
"function_sha256": "511580d1fac3d2785072e94c2981065fa47ba18b1c97122922645dac5c0d94ab"
},
{
"path": "scripts/operations/operations_coordinator.gd",
"function": "_process_minute_boundaries",
"line": 882,
"sha256": "871a248ee101b6df543fd5cf0440b5d4b0f02c21fa145a99f0687888c1bc6f90",
"function_sha256": "1312166dc17aee0ef470069a73ff3fe6b86d11d04ca7de76f3d04f1d2d14674e"
},
{
"path": "scripts/operations/operations_coordinator.gd",
"function": "_process_daily_close",
"line": 1125,
"sha256": "871a248ee101b6df543fd5cf0440b5d4b0f02c21fa145a99f0687888c1bc6f90",
"function_sha256": "665ac0ac4d4c220e68e98810da063fd2ad7ae7dc9e1997944a1e7bea7a3c30e6"
}
],
"approved_authority": [
"BASELINE:71",
"BASELINE:72",
"A01",
"D05-P04-DEPENDENCY",
"D05-P04-MIDNIGHT-DAY"
],
"pending_D05": [],
"phase": "pre-TIME_BOUNDARIES signals → TIME_BOUNDARIES → FACILITY_COMPLETION",
"relative_priority": "Midnight signals, then upkeep/close, then completion.",
"status": "approved policy",
"observation_status": "M source observations; ACTUAL S50 historical evidence; S51 admission pending AT HANDOFF",
"historical_evidence": "I C paused/formal; R/s2a.json nonzero payroll/upkeep, replay and typed restore",
"evidence": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"nativeWindows": "pending"
}
],
"source_facts": "REPAIR30_SOURCE_FACTS.json",
"authority": "D05_OWNER_APPROVAL.json preserves dependency/18:00; D05_REMAINING_APPROVAL.json binds all four actual 2026-10-18 answers; BASELINE/D-034/A01 unchanged.",
"historical_superseded": [
"REPAIR17_STATUS.md",
"REPAIR18_STATUS.md",
"REPAIR19_CORRIGENDUM.md",
"REPAIR19_STATUS.md",
"REPAIR20_CORRIGENDUM.md",
"REPAIR20_STATUS.md",
"REPAIR21_STATUS.md",
"REPAIR22–28 creation-time status and runbooks"
],
"history_policy": "Raw and historical material retain original S50/S47/r22 labels. Canonical top sections describe handoff only; Root version-pinned receipts decide post-submit state.",
"evidence_policy": {
"S50_actual": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"S47_full184": "ACTUAL S47 full184 historical; reusable only if checker:1185-1186 full source_sha256 equals new S5 source_before and product, checker and every doc-scope executable are byte-identical; all full verifier input/environment predicates must hold.",
"r22_historical": "r22 and earlier raw retain historical labels and bindings; no new-S native admission."
},
"pending": [
"Root fixes Q51; compare actual hashes with REPAIR51_APPLICABILITY_MAP.json; stop reuse on executable differences",
"clean exact-Q check-only; capacity and PID check; one heavy lease for fresh native6 on Q51",
"reader/adapters then collector; full184 conditional reuse check; order CLI/complete_B conditional reuse or rerun once",
"index regeneration; one p04-acceptance validate; separate Opus whole-unit independent review",
"prepare / exactC / integration / final / RootDB join / ledger / main push",
"nativeWindows individually pending"
],
"priority_candidates_if_required": "D05_REMAINING_ORDER_CANDIDATE.json (superseded history)",
"collection_plan": "REPAIR51_STATUS.md; Root-only post-submit order",
"formal_acceptance": false,
"original_unit_complete": false,
"phase_order": [
{
"priority": 1,
"phase": "APPLY_COMMANDS",
"status": "observed-current",
"handlers": [
{
"phase": "APPLY_COMMANDS",
"handler_id": "simulation_runtime.commands",
"function": "_process_tick_commands",
"registration_line": 375
}
],
"behavior": "Previous minute: commands → _process_tick_commands:5765. Operations gate requests current tick abort and returns before Clock changes; otherwise commands apply for minute+1.",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 2,
"phase": "TIME_BOUNDARIES",
"status": "observed-current",
"handlers": [
{
"phase": "TIME_BOUNDARIES",
"handler_id": "simulation_runtime.0_weather",
"function": "_advance_weather",
"registration_line": 372
},
{
"phase": "TIME_BOUNDARIES",
"handler_id": "simulation_runtime.a_upkeep",
"function": "_advance_facility_upkeep",
"registration_line": 374
},
{
"phase": "TIME_BOUNDARIES",
"handler_id": "simulation_runtime.operations",
"function": "_advance_operations_time",
"registration_line": 1787
}
],
"behavior": "After APPLY: absolute_minute += 1, _sync_calendar_fields, _handle_time_boundaries:254 emits settlement_requested(completed_day) then day_started at00:00, before TIME_BOUNDARIES handlers. Handler order: weather, upkeep, operations. Runtime upkeep:1876; operations:1919 → coordinator _process_minute_boundaries:882: 00:00 upkeep, daily close, 06:00 morning, demand, arrivals (conditional boundaries and early returns).",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 3,
"phase": "MANA",
"status": "observed-current",
"handlers": [
{
"phase": "MANA",
"handler_id": "simulation_runtime.mana",
"function": "_advance_mana",
"registration_line": 385
}
],
"behavior": "Runtime _advance_mana:10716: proxy preflight → mana_network advance → mana_power_projection.apply → MANA_STATE_CHANGED events.",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 4,
"phase": "CONSTRUCTION",
"status": "observed-current",
"handlers": [
{
"phase": "CONSTRUCTION",
"handler_id": "simulation_runtime.construction",
"function": "_advance_construction",
"registration_line": 390
}
],
"behavior": "Construction:8086 follows power and precedes logistics.",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 5,
"phase": "LOGISTICS",
"status": "observed-current",
"handlers": [
{
"phase": "LOGISTICS",
"handler_id": "simulation_runtime.logistics",
"function": "_advance_inventory_and_logistics",
"registration_line": 395
}
],
"behavior": "Logistics:8494 precedes completion.",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 6,
"phase": "FACILITY_COMPLETION",
"status": "observed-current",
"handlers": [
{
"phase": "FACILITY_COMPLETION",
"handler_id": "simulation_runtime.facilities",
"function": "_advance_facilities",
"registration_line": 400
}
],
"behavior": "Runtime _advance_facilities:8504: facility_service.advance_one_minute then kitchen. FacilityService _prepare_service_for_tick:853 checks BROKEN, related_facility_operating (RELATED_FACILITY_INACTIVE), power_available (NO_POWER), staff grace. Only ACTIVE services advance (:569). _complete_service:895 → Runtime _complete_service_transaction:11817 → _apply_service_transaction:11833 posts SERVICE_SALE / SERVICE_CASH_SWEEP at the post-increment minute (:11826–11838 [unverified-M-line]).",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 7,
"phase": "VITALS_AND_ENVIRONMENT",
"status": "observed-current",
"handlers": [
{
"phase": "VITALS_AND_ENVIRONMENT",
"handler_id": "simulation_runtime.guest_vitals",
"function": "_advance_guest_vitals",
"registration_line": 405
}
],
"behavior": "Guest vitals:8510 follows completion.",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 8,
"phase": "INCIDENTS_AND_EVENTS",
"status": "observed-current",
"handlers": [
{
"phase": "INCIDENTS_AND_EVENTS",
"handler_id": "simulation_runtime.authority_incidents",
"function": "_advance_authority_incidents",
"registration_line": 415
},
{
"phase": "INCIDENTS_AND_EVENTS",
"handler_id": "simulation_runtime.defense",
"function": "_advance_defense",
"registration_line": 420
},
{
"phase": "INCIDENTS_AND_EVENTS",
"handler_id": "simulation_runtime.relationship_events",
"function": "_advance_relationship_events",
"registration_line": 425
}
],
"behavior": "String-sorted authority_incidents:8573 → defense:8599 → relationship_events:8637; after completion/charging.",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 9,
"phase": "FACILITY_QUEUES",
"status": "observed-current",
"handlers": [
{
"phase": "FACILITY_QUEUES",
"handler_id": "simulation_runtime.guest_queues",
"function": "_advance_guest_queues",
"registration_line": 410
}
],
"behavior": "_advance_guest_queues:8524 releases closed queues first (_release_closed_business_queues:12672); closed queues spend no patience (:8516–8517 [unverified-M-line]).",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 10,
"phase": "AI_DECISIONS",
"status": "observed-current",
"handlers": [
{
"phase": "AI_DECISIONS",
"handler_id": "simulation_runtime.staff_ai",
"function": "_advance_staff_ai",
"registration_line": 430
}
],
"behavior": "_advance_staff_ai:8680: prune elevator waits, elevators, rescue, staff_service, prune waits, staff_commute (shift handover), staffing sync, cleaning, fatigue, rescue and staffing sync again, then _advance_guest_ai_decisions:8760. DECIDING PLANNED_EXIT → LEAVING; despawn occurs only on later minute (:8760–8762 [unverified-M-line]).",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
},
{
"priority": 11,
"phase": "PUBLISH_SNAPSHOT",
"status": "observed-current",
"handlers": [
{
"phase": "PUBLISH_SNAPSHOT",
"handler_id": "simulation_runtime.snapshot",
"function": "_publish_snapshot",
"registration_line": 380
},
{
"phase": "PUBLISH_SNAPSHOT",
"handler_id": "simulation_runtime.zz_save_checkpoints",
"function": "_process_save_checkpoints",
"registration_line": 437
}
],
"behavior": "snapshot:12524 then zz_save_checkpoints:4535; persistence follows publication.",
"line_authority": "M c0ea009 actual Git source; main handler registration 371-438; operations registration 1787-1791. Explicitly marked ranges remain unverified-M-line."
}
],
"safety_cases": [
{
"item": "No charge while paused NO_POWER or RELATED",
"status": "original",
"phase": "FACILITY_COMPLETION",
"source": "FacilityService _prepare_service_for_tick:853, ACTIVE-only gate:569, _complete_service:895",
"priority": "Preparation before advance/completion/payment",
"proof": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"approval": "All six D05 policies approved; pause_reason_scope preserves unresolved sequential interpretation.",
"approval_scope": "See authority_statuses.pause_reason_scope; no sequential display-rule interpretation is claimed."
},
{
"item": "Double-settlement idempotency",
"status": "original",
"phase": "TIME_BOUNDARIES",
"source": "coordinator _process_daily_close:1125; _day_summaries replay:1127–1130; daily-close:N:1137",
"priority": "Before facility completion",
"proof": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"approval_scope": "See authority_statuses.pause_reason_scope; no sequential display-rule interpretation is claimed."
},
{
"item": "Orphan reservation release",
"status": "original",
"phase": "APPLY_COMMANDS / FACILITY_QUEUES",
"source": "Runtime _execute_leave_facility_queue:7575 (release keys:7565–7569 [unverified-M-line]); _leave_guest_queue_boundary:9200; _release_closed_business_queues:12672; _release_closed_business_request:12690",
"priority": "Command release before completion; closed-queue release afterward; closed patience not spent",
"proof": "ACTUAL S50 native6/24 phases PASS, collector 15+EV missing 0 (historical, bound to S50/Q50); S51 requires fresh native6 (checker:368-371); nativeWindows pending",
"approval_scope": "See authority_statuses.pause_reason_scope; no sequential display-rule interpretation is claimed."
}
],
"proof_legend": {
"label": "Root-measured",
"R": "B/audit-support/p04-raw-collect-r22",
"I": "B/p04-evidence/index.json schema2; native_bundle/raw_references/versions/source_map/environment bind exact proofs",
"pins": "REPAIR29_STATIC_SOURCE.json proof_pins; R/MANIFEST.json pins series and relocation, series retain raw paths/hashes"
},
"authority_statuses": {
"original": [
"P04-01 safety acceptance",
"BASELINE:64,67,71,72,183"
],
"approved": [
"A01 midnight ownership upkeep",
"D05-P04-DEPENDENCY",
"D05-P04-SHIFT-1800",
"D-034 direct business closure",
"D05-P04-DESTRUCTION",
"D05-P04-MIDNIGHT-DAY",
"D05-P04-PAUSE-REASON",
"D05-P04-EXIT"
],
"pending D05": [],
"observed-current": "All phase and source behavior observations; not approval",
"pause_reason_scope": {
"authority": "D05_REMAINING_APPROVAL.json:30-33 unchanged; all six approvals remain valid",
"proven": "Same-tick onset from ACTIVE gives RELATED; natively proven only by S5B.",
"sequential": "Power loss first, then dependency closure: M facility_service.gd:860-864 shows NO_POWER. Static observation only; never executed natively. EXPLICITLY UNRESOLVED/UNPROVEN under the original approval text. Not a defect, not cured, not proven, and not silently narrowed into an approved meaning.",
"dependency_first": "Dependency closure first returns at :864 and retains RELATED.",
"safety": "M facility_service.gd:569 ACTIVE gate stops progress and charging and holds reservations in every order; no stopped charging, no double settlement and no orphan reservations do not depend on the label.",
"next_action": "No product change needed for P04 acceptance. Any later change at :860-864 is outside allowed_paths and needs a separate owner-authorised task. Do not amend the contract or ask the owner."
}
},
"full178_applicability_context": "REPAIR29_STATIC_SOURCE.json full_source_static_comparison: full178 selected1339 includes f5; one test-source mismatch (test_required_kitchen.gd), no game-source mismatch; preserve Runner applicability binding, no blanket1338 identity or a61 full proof.",
"current_source_commit": "c0ea009b28a7649aca6a433a1a24dc0be5e7ab81",
"nativeWindows": {
"EV": "pending",
"closure_release": "pending",
"dependency_stop": "pending",
"destruction_stop": "pending",
"exit_release": "pending",
"midnight_replay": "pending",
"midnight_settlement": "pending",
"night_staff_absent": "pending",
"overtime_task": "pending",
"patience_release": "pending",
"paused_midnight": "pending",
"power_stop": "pending",
"recovery_completion": "pending",
"same_minute_replay": "pending",
"save_restore": "pending",
"shift_completion": "pending"
}
}