Files
TheTree_mock/docs/plans/original-completion-2026-10-02/execution/p06-02/CURRENT_AUDIT.md
T

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は維持。