# 初回の実装単位:維持費を通常営業へ接続する 計画の最初の実装単位。2026-09-29に着手。進捗・試験証拠・残件は [実装記録](execution/UPKEEP_IMPLEMENTATION.md) を参照。 ## 着手条件 P00–P04の必要部分を完了し、費用計上時点・未払い・閉店中/休止中の扱いをD04/D05で整理する。原本が未指定の金額を勝手に本番値として確定しない。既存の00:00決算・3連続赤字・保存復元を保護する。 ## 5つの小さな変更 | 順 | 変更 | 主な対象 | 受入 | |---|---|---|---| | E01 | 運用費の仕様と例 | 原子要件台帳、未設定値台帳 | 営業/閉店/休止/日跨ぎ別の期待計上を具体的な台帳例にする | | E02 | 版付きの課金状態 | 保存/移行サービス、FacilityInstance周辺 | 旧セーブ読込時に過去費用を二重徴収しない。途中保存から再開可能 | | E03 | 一度だけ計上する処理 | 新規の運用費サービス、EconomyService | 同一営業日/施設/費目の再送で重複しない。資金不足時の債務処理が決まった規約通り | | E04 | Runtimeと00:00決算へ接続 | SimulationRuntime、OperationsCoordinator | 通常Tickの支出が施設別帳簿・現金・損益と一致。3連続赤字の既存判定を維持 | | E05 | UIと縦断検証 | OperatingLedgerPanel、BusinessManagementPanel | 通常建設→営業→閉店/休止→00:00→保存→再起動を操作し内訳一致 | 各変更で影響する既存試験を実行し、E05で全体回帰を実行する。いきなり借金・税・天候まで同時に入れず、維持費の一連の経路を完成させてからP05の次の費目へ進む。 ## 具体的な試験ケース - 稼働施設1件と複数件で費目・施設・総額が一致する。 - 建設中/閉店/休止/破壊/撤去の日跨ぎを仕様通り処理する。 - 23:59保存→00:00→ロード再開で計上結果が一致する。 - 課金直前/直後に保存し、再送でも二重課金しない。 - 資金不足・部分支払い・未払いの扱いと翌日の処理が一致する。 - 既存セーブ移行で過去確定日の収支を書き換えない。 - 追加費用による黒字→赤字、連続2回→3回の終了を検証する。 - 画面上の費目合計、台帳総額、施設別損益の照合差額が0。 ## この単位の完了証拠 要件ID、変更ソース、採用した費用規約、試験ログ、代表セーブ、実画面、ソースハッシュを同じ検証記録へまとめる。「maintenance_goldを読むコードを追加した」だけで完了にしない。