Files
TheTree_mock/docs/plans/original-completion-2026-10-02/execution/work_packages.initial.json
T
Takeshi b84bade045 Save The Tree implementation and acceptance work in progress
Preserve production code, regression fixtures, audio assets and provenance, test infrastructure, and the original-completion plan and progress ledger. Final game and Windows acceptance remain pending; excluded local artifacts and native experiments are not part of this snapshot.
2026-10-11 15:58:00 +09:00

4530 lines
207 KiB
JSON

[
{
"id": "P00",
"phase": 0,
"title": "原本・作業対象の固定",
"depends_on": [],
"size": "S",
"requirement_ids": [
"B-1.1",
"B-14.1",
"B-14.2",
"B-14.3",
"B-14.4"
],
"work": "指定Drive原本を再照合し差分を保存。ローカル制作コピーの全ソース・現在のセーブ形式・既存成果物を識別する。今回計画の原本は保存版であり最新取得済みとは扱わない。",
"acceptance": "原本SHAと変更履歴、制作対象、現在の実装証拠が再現可能。原本更新があれば影響要件を再評価。",
"decisions": [],
"state": "completed",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "completed",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "基準固定済み。指定原本の保存版を使用。",
"remaining_deliverables": [
{
"id": "P00-01",
"title": "原本と基準ソースの継続照合",
"work": "指定原本の読取保存版と別冊AのSHA、HEAD、採用済みマップを固定し、更新時だけ影響要件を再監査する。",
"acceptance": "原本の優先順位と差分履歴が再現できる。最新Drive再取得を今回実施したとは表示しない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
1,
3
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "completed"
},
{
"id": "P01",
"phase": 0,
"title": "原子要件と受入台帳",
"depends_on": [
"P00"
],
"size": "M",
"requirement_ids": [
"B-1.1",
"B-1.2",
"B-1.3",
"B-1.4",
"B-1.5",
"B-1.6",
"B-14.1",
"B-14.2",
"B-14.3",
"B-14.4"
],
"work": "75複合要件を単独判定できる条件へ分割。原本の各文、追加10項目、UI入口、Runtime、保存、試験、資産、完了責任を対応付ける。",
"acceptance": "全原本文に対応先があり、未設定・未実装・未検証が別状態。派生仕様の独自ルールを確定仕様に昇格させない。",
"decisions": [
"D01",
"D02",
"D03",
"D04",
"D05",
"D06",
"D07",
"D08",
"D09",
"D10"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "75群の対応は存在するが、原子要件と現在の受入状態は未確定。",
"remaining_deliverables": [
{
"id": "P01-01",
"title": "原子要件への分割",
"work": "原本文の複数条件を分割し、施設30件、追加10項目、7人物、図鑑、全エンド、工程4件を漏れなく対応付ける。",
"acceptance": "各原本文に対応先があり、同じ条件を重複加点しない。",
"state": "planned",
"evidence": []
},
{
"id": "P01-02",
"title": "現在の実装と証拠の再監査",
"work": "実装、未接続、未検証、未設定、未制作を分け、現在HEADに適用できる証拠と過去証拠を識別する。",
"acceptance": "通常入口・Runtime・保存・試験・資産の対応が存在し、候補コードを採用済みとして数えない。",
"state": "planned",
"evidence": []
},
{
"id": "P01-03",
"title": "集計基準の固定",
"work": "原子要件の分母、適用する完了条件、理由付き適用外、判定者を版管理して初回進捗を集計する。",
"acceptance": "分母と分子のID一覧から他者が再計算できる。テスト件数や部分実装への一律半点を使用しない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
3,
7
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"current_facility_audit": {
"status": "Live audit: original30 = normal16 + definition-only1 + unmapped13; 17 mapped dimensions/layers match; customer limits unset13. Not full acceptance.",
"evidence": "execution/CURRENT_FACILITY_AUDIT.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P02",
"phase": 0,
"title": "既存機能の回帰基準",
"depends_on": [
"P00"
],
"size": "M",
"requirement_ids": [
"B-3.1a",
"B-3.1b",
"B-3.3",
"B-3.4a",
"B-3.4b",
"B-4.2",
"B-4.3c",
"B-5.4"
],
"work": "時計、停止中建設、最高欲求、混雑、決算、赤字終了、救護/EV同伴/休息の既存証拠を新規開発の基準にする。必要な代表セーブを固定。 Windows基準環境と配布EXEのスモーク確認を準備し、利用不能なら未検証として記録する。",
"acceptance": "日付・入力・乱数・セーブを固定して再実行できる。既存PASS8群を新仕様導入で失わない。",
"decisions": [],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "最新本体の155スイートと12,310チェックは合格。全原本受入とは別。",
"remaining_deliverables": [
{
"id": "P02-01",
"title": "回帰と代表セーブの固定",
"work": "最新全回帰のソース一致を確認し、初期・営業中・移動中・日付境界・防衛中の代表セーブを選ぶ。",
"acceptance": "ログ、入力、シード、保存版、チェック数が対応し、失敗を含む履歴が追える。",
"state": "planned",
"evidence": []
},
{
"id": "P02-02",
"title": "通常操作の基準シナリオ",
"work": "開業、雇用、配置、仕入れ、建設、保存終了再開を通常画面で通す。",
"acceptance": "デバッグ値投入の試験と自然営業の試験を区別し、画面と実状態が一致する。",
"state": "planned",
"evidence": []
},
{
"id": "P02-03",
"title": "Windows基準環境の記録",
"work": "利用できるWindows機のOS、CPU、GPU、RAM、表示倍率、解像度、検証するビルドを記録する。",
"acceptance": "過去の実機確認を現ビルドへ転用せず、同一EXEの起動と保存再開を確認する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
3,
7
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P03",
"phase": 1,
"title": "保存形式と移行契約",
"depends_on": [
"P01",
"P02"
],
"size": "L",
"requirement_ids": [
"B-2.1",
"B-4.1",
"B-5.2",
"B-6.3",
"B-7.2",
"B-8.1",
"B-9.1"
],
"work": "施設、会計、客、職員、関係値、天候の新項目を版管理。原本と異なる関係値は一対一変換を仮定せず旧値を保全。移行は検証成功時のみ確定する。",
"acceptance": "旧版/欠損/未知版/破損/途中書込の試験。失敗時に元セーブを変更しない。新しい状態は途中保存から同一結果で再開。",
"decisions": [
"D06",
"D07"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "保存・移行の基盤と複数の復元試験はある。全原本の追加状態は未完。",
"remaining_deliverables": [
{
"id": "P03-01",
"title": "機能別の保存契約",
"work": "会計、施設状態、人数、欲求属性、マナ、人物、図鑑、物語に新規項目を追加する前に保存条件を固定する。",
"acceptance": "新旧版・欠損・未知版・破損を検証し、失敗時に原データが変わらない。",
"state": "planned",
"evidence": []
},
{
"id": "P03-02",
"title": "配置と関係値の旧版移行",
"work": "寸法変更、動線喪失、旧関係値の意味を個別に確認し、移行プレビューと拒否時の復帰を用意する。",
"acceptance": "移動中、EV乗車中、搬送中、同時建設中の参照が孤立しない。推測による関係値変換をしない。",
"state": "planned",
"evidence": []
},
{
"id": "P03-03",
"title": "プロセスを跨ぐ再開",
"work": "営業・配送・清掃・防衛・人物進行の途中で保存、終了、再起動して比較する。",
"acceptance": "同じ操作列の施設・財布・台帳・人物・イベントが一致し、二重効果がない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
},
"cleaning_access_followup": {
"evidence": "execution/CLEANING_ACCESS_FOLLOWUP.md",
"status": "Alternate accessible destinations and wait/reconnect behavior implemented; cleaning-room UI corrected. Six targeted suites PASS; broad regression59503 remains active and spans this source change."
},
"cleaning_animation_and_ordering": {
"status": "mop driven by actual active on-site work; explicit lexical cleanliness save/dispatch order fixes cross-process mismatch; related tests and rendered restart97 PASS",
"evidence": "execution/CLEANING_ANIMATION.md",
"all_original_acceptance": false
},
"world_snapshot_cache": {
"status": "single cached geometry with detached reads and restore invalidation; 5 related suites PASS; 20000-cell same-state world serialization improved, full simulation budgets still fail",
"evidence": "execution/WORLD_SNAPSHOT_CACHE.md",
"all_original_acceptance": false
},
"event_defense_integration": {
"status": "integrated_current_source_full_and_restart_verified",
"evidence": "artifacts/event-defense-integration-2026-09-30/",
"runtime_schema": 13,
"event_checks": 186,
"natural_producer_complete": false,
"all_original_acceptance": false,
"full_evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P04",
"phase": 1,
"title": "更新順序・責務の整理",
"depends_on": [
"P03"
],
"size": "M",
"requirement_ids": [
"B-1.3",
"B-1.4",
"B-3.2",
"B-9.2"
],
"work": "一分更新、00:00決算、時間帯・天候更新、施設稼働判定、客選択の適用順を仕様化。新機能は分離サービスで実装しRuntimeから接続。全体の一括書換えはしない。",
"acceptance": "同一Tickでの閉店/停電/退出/課金順が決定的。コマンド再送で二重課金・二重生成しない。",
"decisions": [
"D05"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "更新順と分離サービスの改善は部分採用済み。全機能の順序契約は継続。",
"remaining_deliverables": [
{
"id": "P04-01",
"title": "同時発生の更新規約",
"work": "閉店、停電、破壊、退出、課金、シフト交代、00:00決算の順序を明記する。",
"acceptance": "順序境界で停止中課金、二重決算、予約の孤立がない。",
"state": "planned",
"evidence": []
},
{
"id": "P04-02",
"title": "トランザクションと再送",
"work": "課金・補給・依存判定・イベント効果の失敗時原状保持と再送時の一回反映を接続する。",
"acceptance": "途中失敗後の状態・帳簿・再試行結果が一致する。",
"state": "planned",
"evidence": []
},
{
"id": "P04-03",
"title": "Runtimeの負荷監視",
"work": "新サービス導入ごとにTick・snapshot・経路・描画更新を同一条件で測る。",
"acceptance": "状態や乱数を変える軽量化を受け入れず、性能結果と意味的同等性を別に判定する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
3,
7
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"fine_cleaning_effect": {
"status": "triple work rate and single-owner cleaning progression implemented; six related suites PASS; normal recruitment pending user values",
"evidence": "execution/FINE_CLEANING_EFFECT.md",
"all_original_acceptance": false
},
"staff_task_clock": {
"status": "Removed redundant rejected per-tick progress calls; normal task time unchanged; 6 suites / 574 checks PASS",
"evidence": "execution/STAFF_TASK_CLOCK.md",
"all_original_acceptance": false
},
"event_defense_integration": {
"status": "integrated_current_source_full_and_restart_verified",
"evidence": "artifacts/event-defense-integration-2026-09-30/",
"runtime_schema": 13,
"event_checks": 186,
"natural_producer_complete": false,
"all_original_acceptance": false,
"full_evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"既存代表負荷の性能回帰を計測"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P05",
"phase": 2,
"title": "全収支・維持費・税・借入",
"depends_on": [
"P04"
],
"size": "L",
"requirement_ids": [
"B-3.4a",
"B-3.4b",
"B-9.1",
"B-9.2",
"B-9.3"
],
"work": "表/裏収入区分、維持費、返済元本/利息、税、未払いを帳簿に接続。金庫上限・購買・銀行のサービス契約を先に作る。決算損益と現金収支を区別。",
"acceptance": "3営業日の費目別総額が台帳・施設別・資金と一致。借入元本を売上にしない。支払い失敗/再送/復元/3赤字を検証。",
"decisions": [
"D04",
"D05"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "承認済み維持費は接続済み。有料自動仕入れの修正候補は未採用。",
"remaining_deliverables": [
{
"id": "P05-01",
"title": "自動仕入れ候補の受入",
"work": "1394基準の補正候補を現1396基準へ限定リベースし、見積・数量・単価・領収書・配送と通常UIへ接続する。",
"acceptance": "手動購入互換、資金不足、二重課金、返送、停電、隔離、途中再起動を検証してから採用する。",
"state": "planned",
"evidence": []
},
{
"id": "P05-02",
"title": "全費目と資金区分",
"work": "表金・裏金、維持費未払い、仕入れ、人件費、元本、利息、税を帳簿へ接続する。",
"acceptance": "3営業日で資金増減と台帳が一致し、借入元本を売上に含めない。",
"state": "planned",
"evidence": []
},
{
"id": "P05-03",
"title": "金庫と銀行の通常営業",
"work": "金庫容量、購買窓口、借入、返済、滞納を通常画面から操作する。",
"acceptance": "上限・不足・期限・保存・赤字終了と、滞納から脅威への接続を確認する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P06",
"phase": 2,
"title": "マナ枯渇と全館停止",
"depends_on": [
"P04"
],
"size": "L",
"requirement_ids": [
"B-2.6",
"B-9.1",
"B-10.6",
"B-10.7"
],
"work": "供給/蓄積/消費と世界樹初期源の扱いを整理。全館停止時のサービス、EV、物流、救護、入館と安全な復帰を接続。休止状態は停電復旧で解除しない。",
"acceptance": "残量境界、停止中利用者、EV乗車中、搬送中、同日復旧を試験。停止中の売上や生産が無条件に継続しない。",
"decisions": [
"D04",
"D05"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "停電、厨房、救護の停止復帰は部分実装。有限マナ供給の契約が残る。",
"remaining_deliverables": [
{
"id": "P06-01",
"title": "供給と蓄積の契約",
"work": "世界樹、マナ炉、消費施設の生成・蓄積・消費と旧ゼロ値保存の意味を整理する。",
"acceptance": "初期値や係数の根拠を区別し、旧版移行と残量境界で矛盾がない。",
"state": "planned",
"evidence": []
},
{
"id": "P06-02",
"title": "全館停止の統合",
"work": "利用中、EV、ワープ、物流、救護、清掃、入館へ同じ停止判定を接続する。",
"acceptance": "停電中の無条件売上・生産がなく、乗客と搬送対象が消えない。",
"state": "planned",
"evidence": []
},
{
"id": "P06-03",
"title": "復帰と表示",
"work": "供給復帰時の予約・在庫・運行を再開し、HUDへ供給、消費、蓄積を表示する。",
"acceptance": "破壊・摘発の休止を停電復旧で解除しない。途中保存後も復帰結果が一致する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"evidence": "execution/MANA_INTEGRATION.md",
"status": "Production outage logic, kitchen and paired rescue recovery, HUD outage display verified; make check passed",
"remaining": [
"finite reserve policy and Runtime generation/consumption",
"new reserve model save migration and legacy-zero-save boundary",
"supply/consumption HUD values after policy integration",
"natural gameplay and Windows acceptance"
],
"no_landing_evidence": "artifacts/mana-2026-09-29/no-landing-validation.json"
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"既存代表負荷の性能回帰を計測"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P07",
"phase": 2,
"title": "天候・流行・環境",
"depends_on": [
"P04"
],
"size": "L",
"requirement_ids": [
"B-2.3",
"B-2.6",
"B-3.2",
"B-3.5",
"B-4.5",
"B-11.1"
],
"work": "雨/嵐/マナ霧、流行ニュース、ゾーンの採光/遮音/隠蔽、景観/清潔/騒音を段階導入。係数と乱数系列を保存しHUDと予測へ表示。",
"acceptance": "嵐で新規入館0、雨で来客減/滞在延長。天候変化の瞬間と保存再開が一致。環境変更に応じて満足度と対象売上が変わる。",
"decisions": [
"D04",
"D05"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "嵐の境界と天候保存、清潔度基盤は部分接続済み。",
"remaining_deliverables": [
{
"id": "P07-01",
"title": "雨と霧と自然天候",
"work": "雨の来客減・滞在延長、マナ霧、自然変化を実営業へ接続する。",
"acceptance": "天候切替直前後、途中保存、自然来客の差を同条件で説明できる。",
"state": "planned",
"evidence": []
},
{
"id": "P07-02",
"title": "環境と客反応",
"work": "景観・清潔・騒音、採光・遮音・隠蔽を満足度、客特性、売上へ接続する。",
"acceptance": "異なる環境で実際の選択と満足度が変化し、清潔伝播も保存される。",
"state": "planned",
"evidence": []
},
{
"id": "P07-03",
"title": "流行ニュースと可視化",
"work": "流行の効果、期限、通知、将来需要の説明を通常画面へ出す。",
"acceptance": "通知文と需要変化が一致し、再読込でニュースや効果が重複しない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"evidence": "execution/WEATHER_INTEGRATION.md",
"status": "Runtime11 migration, storm boundary, disk save/retry and native HUD verified; related11 script gate passed after fixture corrections.",
"remaining": [
"natural weather generation policy",
"rain and fog effects",
"trend news and environmental effects",
"normal gameplay and Windows acceptance"
],
"cleaning_approved_foundation": {
"evidence": "execution/CLEANING_APPROVED_FOUNDATION.md",
"status": "User approved trial room/policy values; standalone cleanliness model and strict policy validator:47 checks PASS. Runtime/scheduler/UI/save migration remain unconnected; not normal-play completion."
},
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"既存代表負荷の性能回帰を計測"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P08",
"phase": 3,
"title": "施設寸法・既存配置の整合",
"depends_on": [
"P03",
"P01"
],
"size": "M",
"requirement_ids": [
"B-2.1",
"B-8.1",
"B-10.1",
"B-10.2",
"B-10.3",
"B-10.4",
"B-10.5",
"B-10.6",
"B-10.7"
],
"work": "上級客室4×1、宿舎2×1、闇市場4×2へ原本準拠。30施設を正規IDで管理し類似施設を代用扱いしない。旧占有・支持・接続の移行を検証。",
"acceptance": "新規建設の寸法/層/地上地下が全30件で一致。旧施設の拡縮で重複・経路断を起こさず、解消不能な移行は元データを保つ。",
"decisions": [
"D06"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "原本に対応する17定義の寸法・層は整合。全30の配置運用は未完。",
"remaining_deliverables": [
{
"id": "P08-01",
"title": "全30施設の配置条件",
"work": "未定義13件と闇市場を含め、正規ID・寸法・層・地上地下・高層・背面条件を固定する。",
"acceptance": "30件の原本対応と個別建設条件が一致し、類似施設で代用しない。",
"state": "planned",
"evidence": []
},
{
"id": "P08-02",
"title": "旧配置の安全な変更",
"work": "混合建設、占有変更、役者の実位置、救護・物流・EVをまとめて移行する。",
"acceptance": "重複、孤立、消失がない。解消不能時は元配置とセーブを保つ。",
"state": "planned",
"evidence": []
},
{
"id": "P08-03",
"title": "配置の通常操作受入",
"work": "通常パレットから支持・接続・不正位置・撤去・再建築を操作する。",
"acceptance": "拒否理由と実判定が一致し、パン・ズーム・保存再開後も同じ位置を扱う。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
3,
7
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"evidence": "execution/FACILITY_DIMENSION_MIGRATION.md",
"status": "Migration review/load UI added; native UI13,dashboard136,batch23 checks PASS; P08 remains in progress",
"remaining": [
"coordinated layout ordering and broader mixed-job acceptance",
"physical actors on removed cells and coordinated task retargeting",
"in-flight elevators and working rescue/logistics acceptance",
"all30 normal building/save acceptance",
"OS pointer and Windows migration UI acceptance"
],
"current_facility_audit": {
"status": "Live audit: original30 = normal16 + definition-only1 + unmapped13; 17 mapped dimensions/layers match; customer limits unset13. Not full acceptance.",
"evidence": "execution/CURRENT_FACILITY_AUDIT.md",
"all_original_acceptance": false
},
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
},
"original_room_zones": {
"status": "removed unsupported above-ground-only restriction from standard/premium/staff dormitory; 6 suites and rendered41 PASS",
"evidence": "execution/ORIGINAL_ROOM_ZONES.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P09",
"phase": 3,
"title": "施設共通契約と追加10項目",
"depends_on": [
"P05",
"P06",
"P08"
],
"size": "L",
"requirement_ids": [
"B-8.1",
"B-8.2",
"B-8.3",
"B-8.5",
"B-9.2"
],
"work": "人数専用上限、staff_min/max、3稼働状態、関連施設、サービス属性、価格、施設レベルを統合。全37既存定義を点検し原本30施設の値を台帳化。",
"acceptance": "本番UI→コマンド→Runtime→人数/料金→台帳→保存まで接続。不一致属性でも利用可能。待機者と利用者を混同せず、人数超過/停止中課金/勝手な休止復帰を防ぐ。",
"decisions": [
"D01",
"D02",
"D03",
"D04",
"D05"
],
"state": "in_progress",
"supplement_ids": [
"F-01",
"F-02",
"F-03",
"F-04",
"F-05",
"F-06",
"F-07",
"F-08",
"F-09",
"F-10"
],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "人数・稼働状態等の基盤と料金未設定表示は採用済み。欲求加算の実徴収は未接続。",
"remaining_deliverables": [
{
"id": "P09-01",
"title": "施設10項目の統合",
"work": "人数専用上限とcapacity、職員上限と最低人数、単一関連施設と稼働フラグ、3状態を区別して全定義へ適用する。",
"acceptance": "待機者を利用人数に数えず、関連施設が配置だけで稼働扱いにならず、休止は自動復帰しない。",
"state": "planned",
"evidence": []
},
{
"id": "P09-02",
"title": "欲求一致加算の接続",
"work": "不足基準、料金加算、施設属性の必須未確定値を整理し、確定後に見積から実徴収・台帳までつなぐ。",
"acceptance": "一致時のみ指定加算、不一致でも利用可。財布減額と収入が一致し、アンリ補正との順序と丸めを確認する。",
"state": "planned",
"evidence": []
},
{
"id": "P09-03",
"title": "施設レベルと営業設定",
"work": "Lv1からLv3の価格、人数、解放条件、営業Policyと説明を接続する。",
"acceptance": "通常操作、利用中変更、人数超過、停止、日跨ぎ、途中保存で契約が一致する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"current_facility_audit": {
"status": "Live audit: original30 = normal16 + definition-only1 + unmapped13; 17 mapped dimensions/layers match; customer limits unset13. Not full acceptance.",
"evidence": "execution/CURRENT_FACILITY_AUDIT.md",
"all_original_acceptance": false
},
"business_customer_counts": {
"status": "implemented; business72 headless/native and chapel16 passed; original controls in evidence",
"evidence": "execution/BUSINESS_CUSTOMER_COUNTS.md",
"remaining": [
"customer limit values for unspecified facilities",
"other original facility parameters and end-to-end acceptance"
]
},
"cleaning_approved_foundation": {
"evidence": "execution/CLEANING_APPROVED_FOUNDATION.md",
"status": "User approved trial room/policy values; standalone cleanliness model and strict policy validator:47 checks PASS. Runtime/scheduler/UI/save migration remain unconnected; not normal-play completion."
},
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
},
"original_room_zones": {
"status": "removed unsupported above-ground-only restriction from standard/premium/staff dormitory; 6 suites and rendered41 PASS",
"evidence": "execution/ORIGINAL_ROOM_ZONES.md",
"all_original_acceptance": false
},
"service_start_slots": {
"status": "Start index separated from customer headcount and fixed before notification callbacks. New25 and related220 checks PASS; rendered two-process opening/restart97 PASS, gameplay equal and source unchanged. Not full140-suite or original acceptance.",
"evidence": "execution/SERVICE_START_SLOTS.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P10",
"phase": 3,
"title": "宿泊・飲食施設の完成",
"depends_on": [
"P09"
],
"size": "L",
"requirement_ids": [
"B-8.2",
"B-10.1",
"B-10.2"
],
"work": "一般/上級/VIP/ドミトリー、食堂/レストラン/酒場/屋台を建設・厨房・在庫・従業員・客AI・UIへ接続。高層/景観要件と厨房依存を含む。",
"acceptance": "各施設を通常パレットから建設して一営業日利用し、必要条件喪失と再開、売上、人数上限、保存を検証。",
"decisions": [
"D04"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "一般・上級客室等は部分営業済み。VIP・ドミトリー・レストラン・屋台が未定義。",
"remaining_deliverables": [
{
"id": "P10-01",
"title": "宿泊4種類の完了",
"work": "VIPスイートとドミトリーを追加し、一般・上級を含む宿泊条件、精算、景観、人数をそろえる。",
"acceptance": "4種類を通常建設し自然客が利用、前払い・退店・停止・保存を検証する。",
"state": "planned",
"evidence": []
},
{
"id": "P10-02",
"title": "飲食4種類の完了",
"work": "レストラン、屋台を追加し、食堂、酒場と厨房、食材、職種、物流を統合する。",
"acceptance": "厨房の稼働喪失・在庫不足・届く前の利用拒否・営業収支を確認する。",
"state": "planned",
"evidence": []
},
{
"id": "P10-03",
"title": "営業と中期収支",
"work": "通常初期資金で新設施設を運用し、複数シードと序盤・中盤の需要で試す。",
"acceptance": "施設別売上と費用、依存、人数、移動、保存が一致する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"evidence": "execution/PREMIUM_ROOM_INTEGRATION.md",
"status": "Premium natural opening day via synthesized GUI input:440G lodging, midnight close, UI save/load, next30minute exact replay; opening guide now recognizes all FRONT lodging. Native36 and standard opening48 checks PASS; final headless36 checks including construction guide PASS; make check exit0.",
"remaining": [
"OS pointer and Windows same-build acceptance",
"other original lodging and dining facilities",
"broader arrival seeds, full-day outages and long-term balance"
],
"distribution_evidence": "execution/ORIGINAL_FACILITIES_EXPORT.md",
"original_room_zones": {
"status": "removed unsupported above-ground-only restriction from standard/premium/staff dormitory; 6 suites and rendered41 PASS",
"evidence": "execution/ORIGINAL_ROOM_ZONES.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"Windows部分実機確認。不可なら未検証を残す",
"初期/中盤/終盤に対応するプレイ試行で収支・操作・到達性を確認"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P11",
"phase": 3,
"title": "衛生・娯楽・礼拝施設",
"depends_on": [
"P09",
"P07"
],
"size": "L",
"requirement_ids": [
"B-8.2",
"B-10.3"
],
"work": "浴場/カジノ/闘技場/礼拝堂の役割、利用、収支、職種、信仰への接続を実装。機能ごとの通常UIを用意。",
"acceptance": "4施設が定義だけでなく通常営業できる。礼拝の信仰をランク条件へ接続し、停止・退店・精算を再現。",
"decisions": [
"D04",
"D05"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "大浴場と礼拝堂は部分接続済み。カジノと闘技場が未定義。",
"remaining_deliverables": [
{
"id": "P11-01",
"title": "娯楽2施設の営業",
"work": "カジノと闘技場の定義、従業員、利用、会計、解放、設定を接続する。",
"acceptance": "通常建設から利用、収益、退出、停止、保存再開まで成立する。",
"state": "planned",
"evidence": []
},
{
"id": "P11-02",
"title": "浴場と礼拝の統合",
"work": "浴場と承認済み礼拝堂を人数・清潔・職種・信仰・ランクへ接続する。",
"acceptance": "寄付、信仰、人物補正、営業停止が一回だけ反映される。",
"state": "planned",
"evidence": []
},
{
"id": "P11-03",
"title": "4施設の境界受入",
"work": "同時利用限界、職員離席、停電、破壊、関連条件喪失を試す。",
"acceptance": "表示された稼働理由・利用可否と実状態が一致する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"chapel_service_boundary": {
"status": "Normal catalog, cleric hire, assignment, autonomous worship, payment/Faith and UI connected; broader acceptance pending",
"evidence": "execution/CHAPEL_APPROVED_INTEGRATION.md",
"remaining": [
"long-term economic balance",
"final chapel art",
"Windows"
]
},
"chapel_normal_gameplay": {
"status": "Native17 checks passed; pre-final UI suite and catalog/content regression passed",
"evidence": "execution/CHAPEL_APPROVED_INTEGRATION.md"
},
"chapel_capacity_and_two_day": {
"status": "Capacity8/queue, real cleric unassignment, no reward on interruption/failure, exact save/replay, two-day normal arrival and maintenance settlement verified",
"checks": 46,
"evidence": "execution/CHAPEL_APPROVED_INTEGRATION.md"
},
"catalog_lookup": {
"status": "Fixed chapel lookup omission; normal catalog query coverage310 checks PASS",
"evidence": "execution/CHAPEL_FULL_REGRESSION.md"
},
"amelia_donations": {
"status": "Placement-based triple chapel donation connected to quotes, actual payment, ledger and UI; native39 and related136 checks PASS; normal recruitment and healing remain",
"evidence": "execution/AMELIA_DONATIONS.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P12",
"phase": 3,
"title": "バックヤード施設完成",
"depends_on": [
"P09"
],
"size": "L",
"requirement_ids": [
"B-2.4",
"B-5.3",
"B-5.4",
"B-8.3",
"B-10.5",
"B-3.3"
],
"work": "宿舎・清掃員室を追加し厨房/倉庫/待機/警備/医務を統一契約へ移行。リネンシュート・隠し扉の動線も個別に追跡する。",
"acceptance": "7施設と追加設備の職員行動、客の侵入禁止、在庫/清掃/休息/救護を通常プレイで検証。重複救護と孤立物資が残らない。",
"decisions": [
"D04",
"D05"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "宿舎・清掃員室・実清掃・救護等は部分接続済み。全業務と特殊設備は残る。",
"remaining_deliverables": [
{
"id": "P12-01",
"title": "裏方7施設の完成",
"work": "厨房・倉庫・待機・宿舎・清掃・警備・医務の配置、職種、仕事、停止をそろえる。",
"acceptance": "客侵入を防ぎ、実出勤から実作業・休息・帰宅まで成立する。",
"state": "planned",
"evidence": []
},
{
"id": "P12-02",
"title": "専用動線と設備",
"work": "リネンシュート、隠し扉、従業員ドアを物流、清掃、救護経路へ接続する。",
"acceptance": "孤立入口、経路喪失、交代、撤去で人員・物資・救護対象が消えない。",
"state": "planned",
"evidence": []
},
{
"id": "P12-03",
"title": "全シフトの運用",
"work": "昼夜の交代、休息、清掃、配送、救護が重なる通常一日を操作する。",
"acceptance": "人数と予約が上限内で、停止・保存再開を跨いでも重複業務がない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"evidence": "execution/STAFF_DORMITORY_INTEGRATION.md",
"status": "Dormitory normal registration/palette plus physical staff access/rest/outage/restore;18 focused checks PASS",
"remaining": [
"ordinary full shift/rest-day and physical UI construction acceptance",
"staff/transport-safe legacy migration",
"remaining backyard facilities and special equipment",
"Windows native acceptance"
],
"distribution_evidence": "execution/ORIGINAL_FACILITIES_EXPORT.md",
"shift_cycle_status": "16 checks PASS: ordinary repeating NIGHT shift, natural06:00 end, dormitory rest via physical stairs, exact60-minute checkpoint replay, next18:00 return. One seed/worker; UI/Windows and other shift scenarios remain.",
"cleaning_approved_foundation": {
"evidence": "execution/CLEANING_APPROVED_FOUNDATION.md",
"status": "User approved trial room/policy values; standalone cleanliness model and strict policy validator:47 checks PASS. Runtime/scheduler/UI/save migration remain unconnected; not normal-play completion."
},
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
},
"cleaning_access_followup": {
"evidence": "execution/CLEANING_ACCESS_FOLLOWUP.md",
"status": "Alternate accessible destinations and wait/reconnect behavior implemented; cleaning-room UI corrected. Six targeted suites PASS; broad regression59503 remains active and spans this source change."
},
"original_room_zones": {
"status": "removed unsupported above-ground-only restriction from standard/premium/staff dormitory; 6 suites and rendered41 PASS",
"evidence": "execution/ORIGINAL_ROOM_ZONES.md",
"all_original_acceptance": false
},
"fine_cleaning_effect": {
"status": "triple work rate and single-owner cleaning progression implemented; six related suites PASS; normal recruitment pending user values",
"evidence": "execution/FINE_CLEANING_EFFECT.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P13",
"phase": 3,
"title": "特殊・地下施設の非描写システム接続",
"depends_on": [
"P09",
"P12"
],
"size": "L",
"requirement_ids": [
"B-1.6",
"B-2.5",
"B-8.2",
"B-8.3",
"B-10.4",
"B-10.6"
],
"work": "原本にある地下/特殊施設の配置、アクセス制御、役割、会計、イベント状態を接続。覗き部屋は対象施設背面と裏通路寸断、地下牢/マナ炉は明示状態遷移として追跡。表現資産は別工程。",
"acceptance": "特殊条件が建設時と運用時の両方で効く。無効配置や失われた対象への操作を拒否。イベント状態を保存でき、実装範囲と未制作内容を分けて報告。",
"decisions": [
"D04",
"D05",
"D08"
],
"state": "planned",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "一部関連基盤はあるが原本の特殊施設接続は未着手。",
"remaining_deliverables": [
{
"id": "P13-01",
"title": "特殊施設とアクセス",
"work": "原本の特殊・地下施設を配置、職員アクセス、役割、会計の非描写状態として接続する。",
"acceptance": "特殊条件の建設時・運用時判定が一致し、無効配置が通らない。",
"state": "planned",
"evidence": []
},
{
"id": "P13-02",
"title": "背面条件と対象参照",
"work": "覗き部屋の対象背面、通路寸断、対象喪失と証拠IDを状態として実装する。",
"acceptance": "対象撤去、重複収集、停止、途中保存で状態と参照が整合する。",
"state": "planned",
"evidence": []
},
{
"id": "P13-03",
"title": "内容差異の記録",
"work": "地下牢、マナ炉等のイベント接続と未制作の表現資産を別に管理する。",
"acceptance": "状態処理の完成を内容制作の完成として加点しない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "planned"
},
{
"id": "P14",
"phase": 3,
"title": "垂直交通・ワープ完成",
"depends_on": [
"P06",
"P09"
],
"size": "L",
"requirement_ids": [
"B-2.4",
"B-4.3a",
"B-4.3b",
"B-4.3c",
"B-8.4",
"B-10.7"
],
"work": "客/業務EV、階段にマナワープと費用を追加。待ち時間の経路費用、容量、職員アクセス、停止時退避を統一。魔法砲台はP21で接続。",
"acceptance": "全交通を通常建設し経路選択・実移動を検証。待ち時間増で別経路を選択。ワープ中/EV中保存、マナ不足、救護同伴時の人数を検証。",
"decisions": [
"D04",
"D05"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "EV・階段と救護同伴等の基盤あり。ワープと全経路受入が残る。",
"remaining_deliverables": [
{
"id": "P14-01",
"title": "交通の失敗時契約",
"work": "不正transitキーでsnapshot全体を拒否する未採用候補を現基準で検証する。",
"acceptance": "部分成功を返さず、正常順序・型・所有権・保存・経路が基準と一致する。",
"state": "planned",
"evidence": []
},
{
"id": "P14-02",
"title": "ワープの通常接続",
"work": "マナワープの建設、対象、待ち時間、消費、停止、実移動を接続する。",
"acceptance": "途中保存、マナ不足、到着不能時に移動や費用が二重反映されない。",
"state": "planned",
"evidence": []
},
{
"id": "P14-03",
"title": "混雑と経路選択",
"work": "客用・業務用EV、階段、ワープの待ち時間をA*費用へ反映する。",
"acceptance": "ラッシュ、相乗り、50%減速、救護同伴、経路喪失を実位置と人数で検証する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"cleaning_access_followup": {
"evidence": "execution/CLEANING_ACCESS_FOLLOWUP.md",
"status": "Alternate accessible destinations and wait/reconnect behavior implemented; cleaning-room UI corrected. Six targeted suites PASS; broad regression59503 remains active and spans this source change."
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"既存代表負荷の性能回帰を計測",
"Windows部分実機確認。不可なら未検証を残す"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P15",
"phase": 4,
"title": "客の全パラメータ・時間帯AI",
"depends_on": [
"P07",
"P10",
"P11",
"P14",
"P13"
],
"size": "L",
"requirement_ids": [
"B-3.2",
"B-4.1",
"B-4.2",
"B-4.4",
"B-4.5",
"B-9.4"
],
"work": "戦利品、清潔度と汚染伝播、クラス/種族反応、朝夕の移動目的、依存と信用限度の非描写状態処理を追加。最大欲求選択を維持。",
"acceptance": "一般/貴族/聖職者/エルフ/魔族等で期待行動を再現。朝下り/夕上りの目的地分布、清潔伝播、装備処分・破産状態を保存再開まで検証。",
"decisions": [
"D04",
"D05",
"D08"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "欲求選択と候補拒否ログ等は部分実装。全客特性は未完。",
"remaining_deliverables": [
{
"id": "P15-01",
"title": "時間帯と欲求",
"work": "朝の下り、夕の上り、夜の目的地を四欲求、距離、行列、価格へ接続する。",
"acceptance": "最大欲求を維持し、日付・天候・施設変化で目的地分布が説明できる。",
"state": "planned",
"evidence": []
},
{
"id": "P15-02",
"title": "種族と環境",
"work": "クラス・種族、忍耐、清潔、汚染伝播、戦利品を実来客モデルへ接続する。",
"acceptance": "原本の客種ごとに反応が異なり、再読込で属性が再抽選されない。",
"state": "planned",
"evidence": []
},
{
"id": "P15-03",
"title": "依存と信用の状態",
"work": "依存、装備処分、信用超過、退店判断、破産を非描写状態として処理する。",
"acceptance": "金額と所持品を保全し、途中中断・再送・保存でも一回だけ遷移する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"guest_decision_history": {
"status": "Actual completed guest choices recorded in bounded saved event history and exposed through normal HUD. New headless20/rendered21 PASS; existing observer22, GuestService137, runtime cycle40 PASS; rendered operating restart97 PASS. Not full thought-history or original acceptance.",
"evidence": "execution/GUEST_DECISION_LOG.md",
"all_original_acceptance": false
},
"guest_candidate_rejections": {
"status": "Actual rejection reason counts and up to8 facility examples retained in saved decision event; includes missing supplies without unnecessary path queries. Headless28/rendered29, related241, rendered restart97 checks PASS. Not whole-original acceptance.",
"evidence": "execution/GUEST_REJECTION_LOG.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"既存代表負荷の性能回帰を計測"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P16",
"phase": 4,
"title": "雇用・職種・労務完成",
"depends_on": [
"P12",
"P15",
"P13"
],
"size": "L",
"requirement_ids": [
"B-5.1",
"B-5.2",
"B-5.3",
"B-5.4",
"B-5.5",
"B-3.3"
],
"work": "雇用区分別費用、全職種業務、生成時特性、獲得/退職/処分の非描写状態処理を整理。乱数特性は生成時に固定しセーブへ保存。",
"acceptance": "求人から配置・業務・休息・精算・退職まで通常UIで通る。費用/忠誠/特性効果の変化が可視化され、ロードで特性が再抽選されない。",
"decisions": [
"D04",
"D05",
"D08"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "一般求人・配置・清掃等の基盤あり。全雇用区分と特性・費用は残る。",
"remaining_deliverables": [
{
"id": "P16-01",
"title": "獲得と費用の区分",
"work": "求人、市場、原本の雇用区分ごとの費用と獲得・退職を非描写状態として整理する。",
"acceptance": "求人から配置・精算・退職まで通常操作でき、ユニーク禁止操作を維持する。",
"state": "planned",
"evidence": []
},
{
"id": "P16-02",
"title": "特性と全職種",
"work": "生成時特性、体力、ストレス、忠誠、技能と全職種の仕事を接続する。",
"acceptance": "同一保存で特性が固定され、配置しても仕事内容がない職種を残さない。",
"state": "planned",
"evidence": []
},
{
"id": "P16-03",
"title": "労務と交代",
"work": "勤務、休息、給与、気絶、救護、退職時参照除去を横断検証する。",
"acceptance": "人員上限、未払い、交代中の予約・移動が整合し、消失や二重精算がない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"cleaning_approved_foundation": {
"evidence": "execution/CLEANING_APPROVED_FOUNDATION.md",
"status": "User approved trial room/policy values; standalone cleanliness model and strict policy validator:47 checks PASS. Runtime/scheduler/UI/save migration remain unconnected; not normal-play completion."
},
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
},
"staff_task_clock": {
"status": "Removed redundant rejected per-tick progress calls; normal task time unchanged; 6 suites / 574 checks PASS",
"evidence": "execution/STAFF_TASK_CLOCK.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P17",
"phase": 4,
"title": "ユニーク7名・固有効果・成長",
"depends_on": [
"P16",
"P05",
"P11"
],
"size": "L",
"requirement_ids": [
"B-1.5",
"B-6.1",
"B-6.2",
"B-6.3",
"B-6.4",
"B-6.5"
],
"work": "7ヒロインと指定ライバル、無料/削除禁止、業務EXP/Lv99、固有パッシブを実装。アンリの配置階売上+20%など原本の明示数値を優先。衣装/超過勤務/離脱を状態として接続。 ヒロイン7名とライバルを別集合で集計する。",
"acceptance": "7名全員で固有効果の適用前後、配置変更/同時配置、99上限、削除禁止を試験。24時間警告から継続/中止ができ、保存復元で効果を重複適用しない。",
"decisions": [
"D04",
"D07",
"D08"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "アンリの通常無料加入と料金補正等を部分接続。7ヒロイン全体は未完。ライはライバルとして別集計。",
"remaining_deliverables": [
{
"id": "P17-01",
"title": "7名の加入と固有効果",
"work": "アンリ、フィーネ、トマリ、アメリア、リズ、ミミ、サツキとライバルを区別し、加入と固有効果を通常営業へ接続する。",
"acceptance": "7名それぞれ配置前後・同時配置・配置変更の効果を確認し、無料・削除禁止を維持する。",
"state": "planned",
"evidence": []
},
{
"id": "P17-02",
"title": "業務成長と技能",
"work": "実業務EXP、Lv99、基礎技能、パッシブ、能動スキル、ルート別解放を接続する。",
"acceptance": "上限と取得条件、財布や台帳への補正、保存再開で効果が一致する。",
"state": "planned",
"evidence": []
},
{
"id": "P17-03",
"title": "衣装と勤務と離脱",
"work": "24時間警告、継続・中止、衣装補正、限定的離脱と復帰を通常UIへ接続する。",
"acceptance": "警告を操作でき、原本外の恒久ロストを起こさず、未設定加入条件は捏造しない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"anri_original_effect": {
"status": "Definition correction followed by implemented recruitment, placement and floor pricing; see subsequent evidence",
"evidence": "execution/ANRI_ORIGINAL_EFFECT.md",
"remaining": [
"all seven characters",
"broader gameplay acceptance and Windows"
]
},
"unique_employment_protection": {
"status": "Implemented service non-removal and zero new wages; full unique gameplay incomplete",
"evidence": "execution/UNIQUE_EMPLOYMENT_PROTECTION.md",
"checks": [
209,
87,
59
]
},
"unique_runtime_protection": {
"checks": 116,
"evidence": "execution/UNIQUE_EMPLOYMENT_PROTECTION.md"
},
"anri_user_decisions": {
"recruitment": "Player selects free recruitment in staff UI",
"revenue": "Increase guest price by 20 percent; wallet debit equals facility revenue",
"evidence": "execution/ANRI_APPROVED_INTEGRATION.md",
"implemented": true,
"implementation_status": "Free UI recruitment and approved floor pricing implemented; broader acceptance pending"
},
"anri_recruitment": {
"status": "Implemented staff-screen free recruitment and save/load",
"evidence": "execution/ANRI_RECRUITMENT.md",
"remaining": [
"all seven characters and broader P17",
"Windows"
]
},
"anri_floor_pricing": {
"status": "Implemented placement, pricing, UI and targeted payment/save tests",
"evidence": "execution/ANRI_FLOOR_PRICING.md",
"remaining": [
"random arrival through departure acceptance",
"additional shift/placement boundaries",
"other six heroines",
"full P17 and Windows"
]
},
"anri_autonomous_guest_flow": {
"status": "Controlled guest spawn followed by autonomous selection, stairs, lodging and equal payment/revenue verified; movement save replay exact",
"checks": {
"runtime": 36,
"recruitment_ui_headless": 17
},
"evidence": "execution/ANRI_FLOOR_PRICING.md"
},
"anri_placement_boundaries": {
"status": "Cross-floor DAY to NIGHT transfer, invalid zero-capacity target, demolition guard and repeated save restore verified",
"runtime_checks": 48,
"evidence": "execution/ANRI_FLOOR_PRICING.md"
},
"anri_integrated_ui_regression": {
"status": "make test-ui passed, source hashes stable; full original acceptance remains incomplete",
"evidence": "execution/ANRI_INTEGRATED_UI_REGRESSION.md",
"direct_script_checks": 992
},
"anri_opening_guide_role": {
"status": "Fixed guide counting manager as receptionist; regression reproduced before fix and targeted UI passes",
"evidence": "execution/ANRI_OPENING_GUIDE_ROLE.md"
},
"fine_cleaning_effect": {
"status": "triple work rate and single-owner cleaning progression implemented; six related suites PASS; normal recruitment pending user values",
"evidence": "execution/FINE_CLEANING_EFFECT.md",
"all_original_acceptance": false
},
"amelia_donations": {
"status": "Placement-based triple chapel donation connected to quotes, actual payment, ledger and UI; native39 and related136 checks PASS; normal recruitment and healing remain",
"evidence": "execution/AMELIA_DONATIONS.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"初期/中盤/終盤に対応するプレイ試行で収支・操作・到達性を確認"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P18",
"phase": 4,
"title": "関係パラメータ・盾・確定遷移",
"depends_on": [
"P03",
"P17"
],
"size": "L",
"requirement_ids": [
"B-7.1",
"B-7.2",
"B-7.3"
],
"work": "原本の感情値と盾の非描写シミュレーションを専用モデルに分離。好感度と盾最大、軽減、接触、閾値、ルート固定を接続。既存の汎用関係値を黙って同義変換しない。",
"acceptance": "境界値・盾破壊前後・同配置/別配置・一度確定したルートの再読込を試験。操作と表示の値が一致し、旧セーブ移行の意味を説明できる。",
"decisions": [
"D04",
"D07",
"D08"
],
"state": "planned",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "原本の関係3値と盾の全面接続は未着手。",
"remaining_deliverables": [
{
"id": "P18-01",
"title": "関係モデルと保存",
"work": "原本の3値と盾を専用モデルへ接続し、旧関係値を保全する。",
"acceptance": "表示と状態が一致し、意味不明な値の一対一変換を行わない。",
"state": "planned",
"evidence": []
},
{
"id": "P18-02",
"title": "接触と境界",
"work": "同配置、別配置、軽減、盾上限、盾破壊、閾値を非描写状態遷移として接続する。",
"acceptance": "閾値前後と反復更新で効果が一回だけ適用される。",
"state": "planned",
"evidence": []
},
{
"id": "P18-03",
"title": "不可逆な分岐",
"work": "原本のルート確定と旧進行の扱いを保存・履歴へつなぐ。",
"acceptance": "確定後のロードでルートが逆転せず、未決状態を勝手に固定しない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"既存代表負荷の性能回帰を計測"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "planned"
},
{
"id": "P19",
"phase": 4,
"title": "イベント・決闘・行動・履歴基盤",
"depends_on": [
"P18",
"P05"
],
"size": "L",
"requirement_ids": [
"B-7.1",
"B-7.4",
"B-7.5",
"B-7.6",
"B-11.3"
],
"work": "原本の決闘種別、プレイヤー行動、結果、履歴、人物外見状態を非描写のデータ/遷移/画面として実装。専用カメラは証拠IDとイベント基盤を接続。内容制作はP26に分離。",
"acceptance": "各分岐が到達可能で勝敗/費用/盾/履歴を一度だけ反映。中断・対象離脱・取消・ロード後も矛盾なし。専用画面は中立テスト内容で操作を検証。",
"decisions": [
"D04",
"D07",
"D08"
],
"state": "planned",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "一般イベント基盤はあるが原本の決闘・人物行動の全接続は未着手。",
"remaining_deliverables": [
{
"id": "P19-01",
"title": "人物行動と決闘",
"work": "原本の行動入口、3種決闘、勝敗、費用、結果を非描写イベントへ接続する。",
"acceptance": "通常入口から到達し、勝敗の盾・状態・台帳が一回だけ変化する。",
"state": "planned",
"evidence": []
},
{
"id": "P19-02",
"title": "観察と履歴",
"work": "専用観察画面、証拠ID、操作介入、対象状態、履歴を中立テスト内容でつなぐ。",
"acceptance": "対象不在、停止、取消、離脱、保存再開で参照と履歴が一致する。",
"state": "planned",
"evidence": []
},
{
"id": "P19-03",
"title": "分岐の到達性",
"work": "人物ごとの3ルートに必要なイベント・条件・中断処理を列挙する。",
"acceptance": "7名×3ルートの到達表があり、未制作内容は欠損として残る。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "planned"
},
{
"id": "P20",
"phase": 5,
"title": "ランク・信仰・物語進行",
"depends_on": [
"P05",
"P11",
"P15",
"P19"
],
"size": "L",
"requirement_ids": [
"B-1.1",
"B-1.2",
"B-1.3",
"B-1.4",
"B-1.5",
"B-6.4",
"B-6.5",
"B-8.1",
"B-8.5"
],
"work": "信仰/評判/裏影響、ランク条件、施設/方針/スキル解放、章とエンドを接続。条件評価APIだけでは進行完了としない。 図鑑一覧・発見・登録・閲覧・保存・コンプリート判定を接続する。",
"acceptance": "デバッグで条件値を直接書き込まず新規ゲームから最終ランクと本編終点へ到達。条件未達の理由が画面で分かり、分岐復元が一致。",
"decisions": [
"D04",
"D08"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "ランク表示等の部分実装あり。章・エンド・図鑑の通常到達は未完。",
"remaining_deliverables": [
{
"id": "P20-01",
"title": "ランクと解放",
"work": "信仰・評判・裏影響、ランク条件、領域、施設レベル、Policy、スキル解放を接続する。",
"acceptance": "通常営業から条件を達成でき、未達理由を表示する。",
"state": "planned",
"evidence": []
},
{
"id": "P20-02",
"title": "章と全エンド",
"work": "物語の開始、章、人物進行、最終ランク、終点を通常操作へ接続する。",
"acceptance": "条件値を直接注入せず新規から本編終点へ到達し、各エンドを保存再開できる。",
"state": "planned",
"evidence": []
},
{
"id": "P20-03",
"title": "図鑑の完成",
"work": "対象一覧、発見・登録条件、閲覧、達成状況、保存、コンプリート判定を実装する。",
"acceptance": "図鑑コンプを通常到達で検証し、本編クリアと全要素クリアを区別する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"status": "Partial: rank HUD, conditions and promotion command UI implemented; broader package remains open",
"rank_ui_evidence": "execution/WORLD_TREE_RANK_UI.md",
"rank_ui_validation": {
"native_checks": 23,
"failures": 0,
"make_check_exit_code": 0,
"natural_campaign_completion": false,
"windows_same_build_verified": false,
"viewport_input": {
"native_checks": 12,
"headless_checks": 11,
"failures": 0,
"evidence": "artifacts/facility-dimensions-2026-09-29/rank-pointer-validation.json"
}
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"初期/中盤/終盤に対応するプレイ試行で収支・操作・到達性を確認"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P21",
"phase": 5,
"title": "防衛・監査・銀行・砲台",
"depends_on": [
"P05",
"P13",
"P14",
"P17"
],
"size": "L",
"requirement_ids": [
"B-1.3",
"B-6.4",
"B-6.5",
"B-9.3",
"B-10.7",
"B-11.4"
],
"work": "原本の脅威発生から警告、準備、戦闘、能動スキル、魔法砲台、結果、施設損傷・休止へ接続。返済滞納と襲撃を接続。",
"acceptance": "API直呼びでなく通常営業から発生。勝利/敗北/退避/破壊・摘発/復元を検証。敗北で意図しない恒久ロストや勝手な休止解除がない。",
"decisions": [
"D03",
"D04",
"D05",
"D08"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "防衛の準備・表示・結果・イベント橋渡しは部分接続。自然脅威等が残る。",
"remaining_deliverables": [
{
"id": "P21-01",
"title": "自然脅威と監査",
"work": "自然営業のHeat、滞納、原本の脅威から警告と防衛準備へつなぐ。",
"acceptance": "サービス直呼びだけでなく通常営業から発生し、通知と状態が一致する。",
"state": "planned",
"evidence": []
},
{
"id": "P21-02",
"title": "砲台と能動技能",
"work": "魔法砲台の建設、マナ、職員、人物の任意技能、戦闘結果を接続する。",
"acceptance": "発動可否、費用、クールダウン、勝敗、中断を保存再開まで検証する。",
"state": "planned",
"evidence": []
},
{
"id": "P21-03",
"title": "破壊と摘発と休止",
"work": "施設損傷、摘発、人物の限定離脱、台帳と営業停止を統合する。",
"acceptance": "意図しない恒久ロストや自動休止解除がなく、利用中の状態を保全する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"defense_preparation_cancel": {
"state": "verified",
"evidence": "execution/DEFENSE_PREPARATION_CANCEL.md",
"targeted_checks": 856,
"rendered_checks": 131,
"full_regression": "140 PASS; no source changes"
},
"defense_hud": {
"status": "targeted_and_rendered_verified",
"evidence": "execution/DEFENSE_HUD.md",
"normal_trigger_and_combat_ui": "pending"
},
"defense_management": {
"state": "implemented_source_full_and_rendered_restart_verified",
"ordinary_ui": true,
"threat_creation_is_fixture": true,
"preparation_cancellation_exposed": false,
"selection_save_restore": true,
"evidence": "artifacts/defense-autonomy-2026-09-30",
"related_headless_checks": 1703,
"related_rendered_checks": 403,
"all_original_acceptance": false,
"autonomy_proof_from_same_source_full": true
},
"defense_clock": {
"state": "implemented_source_full_and_rendered_restart_verified",
"existing_round_interval_used": true,
"replay_same_tick_guard_fixed": true,
"generated_id_collision_fixed": true,
"first_autonomy_checks": 188,
"existing_runtime_cycle_checks": 162,
"natural_threat_generation": false,
"evidence": "artifacts/defense-autonomy-2026-09-30",
"independent_review": "artifacts/defense-autonomy-independent-review-2026-09-30/FOLLOWUP_REVIEW.md",
"all_original_acceptance": false
},
"defense_autonomy_checkpoint": {
"state": "source_full_rendered_restart_and_packed_verified_windows_native_pending",
"full_suites": 146,
"full_failures": 0,
"source_changes": 0,
"opening_rendered_checks": 103,
"defense_restart_rendered_checks": 38,
"full_evidence": "artifacts/full-regression-after-defense-autonomy-2026-09-30",
"defense_restart_evidence": "artifacts/defense-autonomy-restart-2026-09-30",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"packed_runs": 16,
"packed_checks": 2559,
"zip": "build/windows/TheTree-Windows-defense-autonomy-2026-09-30.zip",
"zip_sha256": "2427d259fd31f846f215eaca8ea3cccdec899dc0e7d49e8ab8a1884eb2cbeefc"
},
"current_full_regression": {
"status": "source_full_rendered_readable_restart_and_windows_packed_verified",
"full_suites": 148,
"full_failures": 0,
"full_seconds": 657.68,
"source_changes": [],
"opening_restart_checks": 103,
"related_rendered_checks": 453,
"related_headless_checks_referenced_from_same_full": 720,
"defense_restart_checks": 66,
"human_readable_defense_labels": true,
"full_source_manifest_sha256": "0395e515c1cb090408c11c7235b36f8b2015bf350fe412b2d894b286b249ef6c",
"windows_package": "built_and_verified",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"windows_zip": "build/windows/TheTree-Windows-event-defense-labels-2026-09-30.zip",
"windows_zip_sha256": "2e22d793d113fa3f2eba4839d6812ec69f9762bdfe86c8804b943f79f4b1bad4",
"packed_runs": 18,
"packed_checks": 2926,
"packed_headless_checks": 2468,
"packed_rendered_checks": 458,
"evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
},
"previous_full_regression_before_manifest_cache": {
"status": "source_and_rendered_verified",
"evidence": "execution/FULL_REGRESSION_BEFORE_MANIFEST_CACHE.md",
"suites": 146,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 743.93,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"defense_restart_evidence": "artifacts/defense-autonomy-restart-2026-09-30/verification.json",
"artifact": "artifacts/full-regression-after-defense-autonomy-2026-09-30",
"source_changes": 0,
"source_manifest_sha256": "afd27dc86d0125d5547cf58beda9461dec34fd38c0fc94e85a96e7f82d2896a5",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"manifest_cache_checkpoint": {
"state": "retained_source_full_rendered_restart_packed_verified",
"full_suites": 147,
"full_failures": 0,
"source_changes": [],
"live_manifest_checks": 79,
"complete_checkpoint_and_final_store_var_bytes_equal": true,
"abbreviated_comparison_order": "ABBA",
"frames_per_speed_per_run": 200,
"x1_average_reduction_percent": 10.479991918650523,
"x3_p95_reduction_percent": 17.835132792182208,
"publication_average_reduction_percent": 17.883028279234804,
"opening_restart_checks": 103,
"related_rendered_checks": 403,
"related_headless_from_same_source_full_checks": 484,
"defense_restart_checks": 38,
"packed_runs": 17,
"packed_headless_checks": 2231,
"packed_rendered_checks": 408,
"packed_checks_including_replays": 2639,
"zip": "build/windows/TheTree-Windows-manifest-cache-2026-09-30.zip",
"zip_sha256": "b90d6ae5f7e5f23e1d77084bd28226317e1c52a613fdb079bf036babe9dded37",
"pack_sha256": "a393d90ab602f9cbe3c5092535b03f910b2217b2e3ba0e45a02c955e423ab8ee",
"full_source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"natural_threat_generation": false,
"windows_native": false,
"performance_budget_pass": false,
"full_load_acceptance": false,
"all_original_acceptance": false
},
"event_defense_integration": {
"status": "integrated_current_source_full_and_restart_verified",
"evidence": "artifacts/event-defense-integration-2026-09-30/",
"runtime_schema": 13,
"event_checks": 186,
"natural_producer_complete": false,
"all_original_acceptance": false,
"full_evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
},
"previous_full_regression_before_event_defense": {
"status": "source_and_rendered_verified",
"evidence": "execution/CURRENT_FULL_REGRESSION.md",
"suites": 147,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 708.21,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"related_rendered_checks": 403,
"artifact": "artifacts/full-regression-after-manifest-cache-2026-09-30",
"defense_restart_evidence": "artifacts/manifest-cache-defense-restart-2026-09-30/verification.json",
"source_changes": 0,
"source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"defense_human_labels": {
"status": "source_full_rendered_restart_and_packed_verified_windows_native_pending",
"evidence": "artifacts/event-defense-labels-integration-2026-09-30/",
"isolated_checks": 1350,
"all_original_acceptance": false,
"full_suites": 148,
"restart_checks": 66,
"rendered_checks": 453,
"packed_checks": 2926,
"windows_native": false
},
"previous_full_regression_before_event_labels": {
"status": "running",
"evidence": "artifacts/full-regression-after-event-defense-2026-09-30/",
"expected_suites": 148,
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P22",
"phase": 1,
"title": "素材台帳・量産仕様の先行確定",
"depends_on": [
"P01"
],
"size": "M",
"requirement_ids": [
"B-12.1",
"B-12.3",
"B-12.4",
"B-13.1",
"B-13.2",
"B-13.3",
"B-13.4",
"B-13.5"
],
"work": "全施設Lv1〜3×表裏、7人物、状態差分、背景、UI、音響の必要枠を列挙。既存Kenney素材と新規制作を区別しサイズ/命名/ライセンス/差替契約を定義。",
"acceptance": "各資産が利用要件・画面・状態・制作者・仮素材/完成品に紐付く。必要数未確定のまま完成時期を断定しない。",
"decisions": [
"D08",
"D09"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "P22/P26で制作担当を確定"
},
"execution_evidence": "execution/assets/README.md",
"remaining": "差分数・制作担当・品質受入と利用画面の確定。既存ファイルの存在を完成認定しない。",
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "施設・人物・素材枠の初期台帳あり。必要数と完成資産の受入は未完。",
"remaining_deliverables": [
{
"id": "P22-01",
"title": "必要素材の確定",
"work": "全30施設のLv1〜3と表裏、7人物、ライバル、状態、背景、UI、音の必要枠を列挙する。",
"acceptance": "仮素材、コード描画、完成素材の区分と利用条件が分かり、枠数を素材枚数と混同しない。",
"state": "planned",
"evidence": []
},
{
"id": "P22-02",
"title": "素材契約と権利",
"work": "Kenneyを優先して適合素材を選び、解像度、命名、差替、出典とライセンスを記録する。",
"acceptance": "完成枠には使用可能な資産と権利記録があり、欠損を代替表示で隠さない。",
"state": "planned",
"evidence": []
},
{
"id": "P22-03",
"title": "制作量と担当",
"work": "未制作の絵、モーション、音、声、脚本を必要量と担当・予算候補へ分ける。",
"acceptance": "未割当、未承認、制作待ちが明示され、技術工数と内容制作工数を分ける。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
3,
7
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"current_facility_audit": {
"evidence": "execution/CURRENT_FACILITY_AUDIT.md",
"counts": {
"normal_registered_and_palette": 15,
"definition_only": 1,
"missing_definition": 14
},
"status": "partial; live catalog and declaration audit only",
"remaining": [
"14 missing definitions",
"black_market normal integration",
"13 unspecified customer limits",
"all16 mapped service attributes unset",
"zone restrictions and special placement acceptance",
"all30 gameplay/save/art/Windows acceptance"
]
},
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P23",
"phase": 3,
"title": "タワー画面・レイヤー演出",
"depends_on": [
"P08",
"P22"
],
"size": "L",
"requirement_ids": [
"B-2.2",
"B-11.1",
"B-11.4",
"B-12.1",
"B-12.2",
"B-12.4"
],
"work": "非選択層の半透明/ワイヤー、波紋切替、上下移動/ズーム/視認性、原本に沿ったHUD配置と表裏スキンを実装。座標変換と選択判定を共通化。",
"acceptance": "切替前後に選択・クリック座標が一致。パン/ズーム中の建設、異層施設の視認性、連続切替、速度x3で破綻しない。",
"decisions": [
"D09",
"D10"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "ドット断面、レイヤー表示、複数UIスキンは部分実装。原本全演出の受入は残る。",
"remaining_deliverables": [
{
"id": "P23-01",
"title": "レイヤーと波紋",
"work": "表時の裏半透明、裏時の表ワイヤー、魔法レンズ風の波紋を原本どおり接続する。",
"acceptance": "連続切替でも座標・選択・対象が一致し、描画層と操作対象を取り違えない。",
"state": "planned",
"evidence": []
},
{
"id": "P23-02",
"title": "断面の操作性",
"work": "パン、上下スクロール、ズーム、建設グリッド、接続警告、HUD配置を整える。",
"acceptance": "小画面とWindows表示倍率で読めて押せる。x3時にも操作が追随する。",
"state": "planned",
"evidence": []
},
{
"id": "P23-03",
"title": "生活の観察",
"work": "部屋、行列、EV、職員、物資、営業状態が断面上で理解できる表示へ調整する。",
"acceptance": "人物や設備の表示が実状態に対応し、同需要の動線改善を観察できる。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"status": "Completed rooms, active jobs and legacy stairs visible across layers; legacy native30/runtime67/layer27 checks PASS; partial P23",
"evidence": "execution/LAYER_PRESENTATION.md",
"remaining": [
"remaining legacy transport topology acceptance beyond stairs",
"high-load x3 rapid-switch GPU/input acceptance",
"Windows same-build acceptance",
"remaining original HUD/layer skin requirements"
],
"rank_ui_evidence": "execution/WORLD_TREE_RANK_UI.md",
"rank_ui_validation": {
"native_checks": 23,
"failures": 0,
"make_check_exit_code": 0,
"natural_campaign_completion": false,
"windows_same_build_verified": false,
"viewport_input": {
"native_checks": 12,
"headless_checks": 11,
"failures": 0,
"evidence": "artifacts/facility-dimensions-2026-09-29/rank-pointer-validation.json"
}
},
"hud_skin_evidence": "execution/LAYER_INTERFACE_SKIN.md",
"guide_skin_status": "Guide joins FRONT/BACK HUD skin; paused collapse/reopen fixed. Native16, dashboard139 and opening/save replay59 PASS.",
"staff_skin_evidence": "execution/STAFF_INTERFACE_SKIN.md",
"management_skin_evidence": "execution/MANAGEMENT_INTERFACE_SKIN.md",
"ledger_skin_evidence": "execution/LEDGER_INTERFACE_SKIN.md",
"rank_skin_evidence": "execution/RANK_INTERFACE_SKIN.md"
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"既存代表負荷の性能回帰を計測",
"Windows部分実機確認。不可なら未検証を残す"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P24",
"phase": 4,
"title": "インスペクター・通知・操作完成",
"depends_on": [
"P09",
"P15",
"P16",
"P18",
"P23",
"P19"
],
"size": "L",
"requirement_ids": [
"B-11.1",
"B-11.2",
"B-11.3",
"B-11.4",
"B-13.4"
],
"work": "シフトのドラッグ配置、欲求/思考ログ、感情/盾、料金内訳、稼働阻害理由、接続線、フキダシ、カットインを接続。クリックによる代替操作も用意。",
"acceptance": "無効ドロップで状態を壊さず理由を表示。保存後も対象選択を回復。ログの説明と実際の選択が一致。モーダル/停止/再開の入力を検証。",
"decisions": [
"D09"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "ドラッグ配置、選択復元、営業人数、料金未設定表示等は部分採用。",
"remaining_deliverables": [
{
"id": "P24-01",
"title": "全インスペクター",
"work": "欲求、思考、感情、盾、料金内訳、稼働理由、上限、人物効果を通常画面へつなぐ。",
"acceptance": "表示値が実計算・台帳と一致し、未設定をゼロ確定に見せない。",
"state": "planned",
"evidence": []
},
{
"id": "P24-02",
"title": "操作と通知",
"work": "配置、無効ドロップ、モーダル、停止、再開、フキダシ、ログ、カットインを整える。",
"acceptance": "無効操作を説明し、クリック代替と日本語入力・表示倍率を確認する。",
"state": "planned",
"evidence": []
},
{
"id": "P24-03",
"title": "選択と保存の受入",
"work": "施設・客・職員・レイヤーの選択を撤去、離脱、保存再起動に跨がせる。",
"acceptance": "不在対象を参照せず、有効な選択と画面値が復元される。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"status": "Partial: rank HUD, conditions and promotion command UI implemented; broader package remains open",
"rank_ui_evidence": "execution/WORLD_TREE_RANK_UI.md",
"rank_ui_validation": {
"native_checks": 23,
"failures": 0,
"make_check_exit_code": 0,
"natural_campaign_completion": false,
"windows_same_build_verified": false,
"viewport_input": {
"native_checks": 12,
"headless_checks": 11,
"failures": 0,
"evidence": "artifacts/facility-dimensions-2026-09-29/rank-pointer-validation.json"
}
},
"staff_drag_evidence": "execution/STAFF_DRAG_ASSIGNMENT.md",
"staff_drag_validation": {
"native_checks": 63,
"headless_checks": 62,
"evidence": "artifacts/facility-dimensions-2026-09-29/staff-drag-boundaries-validation.json",
"remaining": [
"other drag rejection boundaries",
"Windows same-build input acceptance"
]
},
"rank_skin_evidence": "execution/RANK_INTERFACE_SKIN.md",
"staff_drag_rejection_validation": {
"headless_checks": 77,
"native_checks": 80,
"evidence": "artifacts/facility-dimensions-2026-09-29/staff-drag-rejections-validation.json",
"remaining": [
"Windows same-build input",
"defense-specific locks",
"state changes during drag",
"broader P24 scope"
]
},
"staff_drag_race_validation": {
"headless_checks": 87,
"native_checks": 87,
"evidence": "artifacts/facility-dimensions-2026-09-29/staff-drag-races-validation.json",
"remaining": [
"defense-specific lock",
"load/demolition during drag",
"Windows same-build input",
"broader P24 scope"
]
},
"infrastructure_ledger_labels": {
"status": "Fixed raw IDs for completed corridor/stair upkeep; names and coordinates verified across restart",
"evidence": "execution/OPENING_RESTART_DEBUG.md"
},
"business_customer_counts": {
"status": "implemented; business72 headless/native and chapel16 passed; original controls in evidence",
"evidence": "execution/BUSINESS_CUSTOMER_COUNTS.md",
"remaining": [
"customer limit values for unspecified facilities",
"other original facility parameters and end-to-end acceptance"
]
},
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
},
"cleaning_access_followup": {
"evidence": "execution/CLEANING_ACCESS_FOLLOWUP.md",
"status": "Alternate accessible destinations and wait/reconnect behavior implemented; cleaning-room UI corrected. Six targeted suites PASS; broad regression59503 remains active and spans this source change."
},
"fine_cleaning_effect": {
"status": "triple work rate and single-owner cleaning progression implemented; six related suites PASS; normal recruitment pending user values",
"evidence": "execution/FINE_CLEANING_EFFECT.md",
"all_original_acceptance": false
},
"amelia_donations": {
"status": "Placement-based triple chapel donation connected to quotes, actual payment, ledger and UI; native39 and related136 checks PASS; normal recruitment and healing remain",
"evidence": "execution/AMELIA_DONATIONS.md",
"all_original_acceptance": false
},
"facility_reachability": {
"status": "UI reachability early exit; 33 new + 275 related checks PASS; rendered opening/restart97 PASS. Target query average 6222.41 to 4222.04 us (100 paired samples). Not whole-game performance acceptance.",
"evidence": "execution/FACILITY_REACHABILITY.md",
"all_original_acceptance": false
},
"guest_decision_history": {
"status": "Actual completed guest choices recorded in bounded saved event history and exposed through normal HUD. New headless20/rendered21 PASS; existing observer22, GuestService137, runtime cycle40 PASS; rendered operating restart97 PASS. Not full thought-history or original acceptance.",
"evidence": "execution/GUEST_DECISION_LOG.md",
"all_original_acceptance": false
},
"guest_candidate_rejections": {
"status": "Actual rejection reason counts and up to8 facility examples retained in saved decision event; includes missing supplies without unnecessary path queries. Headless28/rendered29, related241, rendered restart97 checks PASS. Not whole-original acceptance.",
"evidence": "execution/GUEST_REJECTION_LOG.md",
"all_original_acceptance": false
},
"staff_drag_load": {
"status": "Reject unfinished drag across successful load; failed restore and fresh drag remain functional. Headless99/rendered100, related118, rendered opening/restart97 PASS; gameplay equal and source unchanged. Partial original acceptance.",
"evidence": "execution/STAFF_DRAG_LOAD.md",
"all_original_acceptance": false
},
"staff_drag_demolition": {
"status": "Live pointer drag with normal demolition command before drop preserves staff schedules, keeps facility removed and reports rejection. Source106 and isolated same-PCK macOS rendered107 PASS. Production unchanged; Windows native access unavailable in current tools.",
"evidence": "execution/STAFF_DRAG_DEMOLITION.md",
"all_original_acceptance": false
},
"staff_defense_lock": {
"state": "partial_verified",
"evidence": "execution/STAFF_DEFENSE_LOCK.md",
"checks": 119,
"related_checks": 321,
"rendered_checks": 119,
"opening_restart": "97 checks PASS; equal gameplay; source changes 0",
"remaining": [
"current Windows package/native verification",
"broader original requirements"
]
},
"defense_preparation_cancel": {
"state": "verified",
"evidence": "execution/DEFENSE_PREPARATION_CANCEL.md",
"targeted_checks": 856,
"rendered_checks": 131,
"full_regression": "140 PASS; no source changes"
},
"defense_hud": {
"status": "targeted_and_rendered_verified",
"evidence": "execution/DEFENSE_HUD.md",
"normal_trigger_and_combat_ui": "pending"
},
"guide_assignment_scan": {
"status": "targeted_and_rendered_verified",
"evidence": "execution/GUIDE_ASSIGNMENT_SCAN.md",
"targeted_checks": 356,
"rendered_restart_checks": 97,
"whole_game_performance_pass": false,
"windows_package_includes_change": false
},
"selection_restore": {
"status": "manual_save_full_and_rendered_verified",
"evidence": "execution/SELECTION_RESTORE.md",
"dashboard_checks": 168,
"staff_checks": 131,
"rendered_restart_checks": 103,
"all_save_entry_points_verified": false,
"full_suites": 141
},
"selection_autosave": {
"status": "source_and_rendered_verified",
"evidence": "execution/SELECTION_AUTOSAVE.md",
"checks": {
"autosave_headless": 75,
"autosave_rendered": 76,
"lifecycle_headless": 38,
"lifecycle_rendered": 39,
"related": 395,
"restart": 103
},
"windows_native": false,
"suites": 143,
"opening_restart_checks": 103
},
"actor_selection_restore": {
"status": "source_full_and_rendered_restart_verified",
"headless_checks": 100,
"rendered_checks": 101,
"related_checks": 552,
"production_main_sha256": "15708bfb4d534b4f741df5b087fa56ebf36bb9ca004bb80e0bd9c43d07e6c9f1",
"actor_test_sha256": "ecc08464c20990f0a4bd5d1e5d8d6fceb6f3636c959790842a08539fc54ad911",
"full_regression": "144 PASS; no missing, extra, duplicate or changed source inputs",
"windows_export": "Windows EXE/PCK exported; isolated PCK on macOS and ZIP integrity verified; Windows native pending",
"windows_native": false,
"all_original_acceptance": false,
"evidence": "execution/ACTOR_SELECTION_RESTORE.md",
"full_suites": 144,
"full_opening_restart_checks": 103,
"actor_restart_checks": 116,
"opening_restart_checks": 103,
"full_regression_artifact": "artifacts/full-regression-after-actor-selection-2026-09-30",
"full_source_manifest_sha256": "a16bd4acb9576357b93eb9c79f82b0707fa89a37d1dd18cefc20a14ad4393412",
"actor_restart": {
"status": "verified",
"write_checks": 103,
"read_checks": 13,
"checks": 116,
"gameplay_json_equal": true,
"typed_digest_equal": true,
"source_changes": 0,
"evidence": "artifacts/actor-selection-restart-2026-09-30/verification.json",
"driver_sha256": {
"verify.py": "52d4e7e7ee1561867aab3db98704ae27d8ca3237d80dea0d39acda64ca7fed5a",
"flow.gd": "4de71e591925c022a1febeb7ac4a99a3557afa79f8c46bd5cac447934030f1c3"
}
},
"independent_review": {
"status": "no_actionable_product_findings",
"evidence": "artifacts/actor-selection-independent-review-2026-09-30/review.json",
"sha256": "9de10628a3831e236bb951f4d674e3327767fbce7af8bc3c1c7a2f4468f6ddac"
},
"windows_export_session": 88628,
"windows_build_validation": "verified; 12 isolated PCK runs / 2094 checks including rendered repetitions",
"windows_build_process_complete": true,
"windows_package": {
"zip": "build/windows/TheTree-Windows-actor-selection-2026-09-30.zip",
"sha256": "dbf82a93777d1dc46c9ed0b6c32b84b03177756aed6c080bcbbde0e24ff24ffb",
"actor_headless_checks": 101,
"actor_rendered_macos_checks": 102,
"evidence": "artifacts/windows-actor-release-prep-2026-09-30/build-validation.json",
"windows_native": false,
"all_original_acceptance": false
}
},
"current_full_regression": {
"status": "source_full_rendered_readable_restart_and_windows_packed_verified",
"full_suites": 148,
"full_failures": 0,
"full_seconds": 657.68,
"source_changes": [],
"opening_restart_checks": 103,
"related_rendered_checks": 453,
"related_headless_checks_referenced_from_same_full": 720,
"defense_restart_checks": 66,
"human_readable_defense_labels": true,
"full_source_manifest_sha256": "0395e515c1cb090408c11c7235b36f8b2015bf350fe412b2d894b286b249ef6c",
"windows_package": "built_and_verified",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"windows_zip": "build/windows/TheTree-Windows-event-defense-labels-2026-09-30.zip",
"windows_zip_sha256": "2e22d793d113fa3f2eba4839d6812ec69f9762bdfe86c8804b943f79f4b1bad4",
"packed_runs": 18,
"packed_checks": 2926,
"packed_headless_checks": 2468,
"packed_rendered_checks": 458,
"evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
},
"defense_autonomy_checkpoint": {
"state": "source_full_rendered_restart_and_packed_verified_windows_native_pending",
"full_suites": 146,
"full_failures": 0,
"source_changes": 0,
"opening_rendered_checks": 103,
"defense_restart_rendered_checks": 38,
"full_evidence": "artifacts/full-regression-after-defense-autonomy-2026-09-30",
"defense_restart_evidence": "artifacts/defense-autonomy-restart-2026-09-30",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"packed_runs": 16,
"packed_checks": 2559,
"zip": "build/windows/TheTree-Windows-defense-autonomy-2026-09-30.zip",
"zip_sha256": "2427d259fd31f846f215eaca8ea3cccdec899dc0e7d49e8ab8a1884eb2cbeefc"
},
"previous_full_regression_before_defense_autonomy": {
"status": "source_and_rendered_verified",
"evidence": "execution/CURRENT_FULL_REGRESSION.md",
"suites": 144,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 762.12,
"opening_restart_checks": 103,
"actor_restart_checks": 116,
"actor_restart_evidence": "artifacts/actor-selection-restart-2026-09-30/verification.json",
"windows_native": false,
"artifact": "artifacts/full-regression-after-actor-selection-2026-09-30",
"source_changes": 0,
"source_manifest_sha256": "a16bd4acb9576357b93eb9c79f82b0707fa89a37d1dd18cefc20a14ad4393412",
"later_source_change": null,
"all_original_acceptance": false
},
"previous_full_regression_before_manifest_cache": {
"status": "source_and_rendered_verified",
"evidence": "execution/FULL_REGRESSION_BEFORE_MANIFEST_CACHE.md",
"suites": 146,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 743.93,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"defense_restart_evidence": "artifacts/defense-autonomy-restart-2026-09-30/verification.json",
"artifact": "artifacts/full-regression-after-defense-autonomy-2026-09-30",
"source_changes": 0,
"source_manifest_sha256": "afd27dc86d0125d5547cf58beda9461dec34fd38c0fc94e85a96e7f82d2896a5",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"manifest_cache_checkpoint": {
"state": "retained_source_full_rendered_restart_packed_verified",
"full_suites": 147,
"full_failures": 0,
"source_changes": [],
"live_manifest_checks": 79,
"complete_checkpoint_and_final_store_var_bytes_equal": true,
"abbreviated_comparison_order": "ABBA",
"frames_per_speed_per_run": 200,
"x1_average_reduction_percent": 10.479991918650523,
"x3_p95_reduction_percent": 17.835132792182208,
"publication_average_reduction_percent": 17.883028279234804,
"opening_restart_checks": 103,
"related_rendered_checks": 403,
"related_headless_from_same_source_full_checks": 484,
"defense_restart_checks": 38,
"packed_runs": 17,
"packed_headless_checks": 2231,
"packed_rendered_checks": 408,
"packed_checks_including_replays": 2639,
"zip": "build/windows/TheTree-Windows-manifest-cache-2026-09-30.zip",
"zip_sha256": "b90d6ae5f7e5f23e1d77084bd28226317e1c52a613fdb079bf036babe9dded37",
"pack_sha256": "a393d90ab602f9cbe3c5092535b03f910b2217b2e3ba0e45a02c955e423ab8ee",
"full_source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"natural_threat_generation": false,
"windows_native": false,
"performance_budget_pass": false,
"full_load_acceptance": false,
"all_original_acceptance": false
},
"previous_full_regression_before_event_defense": {
"status": "source_and_rendered_verified",
"evidence": "execution/CURRENT_FULL_REGRESSION.md",
"suites": 147,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 708.21,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"related_rendered_checks": 403,
"artifact": "artifacts/full-regression-after-manifest-cache-2026-09-30",
"defense_restart_evidence": "artifacts/manifest-cache-defense-restart-2026-09-30/verification.json",
"source_changes": 0,
"source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"defense_human_labels": {
"status": "source_full_rendered_restart_and_packed_verified_windows_native_pending",
"evidence": "artifacts/event-defense-labels-integration-2026-09-30/",
"isolated_checks": 1350,
"all_original_acceptance": false,
"full_suites": 148,
"restart_checks": 66,
"rendered_checks": 453,
"packed_checks": 2926,
"windows_native": false
},
"previous_full_regression_before_event_labels": {
"status": "running",
"evidence": "artifacts/full-regression-after-event-defense-2026-09-30/",
"expected_suites": 148,
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"Windows部分実機確認。不可なら未検証を残す"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P25",
"phase": 5,
"title": "ドット人物・施設差分・音響接続",
"depends_on": [
"P22",
"P23",
"P12",
"P17"
],
"size": "L",
"requirement_ids": [
"B-12.1",
"B-12.3",
"B-12.4",
"B-13.2",
"B-13.3",
"B-13.4",
"B-13.5"
],
"work": "状態駆動の歩行/作業/搬送/休息、施設Lv差分、背景、表裏BGMクロスフェード、環境/操作音を接続。実シミュレーションの状態を演出源にする。",
"acceptance": "停止中は人物移動が進まない。搬送/休息は実位置に一致。音量/連続切替/ロードで二重再生しない。完成資産の欠損とライセンス記録漏れ0。",
"decisions": [
"D08",
"D09"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "P22/P26で制作担当を確定"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "歩行・清掃等の一部モーションとコード描画あり。全差分・音響は未受入。",
"remaining_deliverables": [
{
"id": "P25-01",
"title": "実状態に沿うドット動作",
"work": "歩行、接客、食事、搬送、救護、清掃、休息、気絶と設備動作をそろえる。",
"acceptance": "停止中に仕事が進まず、人物位置と搬送・作業状態が一致する。",
"state": "planned",
"evidence": []
},
{
"id": "P25-02",
"title": "施設と人物の差分",
"work": "施設Lv、表裏、人物状態、破損・汚れ等の必要差分を完成素材へ置換する。",
"acceptance": "全枠の読込、見切れ、欠損、状態変化とライセンスを確認する。",
"state": "planned",
"evidence": []
},
{
"id": "P25-03",
"title": "音の接続",
"work": "表裏BGMクロスフェード、環境音、操作音、必要な声を音量設定へ接続する。",
"acceptance": "切替、停止、ロードで二重再生せず、Windows出力と設定保存を確認する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"chapel_room_presentation": {
"status": "Initial code-native chapel furnishings and8 visitor anchors implemented; level variants/audio/Windows remain",
"evidence": "execution/CHAPEL_ROOM_PRESENTATION.md"
},
"cleaning_animation": {
"status": "PASS: actual work animation, related suites, and fixed two-process restart97",
"evidence": "execution/CLEANING_ANIMATION.md",
"all_original_acceptance": false
},
"cleaning_animation_and_ordering": {
"status": "mop driven by actual active on-site work; explicit lexical cleanliness save/dispatch order fixes cross-process mismatch; related tests and rendered restart97 PASS",
"evidence": "execution/CLEANING_ANIMATION.md",
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存",
"既存代表負荷の性能回帰を計測"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P26",
"phase": 5,
"title": "シナリオ・立ち絵・内容資産の制作受入",
"depends_on": [
"P19",
"P20",
"P22"
],
"size": "L",
"requirement_ids": [
"B-1.1",
"B-1.5",
"B-1.6",
"B-7.5",
"B-7.6",
"B-12.1",
"B-12.3",
"B-13.1",
"B-13.5"
],
"work": "全章・人物別ルート・終点・台詞・立ち絵・音声を台帳で制作/接続/受入。成人向け内容は表現仕様と制作可否を別途確認し、今回は非露骨な構造・資産管理・分岐検証のみ計画対象とする。",
"acceptance": "仮素材や未制作の場面を完了扱いしない。全必要分岐と資産の欠損を一覧化。制作できない内容は原本との差分として残し、全実装完了を宣言しない。",
"decisions": [
"D08",
"D09"
],
"state": "planned",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "P22/P26で制作担当を確定"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "全章・人物別内容と完成資産の制作受入は未着手。",
"remaining_deliverables": [
{
"id": "P26-01",
"title": "全必要内容の台帳",
"work": "全章、7名の3ルート、全エンド、台詞、立ち絵、音声の必要枠と条件を確定する。",
"acceptance": "原本で要求された未制作内容を欠損として記録し、架空の完成数を置かない。",
"state": "planned",
"evidence": []
},
{
"id": "P26-02",
"title": "内容と状態の接続",
"work": "制作可能な非露骨内容をイベント・章・閲覧・人物状態へ接続し、仮素材を区別する。",
"acceptance": "全必要分岐に内容IDがあり、欠損と未制作をスキップPASSしない。",
"state": "planned",
"evidence": []
},
{
"id": "P26-03",
"title": "制作受入と差異",
"work": "完成内容の品質、権利、表示、保存と原本との差異を受入する。",
"acceptance": "原本必須内容の未制作が残る場合は原本全実装未完として報告する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "planned"
},
{
"id": "P27",
"phase": 6,
"title": "統合・境界・障害復旧試験",
"depends_on": [
"P10",
"P11",
"P12",
"P13",
"P14",
"P15",
"P16",
"P17",
"P18",
"P19",
"P20",
"P21",
"P24",
"P25",
"P26"
],
"size": "L",
"requirement_ids": [
"B-1.1",
"B-1.3",
"B-14.4"
],
"work": "新規営業/停電/嵐/救護/決算/破産/襲撃/ルート進行の横断シナリオを実施。代表地点で保存・終了・起動を挟む。失敗を再現ケースに固定。",
"acceptance": "全原子要件に合否証拠。進行不能・セーブ破損・帳簿不整合・原本との未承認差異0。未設定や未制作をスキップPASSしない。",
"decisions": [
"D01",
"D02",
"D03",
"D04",
"D05",
"D06",
"D07",
"D08",
"D09",
"D10"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "最新全回帰合格。原本75群全体の受入と通しデバッグは未完。",
"remaining_deliverables": [
{
"id": "P27-01",
"title": "要件別の合否",
"work": "原子台帳へ部品、通常Runtime、画面、保存、資産の証拠を結び付ける。",
"acceptance": "全必須要件の判定があり、未設定や欠損を試験省略でPASSにしない。",
"state": "planned",
"evidence": []
},
{
"id": "P27-02",
"title": "横断シナリオ",
"work": "開業、決算、天候、停電、ラッシュ、救護、破産、防衛、人物、ランクを横断する。",
"acceptance": "中断と保存再起動を挟んでも財布・台帳・人員・参照が一致する。",
"state": "planned",
"evidence": []
},
{
"id": "P27-03",
"title": "通しデバッグの完了",
"work": "要件別全件合格後に新規から本編・全要素の通し確認を行い、欠陥を再現ケースで修正する。",
"acceptance": "重大不具合0、未解決差異0。修正後の関連回帰と影響した通し経路を再確認する。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"ui_regression": {
"status": "current test-ui command coverage passed after upkeep test repair",
"evidence": "execution/UI_INTEGRATED_REGRESSION.md",
"whole_original_acceptance": false
},
"lazy_digest_ui_regression": {
"status": "PASS full make test-ui after payload correction",
"evidence": "execution/LAZY_PUBLICATION_DIGEST.md",
"all_original_acceptance": false
},
"post_skin_ui_regression": {
"status": "PASS current make test-ui; 18 direct scripts plus 2 upkeep processes",
"evidence": "execution/POST_SKIN_UI_REGRESSION.md",
"all_original_acceptance": false
},
"chapel_full_regression": {
"status": "127 unique source suites PASS, runner exit0, discovery complete; final catalog correction separately310 PASS",
"evidence": "execution/CHAPEL_FULL_REGRESSION.md",
"single_frozen_source_sweep": false,
"all_original_acceptance": false
},
"opening_restart_debug": {
"status": "Rendered two-process natural opening/three-close debug97 checks PASS after infrastructure ledger label fix; source unchanged during final run",
"evidence": "execution/OPENING_RESTART_DEBUG.md",
"all_original_acceptance": false
},
"snapshot_full_regression": {
"status": "passed128; runner exit0; frozen source verified",
"evidence": "artifacts/snapshot-full-regression-2026-09-29/completion.json",
"remaining": [
"all original feature acceptance remains incomplete"
]
},
"optimized_opening_restart": {
"status": "passed97 after full128; native macOS screenshots reviewed",
"evidence": "artifacts/snapshot-opening-restart-2026-09-29/validation.json",
"remaining": [
"all original cross-system scenarios",
"Windows exact build acceptance",
"performance budget and long-term acceptance"
]
},
"operations_snapshot_encoding": {
"status": "targeted563 and rendered restart97 passed; interleaved byte equivalence100",
"evidence": "execution/OPERATIONS_SNAPSHOT_ENCODING.md",
"same_state_average_us_before": 2384.77,
"same_state_average_us_after": 1999.03,
"remaining": [
"production performance budgets",
"full-load and Windows",
"remaining original content and all acceptance gates"
]
},
"cleaning_runtime_integration": {
"evidence": "execution/CLEANING_RUNTIME_INTEGRATION.md",
"status": "Normal room construction/hiring/assignment, actual travel and8-minute work,25 recovery, Runtime schema12, cancellation and business UI connected.81 gameplay checks PASS; native82 including capture. Full source regression running; alternate-access and additional boundary coverage remain."
},
"cleaning_access_followup": {
"evidence": "execution/CLEANING_ACCESS_FOLLOWUP.md",
"status": "Alternate accessible destinations and wait/reconnect behavior implemented; cleaning-room UI corrected. Six targeted suites PASS; broad regression59503 remains active and spans this source change."
},
"cleaning_regression_recheck": {
"status": "PASS: 132 suites covered; 105 retained after final shared edit plus 27 rechecks; no missing or failed suites; source manifests unchanged",
"evidence": "artifacts/cleaning-regression-final-2026-09-29/verification.json",
"opening_restart": "PASS: rendered macOS two-process flow, 80+17 checks; three closes balanced; gameplay and reports match; source unchanged",
"all_original_acceptance": false,
"opening_restart_evidence": "artifacts/cleaning-opening-restart-2026-09-29/result.json"
},
"cleaning_animation": {
"status": "PASS: actual work animation, related suites, and fixed two-process restart97",
"evidence": "execution/CLEANING_ANIMATION.md",
"all_original_acceptance": false
},
"cleaning_animation_and_ordering": {
"status": "mop driven by actual active on-site work; explicit lexical cleanliness save/dispatch order fixes cross-process mismatch; related tests and rendered restart97 PASS",
"evidence": "execution/CLEANING_ANIMATION.md",
"all_original_acceptance": false
},
"fine_cleaning_effect": {
"status": "triple work rate and single-owner cleaning progression implemented; six related suites PASS; normal recruitment pending user values",
"evidence": "execution/FINE_CLEANING_EFFECT.md",
"all_original_acceptance": false
},
"amelia_donations": {
"status": "Placement-based triple chapel donation connected to quotes, actual payment, ledger and UI; native39 and related136 checks PASS; normal recruitment and healing remain",
"evidence": "execution/AMELIA_DONATIONS.md",
"all_original_acceptance": false
},
"staff_task_clock": {
"status": "Removed redundant rejected per-tick progress calls; normal task time unchanged; 6 suites / 574 checks PASS",
"evidence": "execution/STAFF_TASK_CLOCK.md",
"all_original_acceptance": false
},
"current_full_regression": {
"status": "source_full_rendered_readable_restart_and_windows_packed_verified",
"full_suites": 148,
"full_failures": 0,
"full_seconds": 657.68,
"source_changes": [],
"opening_restart_checks": 103,
"related_rendered_checks": 453,
"related_headless_checks_referenced_from_same_full": 720,
"defense_restart_checks": 66,
"human_readable_defense_labels": true,
"full_source_manifest_sha256": "0395e515c1cb090408c11c7235b36f8b2015bf350fe412b2d894b286b249ef6c",
"windows_package": "built_and_verified",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"windows_zip": "build/windows/TheTree-Windows-event-defense-labels-2026-09-30.zip",
"windows_zip_sha256": "2e22d793d113fa3f2eba4839d6812ec69f9762bdfe86c8804b943f79f4b1bad4",
"packed_runs": 18,
"packed_checks": 2926,
"packed_headless_checks": 2468,
"packed_rendered_checks": 458,
"evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
},
"facility_reachability": {
"status": "UI reachability early exit; 33 new + 275 related checks PASS; rendered opening/restart97 PASS. Target query average 6222.41 to 4222.04 us (100 paired samples). Not whole-game performance acceptance.",
"evidence": "execution/FACILITY_REACHABILITY.md",
"all_original_acceptance": false
},
"guest_decision_history": {
"status": "Actual completed guest choices recorded in bounded saved event history and exposed through normal HUD. New headless20/rendered21 PASS; existing observer22, GuestService137, runtime cycle40 PASS; rendered operating restart97 PASS. Not full thought-history or original acceptance.",
"evidence": "execution/GUEST_DECISION_LOG.md",
"all_original_acceptance": false
},
"guest_candidate_rejections": {
"status": "Actual rejection reason counts and up to8 facility examples retained in saved decision event; includes missing supplies without unnecessary path queries. Headless28/rendered29, related241, rendered restart97 checks PASS. Not whole-original acceptance.",
"evidence": "execution/GUEST_REJECTION_LOG.md",
"all_original_acceptance": false
},
"service_start_slots": {
"status": "Start index separated from customer headcount and fixed before notification callbacks. New25 and related220 checks PASS; rendered two-process opening/restart97 PASS, gameplay equal and source unchanged. Not full140-suite or original acceptance.",
"evidence": "execution/SERVICE_START_SLOTS.md",
"all_original_acceptance": false
},
"staff_drag_load": {
"status": "Reject unfinished drag across successful load; failed restore and fresh drag remain functional. Headless99/rendered100, related118, rendered opening/restart97 PASS; gameplay equal and source unchanged. Partial original acceptance.",
"evidence": "execution/STAFF_DRAG_LOAD.md",
"all_original_acceptance": false
},
"projector_single_live_check": {
"status": "Removed duplicate live projection traversal; source and adapter validation retained. Related645 and rendered opening/restart97 checks PASS. Paired200 samples: average1494.195 to1165.750 us. Full production budgets still FAIL; no whole-game speedup claim.",
"evidence": "execution/PROJECTOR_SINGLE_LIVE_CHECK.md",
"all_original_acceptance": false
},
"current_windows_package": {
"status": "source_full_rendered_restart_and_packed_verified",
"evidence": "artifacts/windows-event-defense-labels-release-prep-2026-09-30/",
"zip": "build/windows/TheTree-Windows-event-defense-labels-2026-09-30.zip",
"zip_sha256": "2e22d793d113fa3f2eba4839d6812ec69f9762bdfe86c8804b943f79f4b1bad4",
"packed_runs": 18,
"packed_checks": 2926,
"windows_native": false,
"all_original_acceptance": false
},
"staff_drag_demolition": {
"status": "Live pointer drag with normal demolition command before drop preserves staff schedules, keeps facility removed and reports rejection. Source106 and isolated same-PCK macOS rendered107 PASS. Production unchanged; Windows native access unavailable in current tools.",
"evidence": "execution/STAFF_DRAG_DEMOLITION.md",
"all_original_acceptance": false
},
"staff_defense_lock": {
"state": "partial_verified",
"evidence": "execution/STAFF_DEFENSE_LOCK.md",
"checks": 119,
"related_checks": 321,
"rendered_checks": 119,
"opening_restart": "97 checks PASS; equal gameplay; source changes 0",
"remaining": [
"current Windows package/native verification",
"broader original requirements"
]
},
"defense_preparation_cancel": {
"state": "verified",
"evidence": "execution/DEFENSE_PREPARATION_CANCEL.md",
"targeted_checks": 856,
"rendered_checks": 131,
"full_regression": "140 PASS; no source changes"
},
"selection_restore": {
"status": "manual_save_full_and_rendered_verified",
"evidence": "execution/SELECTION_RESTORE.md",
"dashboard_checks": 168,
"staff_checks": 131,
"rendered_restart_checks": 103,
"all_save_entry_points_verified": false,
"full_suites": 141
},
"selection_autosave": {
"status": "source_and_rendered_verified",
"evidence": "execution/SELECTION_AUTOSAVE.md",
"checks": {
"autosave_headless": 75,
"autosave_rendered": 76,
"lifecycle_headless": 38,
"lifecycle_rendered": 39,
"related": 395,
"restart": 103
},
"windows_native": false,
"suites": 143,
"opening_restart_checks": 103
},
"actor_selection_restore": {
"status": "source_full_and_rendered_restart_verified",
"headless_checks": 100,
"rendered_checks": 101,
"related_checks": 552,
"production_main_sha256": "15708bfb4d534b4f741df5b087fa56ebf36bb9ca004bb80e0bd9c43d07e6c9f1",
"actor_test_sha256": "ecc08464c20990f0a4bd5d1e5d8d6fceb6f3636c959790842a08539fc54ad911",
"full_regression": "144 PASS; no missing, extra, duplicate or changed source inputs",
"windows_export": "Windows EXE/PCK exported; isolated PCK on macOS and ZIP integrity verified; Windows native pending",
"windows_native": false,
"all_original_acceptance": false,
"evidence": "execution/ACTOR_SELECTION_RESTORE.md",
"full_suites": 144,
"full_opening_restart_checks": 103,
"actor_restart_checks": 116,
"opening_restart_checks": 103,
"full_regression_artifact": "artifacts/full-regression-after-actor-selection-2026-09-30",
"full_source_manifest_sha256": "a16bd4acb9576357b93eb9c79f82b0707fa89a37d1dd18cefc20a14ad4393412",
"actor_restart": {
"status": "verified",
"write_checks": 103,
"read_checks": 13,
"checks": 116,
"gameplay_json_equal": true,
"typed_digest_equal": true,
"source_changes": 0,
"evidence": "artifacts/actor-selection-restart-2026-09-30/verification.json",
"driver_sha256": {
"verify.py": "52d4e7e7ee1561867aab3db98704ae27d8ca3237d80dea0d39acda64ca7fed5a",
"flow.gd": "4de71e591925c022a1febeb7ac4a99a3557afa79f8c46bd5cac447934030f1c3"
}
},
"independent_review": {
"status": "no_actionable_product_findings",
"evidence": "artifacts/actor-selection-independent-review-2026-09-30/review.json",
"sha256": "9de10628a3831e236bb951f4d674e3327767fbce7af8bc3c1c7a2f4468f6ddac"
},
"windows_export_session": 88628,
"windows_build_validation": "verified; 12 isolated PCK runs / 2094 checks including rendered repetitions",
"windows_build_process_complete": true,
"windows_package": {
"zip": "build/windows/TheTree-Windows-actor-selection-2026-09-30.zip",
"sha256": "dbf82a93777d1dc46c9ed0b6c32b84b03177756aed6c080bcbbde0e24ff24ffb",
"actor_headless_checks": 101,
"actor_rendered_macos_checks": 102,
"evidence": "artifacts/windows-actor-release-prep-2026-09-30/build-validation.json",
"windows_native": false,
"all_original_acceptance": false
}
},
"defense_autonomy_checkpoint": {
"state": "source_full_rendered_restart_and_packed_verified_windows_native_pending",
"full_suites": 146,
"full_failures": 0,
"source_changes": 0,
"opening_rendered_checks": 103,
"defense_restart_rendered_checks": 38,
"full_evidence": "artifacts/full-regression-after-defense-autonomy-2026-09-30",
"defense_restart_evidence": "artifacts/defense-autonomy-restart-2026-09-30",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"packed_runs": 16,
"packed_checks": 2559,
"zip": "build/windows/TheTree-Windows-defense-autonomy-2026-09-30.zip",
"zip_sha256": "2427d259fd31f846f215eaca8ea3cccdec899dc0e7d49e8ab8a1884eb2cbeefc"
},
"previous_full_regression_before_defense_autonomy": {
"status": "source_and_rendered_verified",
"evidence": "execution/CURRENT_FULL_REGRESSION.md",
"suites": 144,
"opening_restart_checks": 103,
"windows_native": false,
"artifact": "artifacts/full-regression-after-actor-selection-2026-09-30",
"source_changes": 0,
"later_source_change": null,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 762.12,
"actor_restart_checks": 116,
"actor_restart_evidence": "artifacts/actor-selection-restart-2026-09-30/verification.json",
"source_manifest_sha256": "a16bd4acb9576357b93eb9c79f82b0707fa89a37d1dd18cefc20a14ad4393412",
"all_original_acceptance": false
},
"previous_windows_package_before_defense_autonomy": {
"status": "packed_verified_windows_native_pending",
"evidence": "execution/CURRENT_WINDOWS_PACKAGE.md",
"zip": "build/windows/TheTree-Windows-actor-selection-2026-09-30.zip",
"bytes": 73155439,
"sha256": "dbf82a93777d1dc46c9ed0b6c32b84b03177756aed6c080bcbbde0e24ff24ffb",
"build_id": "actor-selection-2026-09-30",
"export_mode": "debug",
"architecture": "Windows x86_64 PE32+",
"engine": "4.7.2.stable.official.ed1daf0bf",
"packed_runs": 12,
"packed_headless_checks": 1743,
"packed_rendered_checks": 351,
"packed_rendered_staff_checks": 132,
"packed_total_checks_including_replays": 2094,
"packed_checks": {
"operations": 850,
"opening": 28,
"defense": 508,
"staff": 132,
"staff-rendered": 132,
"hud": 9,
"autosave": 76,
"autosave-rendered": 77,
"selection": 39,
"selection-rendered": 40,
"actor": 101,
"actor-rendered": 102
},
"packed_rendering_platform": "macOS Apple M4 OpenGL compatibility",
"source_suites": 144,
"source_opening_restart_checks": 103,
"source_actor_restart_checks": 116,
"zip_crc_pass": true,
"zip_file_hashes_pass": true,
"source_changes": 0,
"clone_import_input_changes": 0,
"copied_runtime_inputs": 849,
"exe_sha256": "c52c04ae1283256102b446df50499420d29ab11758041b8abfc043b61dd270a1",
"pack_sha256": "697577f0d33d400d887d8f398d2afb02cb19c452aaad92e5a486d07b9718303d",
"source_manifest_sha256": "afdc8638ae17ce37545ef12bf337bccf4a6e8a4b5a09f4b8bdee55d3f0543bc4",
"validation_artifact": "artifacts/windows-actor-release-prep-2026-09-30/build-validation.json",
"later_source_change": null,
"windows_native": false,
"performance_budget_pass": false,
"all_original_acceptance": false,
"previous_development_package": {
"zip": "build/windows/TheTree-Windows-snapshot-reuse-2026-09-29.zip",
"sha256": "03629ba3325aeecb135f199c192e0ffbcb4fae539f1f0dff1c3d76495ff0f842",
"packed_headless_checks": 1527,
"packed_rendered_staff_checks": 132
}
},
"previous_full_regression_before_manifest_cache": {
"status": "source_and_rendered_verified",
"evidence": "execution/FULL_REGRESSION_BEFORE_MANIFEST_CACHE.md",
"suites": 146,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 743.93,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"defense_restart_evidence": "artifacts/defense-autonomy-restart-2026-09-30/verification.json",
"artifact": "artifacts/full-regression-after-defense-autonomy-2026-09-30",
"source_changes": 0,
"source_manifest_sha256": "afd27dc86d0125d5547cf58beda9461dec34fd38c0fc94e85a96e7f82d2896a5",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"previous_windows_package_before_manifest_cache": {
"status": "packed_verified_windows_native_pending",
"evidence": "execution/WINDOWS_PACKAGE_BEFORE_MANIFEST_CACHE.md",
"zip": "build/windows/TheTree-Windows-defense-autonomy-2026-09-30.zip",
"bytes": 73190478,
"sha256": "2427d259fd31f846f215eaca8ea3cccdec899dc0e7d49e8ab8a1884eb2cbeefc",
"build_id": "defense-autonomy-2026-09-30",
"export_mode": "debug",
"architecture": "Windows x86_64 PE32+",
"engine": "4.7.2.stable.official.ed1daf0bf",
"packed_runs": 16,
"packed_headless_checks": 2151,
"packed_rendered_checks": 408,
"packed_total_checks_including_replays": 2559,
"packed_checks": {
"operations": 850,
"opening": 28,
"defense": 508,
"staff": 132,
"staff-rendered": 132,
"hud": 9,
"autosave": 76,
"autosave-rendered": 77,
"selection": 39,
"selection-rendered": 40,
"actor": 101,
"actor-rendered": 102,
"defense-cycle": 163,
"defense-autonomy": 189,
"defense-management": 56,
"defense-management-rendered": 57
},
"packed_rendering_platform": "macOS Apple M4 OpenGL compatibility",
"source_suites": 146,
"source_opening_restart_checks": 103,
"source_defense_restart_checks": 38,
"zip_crc_pass": true,
"zip_file_hashes_pass": true,
"source_changes": 0,
"clone_import_input_changes": 0,
"copied_runtime_inputs": 851,
"exe_sha256": "c52c04ae1283256102b446df50499420d29ab11758041b8abfc043b61dd270a1",
"pack_sha256": "8d7ba120e35593fffcadf08174b32c91b78e8892a454393535975500f2309081",
"source_manifest_sha256": "49e05221691a06e2781a720b734f38f7996be1237cf3738e2f0c7f737f794fe9",
"validation_artifact": "artifacts/windows-defense-release-prep-2026-09-30/build-validation.json",
"later_source_change": null,
"windows_native": false,
"performance_budget_pass": false,
"all_original_acceptance": false
},
"manifest_cache_checkpoint": {
"state": "retained_source_full_rendered_restart_packed_verified",
"full_suites": 147,
"full_failures": 0,
"source_changes": [],
"live_manifest_checks": 79,
"complete_checkpoint_and_final_store_var_bytes_equal": true,
"abbreviated_comparison_order": "ABBA",
"frames_per_speed_per_run": 200,
"x1_average_reduction_percent": 10.479991918650523,
"x3_p95_reduction_percent": 17.835132792182208,
"publication_average_reduction_percent": 17.883028279234804,
"opening_restart_checks": 103,
"related_rendered_checks": 403,
"related_headless_from_same_source_full_checks": 484,
"defense_restart_checks": 38,
"packed_runs": 17,
"packed_headless_checks": 2231,
"packed_rendered_checks": 408,
"packed_checks_including_replays": 2639,
"zip": "build/windows/TheTree-Windows-manifest-cache-2026-09-30.zip",
"zip_sha256": "b90d6ae5f7e5f23e1d77084bd28226317e1c52a613fdb079bf036babe9dded37",
"pack_sha256": "a393d90ab602f9cbe3c5092535b03f910b2217b2e3ba0e45a02c955e423ab8ee",
"full_source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"natural_threat_generation": false,
"windows_native": false,
"performance_budget_pass": false,
"full_load_acceptance": false,
"all_original_acceptance": false
},
"event_defense_integration": {
"status": "integrated_current_source_full_and_restart_verified",
"evidence": "artifacts/event-defense-integration-2026-09-30/",
"runtime_schema": 13,
"event_checks": 186,
"natural_producer_complete": false,
"all_original_acceptance": false,
"full_evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
},
"previous_full_regression_before_event_defense": {
"status": "source_and_rendered_verified",
"evidence": "execution/CURRENT_FULL_REGRESSION.md",
"suites": 147,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 708.21,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"related_rendered_checks": 403,
"artifact": "artifacts/full-regression-after-manifest-cache-2026-09-30",
"defense_restart_evidence": "artifacts/manifest-cache-defense-restart-2026-09-30/verification.json",
"source_changes": 0,
"source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"previous_windows_package_before_event_defense": {
"status": "packed_verified_windows_native_pending",
"evidence": "execution/CURRENT_WINDOWS_PACKAGE.md",
"zip": "build/windows/TheTree-Windows-manifest-cache-2026-09-30.zip",
"bytes": 73192182,
"sha256": "b90d6ae5f7e5f23e1d77084bd28226317e1c52a613fdb079bf036babe9dded37",
"build_id": "manifest-cache-2026-09-30",
"export_mode": "debug",
"architecture": "Windows x86_64 PE32+",
"engine": "4.7.2.stable.official.ed1daf0bf",
"packed_runs": 17,
"packed_headless_checks": 2231,
"packed_rendered_checks": 408,
"packed_total_checks_including_replays": 2639,
"packed_checks": {
"operations": 850,
"opening": 28,
"defense": 508,
"staff": 132,
"staff-rendered": 132,
"hud": 9,
"autosave": 76,
"autosave-rendered": 77,
"selection": 39,
"selection-rendered": 40,
"actor": 101,
"actor-rendered": 102,
"defense-cycle": 163,
"defense-autonomy": 189,
"defense-management": 56,
"defense-management-rendered": 57,
"manifest-cache": 80
},
"packed_rendering_platform": "macOS Apple M4 OpenGL compatibility",
"source_suites": 147,
"source_opening_restart_checks": 103,
"source_defense_restart_checks": 38,
"zip_crc_pass": true,
"zip_file_hashes_pass": true,
"source_changes": 0,
"clone_import_input_changes": 0,
"copied_runtime_inputs": 851,
"exe_sha256": "c52c04ae1283256102b446df50499420d29ab11758041b8abfc043b61dd270a1",
"pack_sha256": "a393d90ab602f9cbe3c5092535b03f910b2217b2e3ba0e45a02c955e423ab8ee",
"source_manifest_sha256": "a9476841dcb6dba6697380b9f8005617986c04d23b6ef29b287bd351f437102f",
"validation_artifact": "artifacts/windows-manifest-release-prep-2026-09-30/build-validation.json",
"later_source_change": null,
"windows_native": false,
"performance_budget_pass": false,
"all_original_acceptance": false
},
"defense_human_labels": {
"status": "source_full_rendered_restart_and_packed_verified_windows_native_pending",
"evidence": "artifacts/event-defense-labels-integration-2026-09-30/",
"isolated_checks": 1350,
"all_original_acceptance": false,
"full_suites": 148,
"restart_checks": 66,
"rendered_checks": 453,
"packed_checks": 2926,
"windows_native": false
},
"previous_full_regression_before_event_labels": {
"status": "running",
"evidence": "artifacts/full-regression-after-event-defense-2026-09-30/",
"expected_suites": 148,
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P28",
"phase": 6,
"title": "性能・操作感・長期バランス",
"depends_on": [
"P27"
],
"size": "L",
"requirement_ids": [
"B-1.1",
"B-3.1a",
"B-4.3a",
"B-4.3c",
"B-11.1",
"B-12.1",
"B-14.4"
],
"work": "既存高負荷条件でCPU/経路/描画/保存を測定。通常プレイのラッシュ/満室/負荷ピークと長期経済を評価。20〜30時間本編・50時間以上全攻略は実プレイ記録で確認。",
"acceptance": "既存性能予算と新しいWindows描画目標を満たす。到達不可能な収支/信仰/ランク条件なし。高速自動再生だけでプレイ時間・操作感を合格にしない。",
"decisions": [
"D04",
"D08",
"D10"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "planned",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "複数の軽量化は採用済み。Runtime全体の性能予算は未達。",
"remaining_deliverables": [
{
"id": "P28-01",
"title": "現HEADの性能基準",
"work": "実Runtimeの20,000マス・200客・50職員・150施設を基準にTick、経路、snapshot、描画、保存を測る。",
"acceptance": "機種、ビルド、シード、速度、測定区間、平均・P95・最大を残す。",
"state": "planned",
"evidence": []
},
{
"id": "P28-02",
"title": "意味を保つ軽量化",
"work": "失敗時拒否を含む同等性を先に固定し、snapshot変換・検証・コピー・経路接続の実測上位から改善する。",
"acceptance": "同条件の反復比較と全状態・全イベント一致を確認し、キャッシュの古さ・所有権・不正入力を検証する。",
"state": "planned",
"evidence": []
},
{
"id": "P28-03",
"title": "操作感と長期バランス",
"work": "Windows描画、初見操作、ラッシュ、長期収支、本編20〜30時間・全要素50時間以上を実プレイで確認する。",
"acceptance": "性能予算と対象Windows描画目標を満たし、時間の早送りだけで操作感やプレイ時間を合格にしない。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
7,
15
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"current_domain_performance": {
"status": "smoke and full public-API composition PASS",
"evidence": "execution/CURRENT_PERFORMANCE.md",
"remaining": [
"production Runtime performance",
"rendered scene and GPU load",
"Windows target acceptance",
"long campaign balance"
]
},
"production_runtime_performance": {
"status": "improved but FAIL: x1 average14.359ms, x3 P95 53.828ms (small production fixture)",
"evidence": "execution/PRODUCTION_RUNTIME_PERFORMANCE.md",
"next": [
"snapshot publication cost",
"idle infrastructure validation",
"same-checkpoint regression and remeasurement"
],
"scalar_cache_evidence": "execution/DIGEST_SCALAR_CACHE.md",
"membership_evidence": "execution/PATH_MEMBERSHIP_OPTIMIZATION.md",
"latest_investigation": "Operations snapshot validation/conversion fusion rejected; exact cell-set fix passed168 and full UI regression. Snapshot publication remains primary performance hotspot.",
"lazy_digest_evidence": "execution/LAZY_PUBLICATION_DIGEST.md",
"ui_regression": "Full make test-ui exit0 after compact HUD, projector/adapter validation caches and exact cell-set fix;17 direct scripts plus2 upkeep processes, unchanged source hashes, no error markers.",
"event_snapshot_evidence": "execution/EVENT_HISTORY_SNAPSHOT_CACHE.md",
"compact_hud_evidence": "execution/COMPACT_OPERATIONS_HUD.md",
"projector_cache_evidence": "execution/PROJECTOR_VALIDATION_CACHE.md",
"adapter_cache_evidence": "execution/ADAPTER_VALIDATION_CACHE.md",
"cell_set_evidence": "execution/EXACT_CELL_SET_VALIDATION.md",
"post_skin_measurement": {
"status": "FAIL",
"x1_average_ms": 14.503425,
"x3_p95_ms": 54.366,
"evidence": "execution/POST_SKIN_PRODUCTION_PERFORMANCE.md"
},
"snapshot_copy_reduction": {
"evidence": "execution/OPERATIONS_SNAPSHOT_COPY_REDUCTION.md",
"functional_status": "PASS 233+51+59",
"performance_status": "FAIL x1 14.256ms / x3 P95 52.113ms"
},
"tree_budget_optimization": {
"evidence": "execution/SNAPSHOT_TREE_BUDGET.md",
"functional_status": "PASS 248+59",
"performance_status": "FAIL x1 14.031ms / x3 P95 50.911ms"
},
"latest_measurement": "Catalog manifest cache retained after 200-frame ABBA comparison; x1 reference mean12.052ms -> candidate10.789ms; x3 P95 mean63.445ms ->52.1295ms. Small macOS production fixture only; budgets still FAIL. execution/MVP_CATALOG_MANIFEST_CACHE.md."
},
"snapshot_key_budget": {
"status": "Validation leaf optimization measured; production budgets still FAIL",
"evidence": "execution/SNAPSHOT_KEY_BUDGET.md",
"before_after_us": {
"operations_snapshot_average": [
3174.95,
2419.45
],
"x1_average": [
13979.775,
13487.4
],
"x3_p95": [
54880,
51750
]
}
},
"dashboard_refresh_coalescing": {
"status": "Implemented one deferred main dashboard refresh per tick batch; UI and deterministic replay pass; performance budgets still FAIL",
"evidence": "execution/DASHBOARD_REFRESH_COALESCING.md"
},
"composed_infrastructure_validation": {
"status": "Retained duplicate validation elimination; targeted435 checks PASS; x1avg12.849ms/x3P9546.529ms still exceed budgets",
"evidence": "execution/COMPOSED_INFRASTRUCTURE_VALIDATION.md",
"acceptance_passed": false
},
"snapshot_ownership": {
"status": "Removed redundant aggregate deep copy; ownership87/save recovery96 PASS; x1avg11.957ms/x3P9536.908ms still above budgets",
"evidence": "execution/SNAPSHOT_OWNERSHIP.md",
"acceptance_passed": false
},
"operations_snapshot_encoding": {
"status": "targeted563 and rendered restart97 passed; interleaved byte equivalence100",
"evidence": "execution/OPERATIONS_SNAPSHOT_ENCODING.md",
"same_state_average_us_before": 2384.77,
"same_state_average_us_after": 1999.03,
"remaining": [
"production performance budgets",
"full-load and Windows",
"remaining original content and all acceptance gates"
]
},
"world_snapshot_cache": {
"status": "single cached geometry with detached reads and restore invalidation; 5 related suites PASS; 20000-cell same-state world serialization improved, full simulation budgets still fail",
"evidence": "execution/WORLD_SNAPSHOT_CACHE.md",
"all_original_acceptance": false
},
"staff_task_clock": {
"status": "Removed redundant rejected per-tick progress calls; normal task time unchanged; 6 suites / 574 checks PASS",
"evidence": "execution/STAFF_TASK_CLOCK.md",
"all_original_acceptance": false
},
"facility_reachability": {
"status": "UI reachability early exit; 33 new + 275 related checks PASS; rendered opening/restart97 PASS. Target query average 6222.41 to 4222.04 us (100 paired samples). Not whole-game performance acceptance.",
"evidence": "execution/FACILITY_REACHABILITY.md",
"all_original_acceptance": false
},
"projector_single_live_check": {
"status": "Removed duplicate live projection traversal; source and adapter validation retained. Related645 and rendered opening/restart97 checks PASS. Paired200 samples: average1494.195 to1165.750 us. Full production budgets still FAIL; no whole-game speedup claim.",
"evidence": "execution/PROJECTOR_SINGLE_LIVE_CHECK.md",
"all_original_acceptance": false
},
"operations_snapshot_profile": {
"state": "measured_candidates_rejected",
"evidence": "execution/OPERATIONS_SNAPSHOT_PROFILE.md",
"production_changes": 0,
"x1_average_us": 9734.7,
"x3_p95_us": 34201,
"budget_pass": false
},
"snapshot_stage_profile": {
"status": "measured_candidate_rejected",
"evidence": "artifacts/snapshot-stage-profile-2026-09-29/verification.json",
"production_changes": 0,
"performance_budget_pass": false
},
"snapshot_call_reuse": {
"status": "source_rendered_and_packed_verified",
"evidence": "execution/SNAPSHOT_CALL_REUSE.md",
"performance_budget_pass": false,
"suites": 140,
"opening_restart_checks": 97,
"windows_package_includes_change": true
},
"current_standalone_full_load": {
"status": "24_checks_pass",
"evidence": "execution/CURRENT_FULL_LOAD.md",
"x3_p95_us": 7419,
"whole_runtime_performance_pass": false,
"windows_native": false
},
"guide_assignment_scan": {
"status": "targeted_and_rendered_verified",
"evidence": "execution/GUIDE_ASSIGNMENT_SCAN.md",
"targeted_checks": 356,
"rendered_restart_checks": 97,
"whole_game_performance_pass": false,
"windows_package_includes_change": false
},
"mvp_catalog_manifest_cache": {
"status": "retained_source_full_rendered_restart_packed_verified",
"evidence": "execution/MVP_CATALOG_MANIFEST_CACHE.md",
"artifact": "artifacts/manifest-cache-evaluation-2026-09-30",
"isolated_reference_checks": 39,
"isolated_candidate_checks": 44,
"live_checks": 79,
"related_isolated_checks": 832,
"abbreviated_comparison_order": "ABBA",
"frames_per_speed_per_run": 200,
"whole_x1_average_reduction_percent": 10.479991918650523,
"whole_x3_p95_reduction_percent": 17.835132792182208,
"publication_average_reduction_percent": 17.883028279234804,
"complete_checkpoint_and_final_bytes_equal": true,
"performance_budget_pass": false,
"full_load_acceptance": false,
"windows_native": false,
"all_original_acceptance": false,
"full_suites": 147,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"related_rendered_checks": 403,
"packed_runs": 17,
"packed_checks": 2639,
"zip": "build/windows/TheTree-Windows-manifest-cache-2026-09-30.zip",
"zip_sha256": "b90d6ae5f7e5f23e1d77084bd28226317e1c52a613fdb079bf036babe9dded37"
},
"current_full_regression": {
"status": "source_full_rendered_readable_restart_and_windows_packed_verified",
"full_suites": 148,
"full_failures": 0,
"full_seconds": 657.68,
"source_changes": [],
"opening_restart_checks": 103,
"related_rendered_checks": 453,
"related_headless_checks_referenced_from_same_full": 720,
"defense_restart_checks": 66,
"human_readable_defense_labels": true,
"full_source_manifest_sha256": "0395e515c1cb090408c11c7235b36f8b2015bf350fe412b2d894b286b249ef6c",
"windows_package": "built_and_verified",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"windows_zip": "build/windows/TheTree-Windows-event-defense-labels-2026-09-30.zip",
"windows_zip_sha256": "2e22d793d113fa3f2eba4839d6812ec69f9762bdfe86c8804b943f79f4b1bad4",
"packed_runs": 18,
"packed_checks": 2926,
"packed_headless_checks": 2468,
"packed_rendered_checks": 458,
"evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
},
"manifest_cache_checkpoint": {
"state": "retained_source_full_rendered_restart_packed_verified",
"full_suites": 147,
"full_failures": 0,
"source_changes": [],
"live_manifest_checks": 79,
"complete_checkpoint_and_final_store_var_bytes_equal": true,
"abbreviated_comparison_order": "ABBA",
"frames_per_speed_per_run": 200,
"x1_average_reduction_percent": 10.479991918650523,
"x3_p95_reduction_percent": 17.835132792182208,
"publication_average_reduction_percent": 17.883028279234804,
"opening_restart_checks": 103,
"related_rendered_checks": 403,
"related_headless_from_same_source_full_checks": 484,
"defense_restart_checks": 38,
"packed_runs": 17,
"packed_headless_checks": 2231,
"packed_rendered_checks": 408,
"packed_checks_including_replays": 2639,
"zip": "build/windows/TheTree-Windows-manifest-cache-2026-09-30.zip",
"zip_sha256": "b90d6ae5f7e5f23e1d77084bd28226317e1c52a613fdb079bf036babe9dded37",
"pack_sha256": "a393d90ab602f9cbe3c5092535b03f910b2217b2e3ba0e45a02c955e423ab8ee",
"full_source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"natural_threat_generation": false,
"windows_native": false,
"performance_budget_pass": false,
"full_load_acceptance": false,
"all_original_acceptance": false
},
"previous_full_regression_before_event_defense": {
"status": "source_and_rendered_verified",
"evidence": "execution/CURRENT_FULL_REGRESSION.md",
"suites": 147,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 708.21,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"related_rendered_checks": 403,
"artifact": "artifacts/full-regression-after-manifest-cache-2026-09-30",
"defense_restart_evidence": "artifacts/manifest-cache-defense-restart-2026-09-30/verification.json",
"source_changes": 0,
"source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"previous_full_regression_before_event_labels": {
"status": "running",
"evidence": "artifacts/full-regression-after-event-defense-2026-09-30/",
"expected_suites": 148,
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
},
{
"id": "P29",
"phase": 6,
"title": "Windows実機・配布版・最終監査",
"depends_on": [
"P28"
],
"size": "M",
"requirement_ids": [
"B-1.1",
"B-14.1",
"B-14.2",
"B-14.3",
"B-14.4"
],
"work": "実EXEで新規→建設→営業→保存→終了→再起動→継続を操作。入力/表示倍率/音/日本語パス/回復を確認し、ビルドとソースのハッシュを固定。75要件と追加仕様を最終再監査。",
"acceptance": "同一リリース候補のソース試験・PCK試験・Windowsネイティブ試験・プレイ記録・資産台帳が揃う。原本差異0で初めて全実装完了。工程の過去納期達成は別判定。",
"decisions": [
"D10"
],
"state": "in_progress",
"supplement_ids": [],
"owner_roles": {
"implementation": "実装担当(担当者未割当)",
"verification": "実装担当が証拠作成、受入担当が確認(担当者未割当)",
"content": "必要時に素材台帳と連携"
},
"legacy_state": "in_progress",
"state_scope": "package-level; completed means whole package accepted; partial implementation is not completion",
"current_summary": "旧1394版Windows配布物のZIP・PCK検査とmacOSでのPCK実行は合格。現1396版のWindows実機受入は未完。",
"remaining_deliverables": [
{
"id": "P29-01",
"title": "最新候補の書き出し",
"work": "採用済みソースだけからWindows EXE/PCKを再生成し、同梱データとZIPを確認する。",
"acceptance": "ソース・PCK・EXE・ZIPのハッシュ、同梱マニフェスト、CRCが対応する。",
"state": "planned",
"evidence": []
},
{
"id": "P29-02",
"title": "Windows同一版の操作",
"work": "日本語パス、新規、建設、営業、表示倍率、音、入力、保存終了再起動を実EXEで確認する。",
"acceptance": "macOS PCK実行と区別し、同一Windows版の操作記録・ログ・画面・性能を残す。",
"state": "planned",
"evidence": []
},
{
"id": "P29-03",
"title": "最終監査と引渡し",
"work": "原本75群、追加10項目、全施設、人物、資産、図鑑、全エンドを再監査して配布証拠をまとめる。",
"acceptance": "同じリリース候補で必須未実装0・未承認差異0・未制作0・重大不具合0。工程4件の過去納期達成は別判定。",
"state": "planned",
"evidence": []
}
],
"estimate_person_days_historical_2026_09_29": [
3,
7
],
"remaining_estimate_person_days": null,
"remaining_estimate_note": "P01原子分割と現在受入の再監査後に見積。過去総工数を残工数へ転用しない。",
"legacy_execution_progress": {
"status": "Partial development Windows EXE/PCK exported; isolated pack28 and macOS rendered pack28 checks PASS; not final release acceptance",
"evidence": "execution/ORIGINAL_FACILITIES_EXPORT.md",
"remaining": [
"all original requirements and earlier package completion",
"Windows native same-build operating acceptance",
"long-term play/performance and final traceability audit"
],
"chapel_anri_development_package": {
"status": "Windows EXE/PCK built; isolated PCK opening28, Anri22, chapel16 and macOS rendered chapel17 PASS; ZIP CRC and hashes verified",
"evidence": "execution/CHAPEL_ANRI_WINDOWS_PACKAGE.md",
"windows_native_verified": false,
"all_original_acceptance": false
},
"current_facility_audit": {
"status": "Live audit: original30 = normal16 + definition-only1 + unmapped13; 17 mapped dimensions/layers match; customer limits unset13. Not full acceptance.",
"evidence": "execution/CURRENT_FACILITY_AUDIT.md",
"all_original_acceptance": false
},
"cleaning_development_package": {
"status": "Windows EXE/PCK built; isolated PCK opening28, cleaning91 and macOS rendered cleaning92 PASS; ZIP CRC and SHA256 verified",
"evidence": "execution/CLEANING_WINDOWS_PACKAGE.md",
"windows_native_verified": false,
"all_original_acceptance": false
},
"current_windows_package": {
"status": "source_full_rendered_restart_and_packed_verified",
"evidence": "artifacts/windows-event-defense-labels-release-prep-2026-09-30/",
"zip": "build/windows/TheTree-Windows-event-defense-labels-2026-09-30.zip",
"zip_sha256": "2e22d793d113fa3f2eba4839d6812ec69f9762bdfe86c8804b943f79f4b1bad4",
"packed_runs": 18,
"packed_checks": 2926,
"windows_native": false,
"all_original_acceptance": false
},
"staff_drag_demolition": {
"status": "Live pointer drag with normal demolition command before drop preserves staff schedules, keeps facility removed and reports rejection. Source106 and isolated same-PCK macOS rendered107 PASS. Production unchanged; Windows native access unavailable in current tools.",
"evidence": "execution/STAFF_DRAG_DEMOLITION.md",
"all_original_acceptance": false
},
"staff_defense_lock": {
"state": "partial_verified",
"evidence": "execution/STAFF_DEFENSE_LOCK.md",
"checks": 119,
"related_checks": 321,
"rendered_checks": 119,
"opening_restart": "97 checks PASS; equal gameplay; source changes 0",
"remaining": [
"current Windows package/native verification",
"broader original requirements"
]
},
"defense_preparation_cancel": {
"state": "verified",
"evidence": "execution/DEFENSE_PREPARATION_CANCEL.md",
"targeted_checks": 856,
"rendered_checks": 131,
"full_regression": "140 PASS; no source changes"
},
"current_full_regression": {
"status": "source_full_rendered_readable_restart_and_windows_packed_verified",
"full_suites": 148,
"full_failures": 0,
"full_seconds": 657.68,
"source_changes": [],
"opening_restart_checks": 103,
"related_rendered_checks": 453,
"related_headless_checks_referenced_from_same_full": 720,
"defense_restart_checks": 66,
"human_readable_defense_labels": true,
"full_source_manifest_sha256": "0395e515c1cb090408c11c7235b36f8b2015bf350fe412b2d894b286b249ef6c",
"windows_package": "built_and_verified",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"windows_zip": "build/windows/TheTree-Windows-event-defense-labels-2026-09-30.zip",
"windows_zip_sha256": "2e22d793d113fa3f2eba4839d6812ec69f9762bdfe86c8804b943f79f4b1bad4",
"packed_runs": 18,
"packed_checks": 2926,
"packed_headless_checks": 2468,
"packed_rendered_checks": 458,
"evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
},
"actor_selection_restore": {
"status": "source_full_and_rendered_restart_verified",
"headless_checks": 100,
"rendered_checks": 101,
"related_checks": 552,
"production_main_sha256": "15708bfb4d534b4f741df5b087fa56ebf36bb9ca004bb80e0bd9c43d07e6c9f1",
"actor_test_sha256": "ecc08464c20990f0a4bd5d1e5d8d6fceb6f3636c959790842a08539fc54ad911",
"full_regression": "144 PASS; no missing, extra, duplicate or changed source inputs",
"windows_export": "Windows EXE/PCK exported; isolated PCK on macOS and ZIP integrity verified; Windows native pending",
"windows_native": false,
"all_original_acceptance": false,
"full_suites": 144,
"full_opening_restart_checks": 103,
"actor_restart_checks": 116,
"opening_restart_checks": 103,
"full_regression_artifact": "artifacts/full-regression-after-actor-selection-2026-09-30",
"full_source_manifest_sha256": "a16bd4acb9576357b93eb9c79f82b0707fa89a37d1dd18cefc20a14ad4393412",
"actor_restart": {
"status": "verified",
"write_checks": 103,
"read_checks": 13,
"checks": 116,
"gameplay_json_equal": true,
"typed_digest_equal": true,
"source_changes": 0,
"evidence": "artifacts/actor-selection-restart-2026-09-30/verification.json",
"driver_sha256": {
"verify.py": "52d4e7e7ee1561867aab3db98704ae27d8ca3237d80dea0d39acda64ca7fed5a",
"flow.gd": "4de71e591925c022a1febeb7ac4a99a3557afa79f8c46bd5cac447934030f1c3"
}
},
"independent_review": {
"status": "no_actionable_product_findings",
"evidence": "artifacts/actor-selection-independent-review-2026-09-30/review.json",
"sha256": "9de10628a3831e236bb951f4d674e3327767fbce7af8bc3c1c7a2f4468f6ddac"
},
"windows_export_session": 88628,
"windows_build_validation": "verified; 12 isolated PCK runs / 2094 checks including rendered repetitions",
"evidence": "execution/ACTOR_SELECTION_RESTORE.md",
"windows_build_process_complete": true,
"windows_package": {
"zip": "build/windows/TheTree-Windows-actor-selection-2026-09-30.zip",
"sha256": "dbf82a93777d1dc46c9ed0b6c32b84b03177756aed6c080bcbbde0e24ff24ffb",
"actor_headless_checks": 101,
"actor_rendered_macos_checks": 102,
"evidence": "artifacts/windows-actor-release-prep-2026-09-30/build-validation.json",
"windows_native": false,
"all_original_acceptance": false
}
},
"defense_autonomy_checkpoint": {
"state": "source_full_rendered_restart_and_packed_verified_windows_native_pending",
"full_suites": 146,
"full_failures": 0,
"source_changes": 0,
"opening_rendered_checks": 103,
"defense_restart_rendered_checks": 38,
"full_evidence": "artifacts/full-regression-after-defense-autonomy-2026-09-30",
"defense_restart_evidence": "artifacts/defense-autonomy-restart-2026-09-30",
"windows_native": false,
"natural_threat_generation": false,
"all_original_acceptance": false,
"packed_runs": 16,
"packed_checks": 2559,
"zip": "build/windows/TheTree-Windows-defense-autonomy-2026-09-30.zip",
"zip_sha256": "2427d259fd31f846f215eaca8ea3cccdec899dc0e7d49e8ab8a1884eb2cbeefc"
},
"previous_full_regression_before_defense_autonomy": {
"status": "source_and_rendered_verified",
"evidence": "execution/CURRENT_FULL_REGRESSION.md",
"suites": 144,
"opening_restart_checks": 103,
"windows_native": false,
"artifact": "artifacts/full-regression-after-actor-selection-2026-09-30",
"source_changes": 0,
"later_source_change": null,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 762.12,
"actor_restart_checks": 116,
"actor_restart_evidence": "artifacts/actor-selection-restart-2026-09-30/verification.json",
"source_manifest_sha256": "a16bd4acb9576357b93eb9c79f82b0707fa89a37d1dd18cefc20a14ad4393412",
"all_original_acceptance": false
},
"previous_windows_package_before_defense_autonomy": {
"status": "packed_verified_windows_native_pending",
"evidence": "execution/CURRENT_WINDOWS_PACKAGE.md",
"zip": "build/windows/TheTree-Windows-actor-selection-2026-09-30.zip",
"bytes": 73155439,
"sha256": "dbf82a93777d1dc46c9ed0b6c32b84b03177756aed6c080bcbbde0e24ff24ffb",
"build_id": "actor-selection-2026-09-30",
"export_mode": "debug",
"architecture": "Windows x86_64 PE32+",
"engine": "4.7.2.stable.official.ed1daf0bf",
"packed_runs": 12,
"packed_headless_checks": 1743,
"packed_rendered_checks": 351,
"packed_rendered_staff_checks": 132,
"packed_total_checks_including_replays": 2094,
"packed_checks": {
"operations": 850,
"opening": 28,
"defense": 508,
"staff": 132,
"staff-rendered": 132,
"hud": 9,
"autosave": 76,
"autosave-rendered": 77,
"selection": 39,
"selection-rendered": 40,
"actor": 101,
"actor-rendered": 102
},
"packed_rendering_platform": "macOS Apple M4 OpenGL compatibility",
"source_suites": 144,
"source_opening_restart_checks": 103,
"source_actor_restart_checks": 116,
"zip_crc_pass": true,
"zip_file_hashes_pass": true,
"source_changes": 0,
"clone_import_input_changes": 0,
"copied_runtime_inputs": 849,
"exe_sha256": "c52c04ae1283256102b446df50499420d29ab11758041b8abfc043b61dd270a1",
"pack_sha256": "697577f0d33d400d887d8f398d2afb02cb19c452aaad92e5a486d07b9718303d",
"source_manifest_sha256": "afdc8638ae17ce37545ef12bf337bccf4a6e8a4b5a09f4b8bdee55d3f0543bc4",
"validation_artifact": "artifacts/windows-actor-release-prep-2026-09-30/build-validation.json",
"later_source_change": null,
"windows_native": false,
"performance_budget_pass": false,
"all_original_acceptance": false,
"previous_development_package": {
"zip": "build/windows/TheTree-Windows-snapshot-reuse-2026-09-29.zip",
"sha256": "03629ba3325aeecb135f199c192e0ffbcb4fae539f1f0dff1c3d76495ff0f842",
"packed_headless_checks": 1527,
"packed_rendered_staff_checks": 132
}
},
"previous_full_regression_before_manifest_cache": {
"status": "source_and_rendered_verified",
"evidence": "execution/FULL_REGRESSION_BEFORE_MANIFEST_CACHE.md",
"suites": 146,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 743.93,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"defense_restart_evidence": "artifacts/defense-autonomy-restart-2026-09-30/verification.json",
"artifact": "artifacts/full-regression-after-defense-autonomy-2026-09-30",
"source_changes": 0,
"source_manifest_sha256": "afd27dc86d0125d5547cf58beda9461dec34fd38c0fc94e85a96e7f82d2896a5",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"previous_windows_package_before_manifest_cache": {
"status": "packed_verified_windows_native_pending",
"evidence": "execution/WINDOWS_PACKAGE_BEFORE_MANIFEST_CACHE.md",
"zip": "build/windows/TheTree-Windows-defense-autonomy-2026-09-30.zip",
"bytes": 73190478,
"sha256": "2427d259fd31f846f215eaca8ea3cccdec899dc0e7d49e8ab8a1884eb2cbeefc",
"build_id": "defense-autonomy-2026-09-30",
"export_mode": "debug",
"architecture": "Windows x86_64 PE32+",
"engine": "4.7.2.stable.official.ed1daf0bf",
"packed_runs": 16,
"packed_headless_checks": 2151,
"packed_rendered_checks": 408,
"packed_total_checks_including_replays": 2559,
"packed_checks": {
"operations": 850,
"opening": 28,
"defense": 508,
"staff": 132,
"staff-rendered": 132,
"hud": 9,
"autosave": 76,
"autosave-rendered": 77,
"selection": 39,
"selection-rendered": 40,
"actor": 101,
"actor-rendered": 102,
"defense-cycle": 163,
"defense-autonomy": 189,
"defense-management": 56,
"defense-management-rendered": 57
},
"packed_rendering_platform": "macOS Apple M4 OpenGL compatibility",
"source_suites": 146,
"source_opening_restart_checks": 103,
"source_defense_restart_checks": 38,
"zip_crc_pass": true,
"zip_file_hashes_pass": true,
"source_changes": 0,
"clone_import_input_changes": 0,
"copied_runtime_inputs": 851,
"exe_sha256": "c52c04ae1283256102b446df50499420d29ab11758041b8abfc043b61dd270a1",
"pack_sha256": "8d7ba120e35593fffcadf08174b32c91b78e8892a454393535975500f2309081",
"source_manifest_sha256": "49e05221691a06e2781a720b734f38f7996be1237cf3738e2f0c7f737f794fe9",
"validation_artifact": "artifacts/windows-defense-release-prep-2026-09-30/build-validation.json",
"later_source_change": null,
"windows_native": false,
"performance_budget_pass": false,
"all_original_acceptance": false
},
"manifest_cache_checkpoint": {
"state": "retained_source_full_rendered_restart_packed_verified",
"full_suites": 147,
"full_failures": 0,
"source_changes": [],
"live_manifest_checks": 79,
"complete_checkpoint_and_final_store_var_bytes_equal": true,
"abbreviated_comparison_order": "ABBA",
"frames_per_speed_per_run": 200,
"x1_average_reduction_percent": 10.479991918650523,
"x3_p95_reduction_percent": 17.835132792182208,
"publication_average_reduction_percent": 17.883028279234804,
"opening_restart_checks": 103,
"related_rendered_checks": 403,
"related_headless_from_same_source_full_checks": 484,
"defense_restart_checks": 38,
"packed_runs": 17,
"packed_headless_checks": 2231,
"packed_rendered_checks": 408,
"packed_checks_including_replays": 2639,
"zip": "build/windows/TheTree-Windows-manifest-cache-2026-09-30.zip",
"zip_sha256": "b90d6ae5f7e5f23e1d77084bd28226317e1c52a613fdb079bf036babe9dded37",
"pack_sha256": "a393d90ab602f9cbe3c5092535b03f910b2217b2e3ba0e45a02c955e423ab8ee",
"full_source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"natural_threat_generation": false,
"windows_native": false,
"performance_budget_pass": false,
"full_load_acceptance": false,
"all_original_acceptance": false
},
"event_defense_integration": {
"status": "integrated_current_source_full_and_restart_verified",
"evidence": "artifacts/event-defense-integration-2026-09-30/",
"runtime_schema": 13,
"event_checks": 186,
"natural_producer_complete": false,
"all_original_acceptance": false,
"full_evidence": "artifacts/full-regression-after-event-defense-labels-2026-09-30/"
},
"previous_full_regression_before_event_defense": {
"status": "source_and_rendered_verified",
"evidence": "execution/CURRENT_FULL_REGRESSION.md",
"suites": 147,
"failures": 0,
"missing": 0,
"extra": 0,
"duplicates": 0,
"suite_seconds": 708.21,
"opening_restart_checks": 103,
"defense_restart_checks": 38,
"related_rendered_checks": 403,
"artifact": "artifacts/full-regression-after-manifest-cache-2026-09-30",
"defense_restart_evidence": "artifacts/manifest-cache-defense-restart-2026-09-30/verification.json",
"source_changes": 0,
"source_manifest_sha256": "c09bc629442d319a3e4b928859213d23735943cfb32d91855f50380d5724449d",
"later_source_change": null,
"windows_native": false,
"all_original_acceptance": false
},
"previous_windows_package_before_event_defense": {
"status": "packed_verified_windows_native_pending",
"evidence": "execution/CURRENT_WINDOWS_PACKAGE.md",
"zip": "build/windows/TheTree-Windows-manifest-cache-2026-09-30.zip",
"bytes": 73192182,
"sha256": "b90d6ae5f7e5f23e1d77084bd28226317e1c52a613fdb079bf036babe9dded37",
"build_id": "manifest-cache-2026-09-30",
"export_mode": "debug",
"architecture": "Windows x86_64 PE32+",
"engine": "4.7.2.stable.official.ed1daf0bf",
"packed_runs": 17,
"packed_headless_checks": 2231,
"packed_rendered_checks": 408,
"packed_total_checks_including_replays": 2639,
"packed_checks": {
"operations": 850,
"opening": 28,
"defense": 508,
"staff": 132,
"staff-rendered": 132,
"hud": 9,
"autosave": 76,
"autosave-rendered": 77,
"selection": 39,
"selection-rendered": 40,
"actor": 101,
"actor-rendered": 102,
"defense-cycle": 163,
"defense-autonomy": 189,
"defense-management": 56,
"defense-management-rendered": 57,
"manifest-cache": 80
},
"packed_rendering_platform": "macOS Apple M4 OpenGL compatibility",
"source_suites": 147,
"source_opening_restart_checks": 103,
"source_defense_restart_checks": 38,
"zip_crc_pass": true,
"zip_file_hashes_pass": true,
"source_changes": 0,
"clone_import_input_changes": 0,
"copied_runtime_inputs": 851,
"exe_sha256": "c52c04ae1283256102b446df50499420d29ab11758041b8abfc043b61dd270a1",
"pack_sha256": "a393d90ab602f9cbe3c5092535b03f910b2217b2e3ba0e45a02c955e423ab8ee",
"source_manifest_sha256": "a9476841dcb6dba6697380b9f8005617986c04d23b6ef29b287bd351f437102f",
"validation_artifact": "artifacts/windows-manifest-release-prep-2026-09-30/build-validation.json",
"later_source_change": null,
"windows_native": false,
"performance_budget_pass": false,
"all_original_acceptance": false
},
"defense_human_labels": {
"status": "source_full_rendered_restart_and_packed_verified_windows_native_pending",
"evidence": "artifacts/event-defense-labels-integration-2026-09-30/",
"isolated_checks": 1350,
"all_original_acceptance": false,
"full_suites": 148,
"restart_checks": 66,
"rendered_checks": 453,
"packed_checks": 2926,
"windows_native": false
},
"previous_full_regression_before_event_labels": {
"status": "running",
"evidence": "artifacts/full-regression-after-event-defense-2026-09-30/",
"expected_suites": 148,
"all_original_acceptance": false
}
},
"package_dependencies_scope": "integration prerequisites; a vertical slice may start once its own required contracts are accepted",
"cross_cutting_acceptance": [
"原本条件とUI操作が一致",
"Runtimeの実利用・会計・行動へ接続",
"途中保存・再起動で再現",
"異常/境界/中断を検証",
"関連回帰PASS",
"要件別ログとソースハッシュを保存"
],
"cross_cutting_acceptance_scope": "Completion requirements only, not achieved results. Apply each to relevant slices; non-applicable views require a recorded reason.",
"initial_revision_state": "in_progress"
}
]