23 KiB
P06-02 全館停止の統合 — 監査継続
対象: P06-02-AUDIT-CONTINUE / P06-02-AUDIT。製品変更なし、原88加算0、unit_accepted=false。
source_commit: d9262a71f45b39c53115a4878f4c6a2c861dfac5。作業HEAD: 0eeff92e81f3706a7e85237a0f2afbb34bebcd38。両版の scripts/autoload/tests/data/scenes 差分は空。
失敗run 2faabaca67d24dfa8df9e8f2543fba0a の文書を継続。旧タスク再起動・git書込み・Runner操作・試験実行なし。
現行ソース
実装は未検証5件、部分実装1件、通常warp未実装1件。コードや試験定義の存在をverifiedへ昇格しない。admissionのpartialは統合範囲の未確定を含み、直接spawnや受付電力ゲートの追加を承認する意味ではない。 詳細なSHA256・関数・行・残条件は同梱current-audit.jsonを参照。
active_service — implemented_unverified
In FACILITY_COMPLETION, an ACTIVE service is paused with INTERRUPTION_NO_POWER when its FacilityInstance.power_available is false (facility_service.gd:867-871). power_available is false when the global reserve is 0 (mana_power_projection.gd:18) or the registered consumer node for that facility is not ACTIVE/DEGRADED. A paused NO_POWER service resumes only when power returns (:872-874); DESTROYED/RAIDED suspension is never cleared by outage recovery.
実行順序: MANA (_advance_mana:10716 -> mana_network_service.advance_one_minute -> mana_power_projection.apply:7 sets per-facility power_available) before FACILITY_COMPLETION (_advance_facilities -> facility_service.advance_one_minute -> _prepare_service_for_tick:853). Service start is separately gated by _validate_service_start:11792.
保存・試験定義: tests/s2/test_facility_service.gd:175-188 defines controlled power pause/no progress/recovery assertions. tests/s2/test_mana_power_projection.gd:26-39 defines zero-reserve and restored projection assertions. These are source observations, not executed results; current-source formal save/new-PID outage acceptance remains unestablished.
残条件:
- Natural (gameplay) reserve depletion to 0 is not accepted; supply/active reviews record natural_depletion_accepted=false; rescue records natural_outage_accepted=false and a controlled reserve was used.
- Whole-domain 'all seven stop together' integration is not proven at current source.
- Existing test definitions are not executed acceptance evidence. Obtain current-source pinned stop/recovery and formal save/new-PID results: tests/s2/test_facility_service.gd:175-188 defines controlled power pause/no progress/recovery assertions. tests/s2/test_mana_power_projection.gd:26-39 defines zero-reserve and restored projection assertions. These are source observations, not executed results; current-source formal save/new-PID outage acceptance remains unestablished.
elevator — implemented_unverified
set_powered/_apply_operational makes the shaft non-operational. Boarded riders are emitted at a valid landing with emergency:true; queued requests are cancelled. With no safe landing, boarded trips remain held and owned, while queued requests are still cancelled (:301-317). This code is not execution proof of passenger preservation.
実行順序: MANA (_advance_mana:10716) sets consumer states; AI_DECISIONS dispatches _advance_elevators:12789 which reads mana>0 and module consumer states, then elevator_service set_powered:279 -> _apply_operational:291, then advance_one_minute.
保存・試験定義: tests/transport/test_elevator_service.gd:143-152 defines power-off, snapshot restore and recovery assertions; :292 also exercises power-off. tests/staff/test_rescue_elevator.gd:35-74 defines disk save/load, controlled reserve outage and snapshot replay. No execution or current-source independent-PID acceptance is claimed.
残条件:
- Emergency alighting at a valid landing is not accepted (historical valid_landing_emergency_alighting_accepted=false).
- Natural depletion path (reserve 0 through gameplay) is unproven for the elevator domain.
- Existing test definitions are not executed acceptance evidence. Obtain current-source pinned stop/recovery and formal save/new-PID results: tests/transport/test_elevator_service.gd:143-152 defines power-off, snapshot restore and recovery assertions; :292 also exercises power-off. tests/staff/test_rescue_elevator.gd:35-74 defines disk save/load, controlled reserve outage and snapshot replay. No execution or current-source independent-PID acceptance is claimed.
warp — missing
Not applicable: no normal warp facility, construction, routing, cost, or stop path exists. Event-recovery teleport and mouse-warp are not a normal mana-warp and must not be substituted.
実行順序: N/A (no warp handler registered in the tick phase order).
保存・試験定義: None. P14-02 warp gap audit (work_packages P14-02) records ワープ定義0 and lists construction/routing/cost/stop/save as remaining gaps.
残条件:
- Define a normally-buildable 2x2 FRONT warp facility and its cost/duration from original/approved values (D04 values, D05 cost timing unresolved).
- Connect normal path selection to target/exit ownership, reservation, and actual movement.
- Connect approved cost-determination and double-charge rejection.
- Preserve state on mana shortage / outage / unreachable destination.
- Prove no double application of cost/movement across save, new PID restart, and recovery.
logistics — implemented_unverified
Logistics dispatch stops when either endpoint fails allows_logistics (power_available false) and the request is marked FACILITY_UNAVAILABLE with cargo retained; kitchen batches halt on NO_POWER. Warehouse has maintenance_mana=0 so it is not a registered consumer and relies on the global reserve. _pickup:219-223 gates both endpoints; _deliver:254-257 returns before transfer when destination is unavailable. This is a handoff/production stop, not proof that all carrier movement stops. Inventory expiry paths remain distinct and require boundary testing.
実行順序: MANA (_advance_mana:10716) before LOGISTICS (_advance_inventory_and_logistics -> supply_logistics_bridge.tick:43 -> _dispatch:171) before FACILITY_COMPLETION (kitchen _production_state:237).
保存・試験定義: tests/supply/test_supply_logistics_bridge.gd::_test_reserve_outage:364 and _test_kitchen_reserve_outage:378 define cargo ownership, stopped batches, snapshot restoration and recovery assertions; tests/s2/test_kitchen_production.gd:123 includes NO_POWER. Present test definitions are not fresh execution evidence or current-source new-PID acceptance.
残条件:
- Natural depletion is not accepted (historical natural_depletion_accepted=false, mana_generation_coefficients_set=false).
- Warehouse (maintenance_mana=0) is not a registered per-network consumer; its stop is global-reserve only.
- Existing test definitions are not executed acceptance evidence. Obtain current-source pinned stop/recovery and formal save/new-PID results: tests/supply/test_supply_logistics_bridge.gd::_test_reserve_outage:364 and _test_kitchen_reserve_outage:378 define cargo ownership, stopped batches, snapshot restoration and recovery assertions; tests/s2/test_kitchen_production.gd:123 includes NO_POWER. Present test definitions are not fresh execution evidence or current-source new-PID acceptance.
rescue — implemented_unverified
implemented_unverified: rescue transport is invalid (RESCUE_INTERRUPTED) when the infirmary is not OPERATING (:13119-13121). At global reserve 0 the infirmary's power_available becomes false (mana_power_projection.apply:18) and facility_instance.evaluate_state:199-203/232-236 forces operation_state out of OPERATING, so the same global stop reaches rescue without requiring a per-network consumer. A boarded pair is explicitly held aboard rather than cancelled (:13125-13126), protecting the transport subject. Whether the infirmary must additionally be registered as a per-network consumer is a basis/decision not yet established, not a proven missing stop.
実行順序: MANA (_advance_mana:10716) before AI_DECISIONS (_advance_staff_rescue:13110) which reads facility operation_state and elevator boarding; facility OPERATING feeds _rescue_destination:13065.
保存・試験定義: tests/staff/test_rescue_elevator.gd:35-74 defines boarded disk save/load, zero-reserve interruption, complete snapshot restoration and clinic outage ownership assertions. Current-source independent-PID outage acceptance is unestablished; the historical rescue receipt cannot establish it.
残条件:
- Global reserve-0 stop is implemented through the shared chain (mana_power_projection.apply:18 -> facility_instance.evaluate_state:199-203/232-236 -> infirmary OPERATING gate :13069/:13119-13121); a missing maintenance_mana / consumer registration alone does not prove the global stop is missing.
- Whether the infirmary must be registered as a per-network ESSENTIAL consumer (and its maintenance_mana value) is a basis/decision not yet established (P06-01 finite-mana contract unapproved); no local outage policy or mana value is invented here.
- Existing test definitions are not executed acceptance evidence. Obtain current-source pinned stop/recovery and formal save/new-PID results: tests/staff/test_rescue_elevator.gd:35-74 defines boarded disk save/load, zero-reserve interruption, complete snapshot restoration and clinic outage ownership assertions. Current-source independent-PID outage acceptance is unestablished; the historical rescue receipt cannot establish it.
cleaning — implemented_unverified
implemented_unverified: the cleaning ROOM stops when its own operation_state leaves OPERATING. At global reserve 0, power_available becomes false (mana_power_projection.apply:18), facility_instance.evaluate_state:199-203/232-236 sets NO_POWER/INACTIVE, and can_dispatch:17 / task_can_work:22 return false, so tick:28 cancels the task with CLEANING_UNAVAILABLE. This shared global stop is implemented. Cleanliness work is gated by the cleaning room state and target existence, not by the cleaning TARGET facility's power; whether the original 清掃 stop判定 must additionally include the target's power is a basis/decision not yet established (see recommended_next_batch), not a proven missing stop.
実行順序: MANA (_advance_mana:10716) sets facility power_available/operation_state; AI_DECISIONS runs cleaner dispatch (facility_cleaning_bridge.can_dispatch:17 / task_can_work:22 / tick:28) reading the room state.
保存・試験定義: tests/ui/test_cleaning_gameplay.gd:119-123 defines reserve=0 cancellation, no cleaning recovery and unpowered snapshot restoration. Test exists and is registered in Makefile:55; it was not run here. Current-source formal save/new-PID outage acceptance is unestablished.
残条件:
- Global reserve-0 stop is implemented via the shared chain (mana_power_projection.apply:18 -> facility_instance.evaluate_state:199-203/232-236 -> can_dispatch:17 / task_can_work:22); a missing maintenance_mana / consumer registration alone does not prove the global stop is missing.
- Whether cleaning_room must be registered as a per-network consumer, and whether the original 清掃 stop判定 must include the cleaning TARGET facility's power, are basis/decision not yet established (recommended_next_batch); no local outage policy or mana value is invented here.
- Existing test definitions are not executed acceptance evidence. Obtain current-source pinned stop/recovery and formal save/new-PID results: tests/ui/test_cleaning_gameplay.gd:119-123 defines reserve=0 cancellation, no cleaning recovery and unpowered snapshot restoration. Test exists and is registered in Makefile:55; it was not run here. Current-source formal save/new-PID outage acceptance is unestablished.
admission — partial
Partial: natural Operations arrivals stop when global reserve is 0 (capacity_remaining forced to 0). Direct spawn_guest commands are not gated by mana/power, and there is no per-reception (facility-level) power gate on admission.
実行順序: APPLY_COMMANDS precedes TIME_BOUNDARIES, which precedes MANA (scripts/core/simulation_kernel.gd:12-24, 138-143). Operations arrival CAPTURE reads reserve directly in TIME_BOUNDARIES through _advance_operations_time; it does not wait for this minute's mana projection. Direct spawn commands use _execute_spawn_guest independently.
保存・試験定義: No dedicated natural-arrival outage save/new-PID test was established by this inspection. This is a proof gap, not an exhaustive assertion that arrival tests are absent. The historical active-service review exercised naturally admitted guests, but does not establish current-source outage admission acceptance.
残条件:
- Natural-depletion arrival stop and current-source save/new-PID acceptance are unestablished.
- Direct spawn bypass and lack of reception power gate are source observations; their required gameplay scope is unresolved, not an approved defect.
- Runtime :3013-3031 reaches _execute_spawn_guest through Operations natural arrivals, after the capacity gate. No spawn_guest caller was found in scripts/ui or scenes by text search; direct command exposure still needs scope confirmation.
旧3証拠の適用性
3件ともreusable=false。旧結果は当時の限定証拠であり、現行受入へ転用しない。
p06-rescue-power-final-root-review-r01
Controlled held boarded EV/rescue outage review: source_current_before_end_equal true, files_rehashed 187, actual_checks 691, failures 0, whole_typed_pairs 10, uncapped_future_events_each 9, 4 formal immutable saves; source_changes []. But the review pins no per-file source map and its QA fixture is absent from current source. Source count in receipt is 1224; do not label this rescue evidence as current1299. Prior review and UID hashes are receipt/harness pins, not runtime source pins.
Rescue receipt is available and hashed; no rescue raw save set or product-source map was found among build/p06-history or the tracked p06-01 runner-input package. Fixture is absent from this checkout. Raw availability remains unconfirmed; receipt hashes are not product-source pins.
p06-current-supply-outage-root-review-r01
Current1299 controlled cargo and real active kitchen batch stop/recovery: phases import/parse/writer370/reader90, actual_native 4, actual_checks 460, actual_failures 0, 16 whole typed buffers, 8 exact cross-PID pairs, 2 formal 8-member saves; entire_cargo_and_batch_preserved true; zero_facility_power true. Historical scope only. Tracked runner-input contains source_before and selected_source_map: comparison finds nine changed existing autoload/scripts/data files, including runtime, facility service, save service and path service. Thus raw availability does not establish current-source applicability; reusable remains false.
Tracked compressed raw buffers, formal save members and source maps are available in docs/plans/original-completion-2026-10-02/checkpoints/p06-01-runner-input-r01. All 82 manifest entries were read/decompressed in memory and matched stored/raw SHA256 and raw byte count. This is byte-level inspection only, not Godot decoding, replay or new test execution. External original paths were not accessed.
p06-active-service-outage-root-review-r01
Current1299 naturally admitted active meal (cafeteria) and lodging (standard_room) services with controlled reserve: phases import/parse/writer1118/reader788, actual_native 4, actual_checks 1906, actual_failures 0, 28 whole typed buffers, 14 exact cross-PID pairs, 2 formal 8-member saves; paused_service_whole_equal true for both; RAIDED suspension boundary verified (no payment, reservations released, guests preserved). Historical scope only. Tracked runner-input contains source_before and selected_source_map: comparison finds nine changed existing autoload/scripts/data files, including runtime, facility service, save service and path service. Thus raw availability does not establish current-source applicability; reusable remains false.
Tracked compressed raw buffers, formal save members and source maps are available in docs/plans/original-completion-2026-10-02/checkpoints/p06-01-runner-input-r01. All 82 manifest entries were read/decompressed in memory and matched stored/raw SHA256 and raw byte count. This is byte-level inspection only, not Godot decoding, replay or new test execution. External original paths were not accessed.
物流・利用中サービスの旧ソースマップと現行の比較は各9ファイル相違。旧版ラベルやsummaryだけでの判定を取り消し、JSONに旧/現SHAを保存した。rescueの1224-source receiptには対応する製品ソースマップがなく、他2件の1299証拠と混同しない。外部ホストの元パスにはアクセスしていない。
依存・次バッチ
-
P14 / P14-02: P06-02 の warp 対象は P14-02「ワープの通常接続」に依存する。work_packages P14-02 records ワープ定義0 and normal construction/routing/cost/stop/save gaps. This audit preserves that dependency and does not substitute the P14-01 vertical-transport/performance slice or event-recovery teleport.
-
P06-01: 有限マナ供給の契約 (供給/蓄積/消費・世界樹初期源) が未承認。mana_generation_coefficients_set=false in supply/active reviews; rescue records natural_outage_accepted=false; D04 numeric values / D05 update-order are unapproved. All seven stop domains inherit this unresolved policy.
-
P04: P06 depends_on P04. P04-01 order-audit is the structural precedent for this seven-domain audit; P04 completion does not transfer acceptance to P06.
-
D04 / D05: Mana reserve policy and warp cost timing remain unapproved (D04 values, D05 update order / cost point).
-
Finite mana reserve contract: generation, storage, consumption, World-Tree initial source, and legacy-zero-save migration are unapproved (P06-01 in_progress).
-
The supply/active reviews record mana_generation_coefficients_set=false and natural_depletion_accepted=false; rescue records natural_outage_accepted=false; gameplay natural depletion is not accepted.
-
Warp normal-connection definition and cost/duration/stop semantics (P14-02 D04/D05) are unresolved.
-
Emergency alighting at a valid landing lacks accepted evidence; the receipt alone does not establish that the policy is unresolved (historical valid_landing_emergency_alighting_accepted=false).
-
Whether 'same stop判定' requires per-network consumer registration for cleaning_room/infirmary (currently maintenance_mana=0, unregistered) is a policy/implementation question not yet decided.
清掃対象電力・医務室consumer登録・直接spawnゲートの必要性は未確定。既存のglobal reserve=0停止と区別し、仕様を補完しない。
- Establish (policy/basis) the three items above and record the listed evidence; do not treat them as required gaps until that basis is approved.
- Runner should execute existing bounded outage tests for the six implemented domains, extend missing formal save/new-PID cases, and record warp as blocked on P14-02 rather than inventing a runnable seven-domain scenario. No unconditional sales/production and no lost passenger/cargo remain acceptance requirements.
- After P06-01 approval, rerun against natural depletion and re-derive historical evidence applicability from a fresh source-pinned audit.
試験argv(Runner向け・未実行)
MakefileのGODOT既定値godotを展開。各行は独立した完全なargv。
cleaning / mana
Exact registered Makefile recipes, with GODOT default godot (Makefile:1); not executed. Unregistered scripts are listed as source references only.
godot --headless --path . --script tests/environment/test_cleaning_access.gd
godot --headless --path . --script tests/ui/test_cleaning_gameplay.gd
godot --headless --path . --script tests/environment/test_runtime_cleanliness.gd
godot --headless --path . --script res://tests/environment/test_facility_cleanliness.gd
godot --headless --path . --script res://tests/s2/test_mana_network_service.gd
godot --headless --path . --script res://tests/s2/test_facility_service.gd
active_service / mana
Exact registered Makefile recipes, with GODOT default godot (Makefile:1); not executed. Unregistered scripts are listed as source references only.
godot --headless --path . --script res://tests/s2/test_facility_service.gd
godot --headless --path . --script res://tests/s2/test_mana_network_service.gd
未登録の参照ソース: tests/s2/test_mana_power_projection.gd
logistics / kitchen
Exact registered Makefile recipes, with GODOT default godot (Makefile:1); not executed. Unregistered scripts are listed as source references only.
godot --headless --path . --script res://tests/s2/test_kitchen_production.gd
godot --headless --path . --script res://tests/supply/test_supply_logistics_bridge.gd
godot --headless --path . --script res://tests/supply/test_supply_management_service.gd
elevator
Exact registered Makefile recipes, with GODOT default godot (Makefile:1); not executed. Unregistered scripts are listed as source references only.
godot --headless --path . --script res://tests/transport/test_elevator_service.gd
godot --headless --path . --script res://tests/transport/test_transport_boundaries.gd
godot --headless --path . --script res://tests/transport/test_transport_save.gd
godot --headless --path . --script res://tests/transport/test_runtime_transport.gd
rescue
Exact registered Makefile recipes, with GODOT default godot (Makefile:1); not executed. Unregistered scripts are listed as source references only.
godot --headless --path . --script res://tests/staff/test_rescue_elevator.gd
godot --headless --path . --script res://tests/staff/test_staff_rescue.gd
godot --headless --path . --script res://tests/ui/test_staff_rescue.gd
admission
No dedicated admission-outage command established in this inspection; do not interpret as proof that all arrival tests are absent.
横断条件・提出範囲
- UI/original-condition agreement: pending current-source UI evidence; no UI run in audit.
- Runtime/accounting/behavior: source refs below establish gates, not accepted outcomes.
- Save/restart: existing unit/snapshot definitions and historical buffers documented; current-source new-PID proof pending.
- Boundary/interruption: natural depletion, valid emergency landing and coordinated domains pending.
- Related regression: exact repository recipes supplied; Runner execution pending.
- Requirement logs/source hashes: audit refs and historical maps retained; fresh runtime logs pending.
- Representative-load performance regression: no measurement performed; required for later product acceptance, outside this documentation audit.
更新はこのディレクトリの2文書のみ。SHA照合・圧縮証拠読取は静的監査であり、正式audit-structureやゲーム試験は未実行。Runnerによる検証・独立レビュー待ち。
継続時の訂正記録
保持済み草稿の試験不存在主張を、実在する停電試験定義に基づき訂正。入館のMANA先行という記述をTIME_BOUNDARIES先行へ訂正。旧物流・利用中証拠のraw/source-map未確認という記述は、追跡済みgzip入力の読取結果で更新。清掃・救護のglobal停止実装、P14依存、未承認マナ設定、受入加算0は維持。