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

441 lines
18 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": "repair29",
"status": "SOURCE-READY / NOTRUN; Root measurements separately recorded",
"task_id": "P04-01",
"current_table": true,
"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": "13/88 unchanged; P04 receives zero credit",
"CurrentAlphaScope": "unchanged",
"main_9b": "frozen; nothing integrated"
},
"domains": [
{
"domain": "閉店",
"normative_rule": "D-034: direct closure releases waiting requests and continues started service. Approved dependency closure holds progress/payment and preserves reservation/service ID until one completion.",
"current_source": [
"Runtime _process_tick_commands:5743",
"FacilityService _prepare_service_for_tick:853",
"Runtime _release_closed_business_queues:12624"
],
"evidence": "I native_bundle C; R/s2a.json; R/s3.json B1",
"approved_authority": [
"D-034",
"D05-P04-DEPENDENCY"
],
"pending_D05": [
"D05(a) simultaneous reason selection"
],
"phase": "APPLY_COMMANDS / FACILITY_COMPLETION / FACILITY_QUEUES",
"relative_priority": "Command closure before completion; dependency hold during preparation; closed queue release after completion.",
"status": "approved",
"observation_status": "observed-current"
},
{
"domain": "停電",
"normative_rule": "BASELINE:183 mana depletion stops facilities. A legitimately power-stopped service must not progress/charge; retain reservation identity and complete once after recovery. This does not approve a simultaneous-cause priority.",
"current_source": [
"Runtime _advance_mana:10694",
"FacilityService _prepare_service_for_tick:853"
],
"evidence": "R/s4.json; B/p04-s4-native-r28; R/s3.json B1 combined diagnostic",
"approved_authority": [
"BASELINE:183",
"P04-01 safety acceptance"
],
"pending_D05": [
"D05(a)"
],
"phase": "MANA → FACILITY_COMPLETION",
"relative_priority": "Projection before completion; RELATED chosen before NO_POWER.",
"status": "observed-current",
"observation_status": "observed-current",
"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."
},
{
"domain": "破壊",
"normative_rule": "No charge while legitimately failed/stopped and no orphan reservation. Distinguish command destruction before facility processing from late INCIDENTS event destruction after completion; observation is not normative priority approval.",
"current_source": [
"Runtime _process_tick_commands:5743",
"_advance_defense:8577",
"_apply_defense_outcome_boundary:9804",
"FacilityService _prepare_service_for_tick:853"
],
"evidence": "R/s3.json B4a/B4b",
"approved_authority": [
"P04-01 safety acceptance (original); explicit destruction rule pending D05"
],
"pending_D05": [
"D05(b); BASELINE:183 is mana depletion, not destruction authority; destruction_stop registry correction only after approval"
],
"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": "pending D05",
"observation_status": "observed-current"
},
{
"domain": "退出",
"normative_rule": "Leave/abandon releases the owned reservation once; no orphan or duplicate charge. Preserve D-034. Completion, queue release and later normal despawn are distinct observations.",
"current_source": [
"Runtime _execute_leave_facility_queue:7553",
"_advance_guest_ai_decisions:8738"
],
"evidence": "R/s3.json B2a/B2b/B3 and B1 departure history",
"approved_authority": [
"D-034",
"P04-01 safety acceptance"
],
"pending_D05": [
"D05(c)"
],
"phase": "APPLY_COMMANDS vs AI_DECISIONS",
"relative_priority": "Command exit before completion/charging; AI PLANNED_EXIT after them; despawn later.",
"status": "pending D05",
"observation_status": "observed-current"
},
{
"domain": "課金",
"normative_rule": "No stopped charge; one sale per completed service and idempotent resend. Reservation consumption, actual sale and payment key must join by service ID and original priceSnapshot.",
"current_source": [
"Runtime _advance_facility_upkeep:1855",
"_complete_service_transaction:11769",
"_apply_service_transaction:11785",
"coordinator _process_daily_close:1125"
],
"evidence": "I native_bundle C; R/s2a.json; R/s4.json",
"approved_authority": [
"P04-01 safety acceptance",
"D05-P04-DEPENDENCY",
"D05-P04-SHIFT-1800"
],
"pending_D05": [
"D05(d), beyond approved A01 and18:00; timing/attribution mandatory P04, numeric math D04/P05 separate"
],
"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": "pending D05",
"observation_status": "observed-current"
},
{
"domain": "シフト交代",
"normative_rule": "Approved [17:59,18:00) work belongs to day staff: complete/pay once at18:00 then switch; night work starts [18:00,18:01).",
"current_source": [
"Runtime _advance_facilities:8482",
"_advance_staff_ai:8658",
"StaffService advance_one_minute:700"
],
"evidence": "I C first1080 sale joins; R/s2b.json no-night1081/overtime",
"approved_authority": [
"BASELINE:64",
"BASELINE:67",
"D05-P04-SHIFT-1800"
],
"pending_D05": [
"Already approved; do not re-ask"
],
"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",
"observation_status": "observed-current"
},
{
"domain": "00:00決算",
"normative_rule": "A01 approved ownership-prorated upkeep at midnight is retained. One daily close/payroll/upkeep, no duplicate replay/reload; distinguish prior [0,1440) accounting and sale at1440.",
"current_source": [
"Kernel _handle_time_boundaries:254",
"Runtime _advance_operations_time:1898",
"coordinator _process_minute_boundaries:882",
"_process_daily_close:1125"
],
"evidence": "I C paused/formal; R/s2a.json nonzero payroll/upkeep, replay and typed restore",
"approved_authority": [
"BASELINE:71",
"BASELINE:72",
"A01",
"D05-P04-DEPENDENCY"
],
"pending_D05": [
"A01 approved ownership-based midnight upkeep not reopened; extra attribution D05(d)"
],
"phase": "pre-TIME_BOUNDARIES signals → TIME_BOUNDARIES → FACILITY_COMPLETION",
"relative_priority": "Midnight signals, then upkeep/close, then completion.",
"status": "approved",
"observation_status": "observed-current"
}
],
"source_facts": "REPAIR29_STATIC_SOURCE.json",
"authority": "D05_OWNER_APPROVAL.json approves dependency and shift only; original BASELINE/D-034/A01 retain their scope",
"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": "Creation-time NOT RUN in REPAIR22–28 and runbooks is historical; CURRENT_STATUS.md canonical table overrides execution status. Historical files unchanged.",
"evidence_policy": "Root-measured S4r28 4/4 PASS, controls, local8, r22 collection, schema2 index, registered validation PASS28s; worker SOURCE-READY / NOTRUN.",
"pending": [
"Owner D05 a–d approval or explicit non-mandatory ruling; unknown mandatory rules stay pending",
"Post-approval normal checker/registry repair (a61 unchanged here)",
"support53cb normal registered rebind",
"final full1339 against final checker; none exists against a61",
"independent review and integration: P04 first, support on main9b afterward",
"nativeWindows obligations individually if required"
],
"priority_candidates_if_required": "D05_REMAINING_ORDER_CANDIDATE.json",
"collection_plan": "s4/S4_ROOT_RUN.md",
"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": 369
}
],
"behavior": "Previous minute: commands → _process_tick_commands:5743. Operations gate requests current tick abort and returns before Clock changes; otherwise commands apply for minute+1."
},
{
"priority": 2,
"phase": "TIME_BOUNDARIES",
"status": "observed-current",
"handlers": [
{
"phase": "TIME_BOUNDARIES",
"handler_id": "simulation_runtime.0_weather",
"function": "_advance_weather",
"registration_line": 366
},
{
"phase": "TIME_BOUNDARIES",
"handler_id": "simulation_runtime.a_upkeep",
"function": "_advance_facility_upkeep",
"registration_line": 368
},
{
"phase": "TIME_BOUNDARIES",
"handler_id": "simulation_runtime.operations",
"function": "_advance_operations_time",
"registration_line": 1766
}
],
"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:1855; operations:1898 → coordinator _process_minute_boundaries:882: 00:00 upkeep, daily close, 06:00 morning, demand, arrivals (conditional boundaries and early returns)."
},
{
"priority": 3,
"phase": "MANA",
"status": "observed-current",
"handlers": [
{
"phase": "MANA",
"handler_id": "simulation_runtime.mana",
"function": "_advance_mana",
"registration_line": 379
}
],
"behavior": "Runtime _advance_mana:10694: proxy preflight → mana_network advance → mana_power_projection.apply → MANA_STATE_CHANGED events."
},
{
"priority": 4,
"phase": "CONSTRUCTION",
"status": "observed-current",
"handlers": [
{
"phase": "CONSTRUCTION",
"handler_id": "simulation_runtime.construction",
"function": "_advance_construction",
"registration_line": 384
}
],
"behavior": "Construction:8064 follows power and precedes logistics."
},
{
"priority": 5,
"phase": "LOGISTICS",
"status": "observed-current",
"handlers": [
{
"phase": "LOGISTICS",
"handler_id": "simulation_runtime.logistics",
"function": "_advance_inventory_and_logistics",
"registration_line": 389
}
],
"behavior": "Logistics:8472 precedes completion."
},
{
"priority": 6,
"phase": "FACILITY_COMPLETION",
"status": "observed-current",
"handlers": [
{
"phase": "FACILITY_COMPLETION",
"handler_id": "simulation_runtime.facilities",
"function": "_advance_facilities",
"registration_line": 394
}
],
"behavior": "Runtime _advance_facilities:8482: 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:11769 → _apply_service_transaction:11785 posts SERVICE_SALE / SERVICE_CASH_SWEEP at the post-increment minute (:11826–11838)."
},
{
"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": 399
}
],
"behavior": "Guest vitals:8488 follows completion."
},
{
"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": 409
},
{
"phase": "INCIDENTS_AND_EVENTS",
"handler_id": "simulation_runtime.defense",
"function": "_advance_defense",
"registration_line": 414
},
{
"phase": "INCIDENTS_AND_EVENTS",
"handler_id": "simulation_runtime.relationship_events",
"function": "_advance_relationship_events",
"registration_line": 419
}
],
"behavior": "String-sorted authority_incidents:8551 → defense:8577 → relationship_events:8615; after completion/charging."
},
{
"priority": 9,
"phase": "FACILITY_QUEUES",
"status": "observed-current",
"handlers": [
{
"phase": "FACILITY_QUEUES",
"handler_id": "simulation_runtime.guest_queues",
"function": "_advance_guest_queues",
"registration_line": 404
}
],
"behavior": "_advance_guest_queues:8502 releases closed queues first (_release_closed_business_queues:12624); closed queues spend no patience (:8516–8517)."
},
{
"priority": 10,
"phase": "AI_DECISIONS",
"status": "observed-current",
"handlers": [
{
"phase": "AI_DECISIONS",
"handler_id": "simulation_runtime.staff_ai",
"function": "_advance_staff_ai",
"registration_line": 424
}
],
"behavior": "_advance_staff_ai:8658: 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:8738. DECIDING PLANNED_EXIT → LEAVING; despawn occurs only on later minute (:8760–8762)."
},
{
"priority": 11,
"phase": "PUBLISH_SNAPSHOT",
"status": "observed-current",
"handlers": [
{
"phase": "PUBLISH_SNAPSHOT",
"handler_id": "simulation_runtime.snapshot",
"function": "_publish_snapshot",
"registration_line": 374
},
{
"phase": "PUBLISH_SNAPSHOT",
"handler_id": "simulation_runtime.zz_save_checkpoints",
"function": "_process_save_checkpoints",
"registration_line": 431
}
],
"behavior": "snapshot:12476 then zz_save_checkpoints:4514; persistence follows publication."
}
],
"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": "R/s4.json isolated power; I C and R/s2a.json dependency hold",
"approval": "Dependency hold approved; both D05(a) options preserve safety"
},
{
"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": "I C; R/s2a.json same-boundary replay and separate-PID restore, unchanged accounting"
},
{
"item": "Orphan reservation release",
"status": "original",
"phase": "APPLY_COMMANDS / FACILITY_QUEUES",
"source": "Runtime _execute_leave_facility_queue:7553 (release keys:7565–7569); _leave_guest_queue_boundary:9178; _release_closed_business_queues:12624; _release_closed_business_request:12642",
"priority": "Command release before completion; closed-queue release afterward; closed patience not spent",
"proof": "R/s3.json B2a/B2b/B3/B4b; I C; R/s2a.json reservation/service identity and restore"
}
],
"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"
],
"pending D05": [
"a power vs closure/dependency",
"b destruction",
"c exit",
"d cost time/day beyond A01 and18:00"
],
"observed-current": "All phase and source behavior observations; not approval"
},
"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."
}