Files
Takeshi 5dde0c5ec2 Record original-alignment implementation and traceability checkpoint
Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
2026-09-30 23:52:24 +09:00

3779 lines
126 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"id": "B-1.1",
"section": "1.1",
"requirement": "基本情報・Windows・2D・20〜30時間/50時間以上",
"source_lines": [
2,
3,
4,
5,
6,
7,
8,
9,
10
],
"current_status": "一部実装・差異あり",
"current_note": "Windows配布物と2D断面図を実装。 20〜30時間の本編、50時間以上の全攻略の受入証拠がない。今回Windowsネイティブ確認は実施していない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "Windows配布物と2D断面図を実装。",
"gap_or_acceptance": "20〜30時間の本編、50時間以上の全攻略の受入証拠がない。今回Windowsネイティブ確認は実施していない。",
"source_evidence": [
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
},
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd",
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-1.2",
"section": "1.2",
"requirement": "地上/地下の二面性経営・観察介入・権威/富",
"source_lines": [
11,
12,
13,
14
],
"current_status": "一部実装・差異あり",
"current_note": "地上地下・二層の建設と観察、ランク・経済の基盤あり。 高さと権威、深さと富、介入を一貫して成立させる完成ゲームの受入が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "地上地下・二層の建設と観察、ランク・経済の基盤あり。",
"gap_or_acceptance": "高さと権威、深さと富、介入を一貫して成立させる完成ゲームの受入が不足。",
"source_evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103,
"symbol": "func get_zone"
},
{
"path": "scripts/construction/construction_service.gd",
"line": 56,
"symbol": "func validate_placement"
},
{
"path": "scripts/progression/progression_service.gd",
"line": 143,
"symbol": "func evaluate_rank"
},
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
},
{
"path": "scripts/economy/economy_service.gd",
"line": 28,
"symbol": "func"
},
{
"path": "scripts/mana/mana_network_service.gd",
"line": 46,
"symbol": "func register_source"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4736,
"symbol": "func _initialize_mana_network"
}
],
"related_component_tests": [
"tests/s1/test_world_service.gd",
"tests/s1/test_construction_service.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd",
"tests/s2/test_economy_service.gd",
"tests/s2/test_mana_network_service.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-1.3",
"section": "1.3",
"requirement": "建設→集客→収益→管理→拡張防衛",
"source_lines": [
15,
16,
17,
18,
19,
20,
21,
22
],
"current_status": "一部実装・差異あり",
"current_note": "建設・集客・宿泊飲食収入・雇用・物流の通常ループあり。防衛APIとRuntimeテストあり。 全裏収益、全施設、通常プレイでの防衛発生・高ランク到達まで未完了。APIテストを全ループ完了に数えない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "建設・集客・宿泊飲食収入・雇用・物流の通常ループあり。防衛APIとRuntimeテストあり。",
"gap_or_acceptance": "全裏収益、全施設、通常プレイでの防衛発生・高ランク到達まで未完了。APIテストを全ループ完了に数えない。",
"source_evidence": [
{
"path": "scripts/supply/kitchen_production_service.gd",
"line": 19,
"symbol": "func"
},
{
"path": "scripts/supply/supply_logistics_bridge.gd",
"line": 17,
"symbol": "func"
},
{
"path": "scripts/supply/supply_management_service.gd",
"line": 7,
"symbol": "func"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 2278,
"symbol": "func _build_operations_daily_financials"
},
{
"path": "scripts/economy/economy_service.gd",
"line": 28,
"symbol": "func"
},
{
"path": "scripts/operations/operations_coordinator.gd",
"line": 143,
"symbol": "func"
},
{
"path": "scripts/defense/defense_service.gd",
"line": 79,
"symbol": "func"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 6475,
"symbol": "func _execute_create_defense_raid"
}
],
"related_component_tests": [
"tests/supply/test_normal_supply_chain.gd",
"tests/mvp/test_original_midnight_settlement.gd",
"tests/mvp/test_runtime_operations_acceptance.gd",
"tests/s5/test_defense_service.gd",
"tests/s5/test_runtime_defense_cycle.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-1.4",
"section": "1.4",
"requirement": "二層・自律AI・渋滞・信仰と依存",
"source_lines": [
23,
24,
25,
26
],
"current_status": "一部実装・差異あり",
"current_note": "二層、客AI、シフト、渋滞、依存値と信仰値の基盤あり。 信仰による本編進行、依存客の全特殊行動まで接続されていない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "二層、客AI、シフト、渋滞、依存値と信仰値の基盤あり。",
"gap_or_acceptance": "信仰による本編進行、依存客の全特殊行動まで接続されていない。",
"source_evidence": [
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
},
{
"path": "scenes/main/world_preview.gd",
"line": 653,
"symbol": "func _prepare_room_presentations"
},
{
"path": "scripts/world/path_service.gd",
"line": 952,
"symbol": "func find_path"
},
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
},
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
}
],
"related_component_tests": [
"tests/s1/test_path_service.gd",
"tests/ui/test_pixel_tower.gd",
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd",
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-1.5",
"section": "1.5",
"requirement": "世界観・主人公・7ヒロイン3運命",
"source_lines": [
27,
28,
29,
30
],
"current_status": "一部実装・差異あり",
"current_note": "アンリとライの2名のデータあり。 原本の7ヒロインと各3ルート、主人公の物語・全エンドが揃っていない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "アンリとライの2名のデータあり。",
"gap_or_acceptance": "原本の7ヒロインと各3ルート、主人公の物語・全エンドが揃っていない。",
"source_evidence": [
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
}
],
"related_component_tests": [
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-1.6",
"section": "1.6",
"requirement": "成人向けルートと経営的搾取",
"source_lines": [
31,
32,
33,
34
],
"current_status": "一部実装・差異あり",
"current_note": "成人区分・対象施設・コンテンツ制御の基盤あり。 原本記載の全ルート・イベント・経営要素としては未完成。データやタグの存在を内容実装と扱わない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "成人区分・対象施設・コンテンツ制御の基盤あり。",
"gap_or_acceptance": "原本記載の全ルート・イベント・経営要素としては未完成。データやタグの存在を内容実装と扱わない。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
},
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd",
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-2.1",
"section": "2.1",
"requirement": "グリッド・Y正負・支持・領域拡張",
"source_lines": [
36,
37,
38,
39
],
"current_status": "実装あり・全受入未検証",
"current_note": "Y正負・境界、グリッド占有、支持判定、ランク別領域拡張APIあり。 個別テストはあるが通常プレイで高ランクまで進む原本一式の受入は未確認。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "U",
"implemented": "Y正負・境界、グリッド占有、支持判定、ランク別領域拡張APIあり。",
"gap_or_acceptance": "個別テストはあるが通常プレイで高ランクまで進む原本一式の受入は未確認。",
"source_evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103,
"symbol": "func get_zone"
},
{
"path": "scripts/construction/construction_service.gd",
"line": 56,
"symbol": "func validate_placement"
},
{
"path": "scripts/progression/progression_service.gd",
"line": 143,
"symbol": "func evaluate_rank"
}
],
"related_component_tests": [
"tests/s1/test_world_service.gd",
"tests/s1/test_construction_service.gd",
"tests/mvp/test_runtime_content_progression.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-2.2",
"section": "2.2",
"requirement": "同座標Front/Back・半透明/ワイヤー表示",
"source_lines": [
40,
41,
42,
43,
44
],
"current_status": "一部実装・差異あり",
"current_note": "同一XYのFRONT/BACKスロットと切替を実装。 現画面は選択層のみの施設描画。原本の非選択層の半透明・ワイヤーフレーム表示を満たしていない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "同一XYのFRONT/BACKスロットと切替を実装。",
"gap_or_acceptance": "現画面は選択層のみの施設描画。原本の非選択層の半透明・ワイヤーフレーム表示を満たしていない。",
"source_evidence": [
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
},
{
"path": "scenes/main/world_preview.gd",
"line": 653,
"symbol": "func _prepare_room_presentations"
},
{
"path": "scripts/world/path_service.gd",
"line": 952,
"symbol": "func find_path"
}
],
"related_component_tests": [
"tests/s1/test_path_service.gd",
"tests/ui/test_pixel_tower.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-2.3",
"section": "2.3",
"requirement": "客エリアと景観/清潔/騒音の満足度効果",
"source_lines": [
45,
46,
47
],
"current_status": "一部実装・差異あり",
"current_note": "清掃・施設品質・満足度の基盤、景観/清潔/騒音の定義フィールドあり。 beauty_effect/noise_per_service/cleanliness_decay_per_serviceの本体参照は定義のみ。3環境値の計算と客満足度への連動が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "清掃・施設品質・満足度の基盤、景観/清潔/騒音の定義フィールドあり。",
"gap_or_acceptance": "beauty_effect/noise_per_service/cleanliness_decay_per_serviceの本体参照は定義のみ。3環境値の計算と客満足度への連動が不足。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
},
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd",
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-2.4",
"section": "2.4",
"requirement": "バックヤード・職員ドア・客通行禁止",
"source_lines": [
48,
49,
50
],
"current_status": "一部実装・差異あり",
"current_note": "職員専用ドア、BACK経路、客アクセス制限、業務用EVあり。 原本にあるリネンシュート、隠し扉、覗き部屋を含む全バックヤード施設は未完了。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "職員専用ドア、BACK経路、客アクセス制限、業務用EVあり。",
"gap_or_acceptance": "原本にあるリネンシュート、隠し扉、覗き部屋を含む全バックヤード施設は未完了。",
"source_evidence": [
{
"path": "scripts/world/path_service.gd",
"line": 938,
"symbol": "func estimate_elevator_wait_cost"
},
{
"path": "scripts/world/path_service.gd",
"line": 1672,
"symbol": "func _heuristic"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s1/test_path_service.gd",
"tests/s1/test_path_congestion.gd",
"tests/transport/test_runtime_transport.gd",
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-2.5",
"section": "2.5",
"requirement": "覗き部屋の配置制約・通路寸断・証拠収集",
"source_lines": [
51,
52,
53
],
"current_status": "該当機能未実装",
"current_note": "証拠管理APIは別機能としてあるが、覗き部屋の施設定義はない。 対象室背面限定建設、裏通路寸断、記録係と専用視界からの証拠収集が未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "証拠管理APIは別機能としてあるが、覗き部屋の施設定義はない。",
"gap_or_acceptance": "対象室背面限定建設、裏通路寸断、記録係と専用視界からの証拠収集が未実装。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-2.6",
"section": "2.6",
"requirement": "地上/地下の採光・マナ・遮音・隠蔽ボーナス",
"source_lines": [
54,
55,
56
],
"current_status": "一部実装・差異あり",
"current_note": "地上/地下ゾーンの配置制約、関連する環境定義フィールドあり。 採光・マナ濃度・遮音・隠蔽のゾーン別ボーナス計算と客層効果が未接続。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "地上/地下ゾーンの配置制約、関連する環境定義フィールドあり。",
"gap_or_acceptance": "採光・マナ濃度・遮音・隠蔽のゾーン別ボーナス計算と客層効果が未接続。",
"source_evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103,
"symbol": "func get_zone"
},
{
"path": "scripts/construction/construction_service.gd",
"line": 56,
"symbol": "func validate_placement"
},
{
"path": "scripts/progression/progression_service.gd",
"line": 143,
"symbol": "func evaluate_rank"
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s1/test_world_service.gd",
"tests/s1/test_construction_service.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-3.1a",
"section": "3.1a",
"requirement": "10秒=1時間、Pause/x1/x2/x3",
"source_lines": [
58,
59,
60
],
"current_status": "検証済み(記載範囲)",
"current_note": "10秒=1時間、Pause/x1/x2/x3。旧x4セーブの移行も実装。 今回時計テストを再実行。時間倍率の要件を検証済み。",
"previous_status": "実装・検証済み",
"status_code": "V",
"implemented": "10秒=1時間、Pause/x1/x2/x3。旧x4セーブの移行も実装。",
"gap_or_acceptance": "今回時計テストを再実行。時間倍率の要件を検証済み。",
"source_evidence": [
{
"path": "scripts/core/simulation_kernel.gd",
"line": 28,
"symbol": "const REAL_SECONDS_PER_GAME_HOUR"
},
{
"path": "autoload/game_clock.gd",
"line": 29,
"symbol": "func get_phase"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 446,
"symbol": "if _clock.paused and scheduled_tick"
}
],
"related_component_tests": [
"tests/run_tests.gd",
"tests/s0/test_runtime_integration.gd",
"tests/ui/test_first_operating_day.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-3.1b",
"section": "3.1b",
"requirement": "アクティブポーズ中も建設・指示",
"source_lines": [
58,
59,
60
],
"current_status": "検証済み(記載範囲)",
"current_note": "停止中の当分コマンドを即処理し、停止したまま建設予約・指示を受理。 今回停止中コマンドテストと開業UIテストを再実行。工事進行は時間再開後。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "V",
"implemented": "停止中の当分コマンドを即処理し、停止したまま建設予約・指示を受理。",
"gap_or_acceptance": "今回停止中コマンドテストと開業UIテストを再実行。工事進行は時間再開後。",
"source_evidence": [
{
"path": "scripts/core/simulation_kernel.gd",
"line": 28,
"symbol": "const REAL_SECONDS_PER_GAME_HOUR"
},
{
"path": "autoload/game_clock.gd",
"line": 29,
"symbol": "func get_phase"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 446,
"symbol": "if _clock.paused and scheduled_tick"
}
],
"related_component_tests": [
"tests/run_tests.gd",
"tests/s0/test_runtime_integration.gd",
"tests/ui/test_first_operating_day.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-3.2",
"section": "3.2",
"requirement": "4時間帯と朝下り/夕上り/夜行動",
"source_lines": [
61,
62,
63,
64,
65
],
"current_status": "一部実装・差異あり",
"current_note": "06/10/16/20時の4フェーズ、来客時間帯、18時シフト交代あり。 朝の下り・夕の上りラッシュと原本指定の夜行動全体を再現するシナリオ受入が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "06/10/16/20時の4フェーズ、来客時間帯、18時シフト交代あり。",
"gap_or_acceptance": "朝の下り・夕の上りラッシュと原本指定の夜行動全体を再現するシナリオ受入が不足。",
"source_evidence": [
{
"path": "scripts/core/simulation_kernel.gd",
"line": 28,
"symbol": "const REAL_SECONDS_PER_GAME_HOUR"
},
{
"path": "autoload/game_clock.gd",
"line": 29,
"symbol": "func get_phase"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 446,
"symbol": "if _clock.paused and scheduled_tick"
},
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
}
],
"related_component_tests": [
"tests/run_tests.gd",
"tests/s0/test_runtime_integration.gd",
"tests/ui/test_first_operating_day.gd",
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-3.3",
"section": "3.3",
"requirement": "昼夜シフト・体力0気絶・救護・通勤混雑",
"source_lines": [
66,
67,
68,
69
],
"current_status": "検証済み(記載範囲)",
"current_note": "勤務体力減少、気絶、目撃評判低下、BACK/EV同伴救護、待機室休息、16人交代混雑を検証。 現行施設での検証。回復速度・治療時間等の数値は暫定値であり原本確定値ではない。",
"previous_status": "実装・検証済み(現行施設)",
"status_code": "V",
"implemented": "勤務体力減少、気絶、目撃評判低下、BACK/EV同伴救護、待機室休息、16人交代混雑を検証。",
"gap_or_acceptance": "現行施設での検証。回復速度・治療時間等の数値は暫定値であり原本確定値ではない。",
"source_evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 11906,
"symbol": "func _advance_staff_rescue"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11985,
"symbol": "func get_staff_rest_report"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
},
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
}
],
"related_component_tests": [
"tests/staff/test_staff_rescue.gd",
"tests/staff/test_rescue_elevator.gd",
"tests/staff/test_staff_rest.gd",
"tests/staff/test_shift_rush.gd",
"tests/ui/test_staff_rest.gd",
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-3.4a",
"section": "3.4a",
"requirement": "毎日00:00に決算レポート",
"source_lines": [
70,
71,
72
],
"current_status": "検証済み(記載範囲)",
"current_note": "00:00決算・給与・帳簿自動表示・保存復元を実装。 時刻とレポートの要件を検証済み。未接続費目はB-9.2へ分離。",
"previous_status": "実装・検証済み",
"status_code": "V",
"implemented": "00:00決算・給与・帳簿自動表示・保存復元を実装。",
"gap_or_acceptance": "時刻とレポートの要件を検証済み。未接続費目はB-9.2へ分離。",
"source_evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 2278,
"symbol": "func _build_operations_daily_financials"
},
{
"path": "scripts/economy/economy_service.gd",
"line": 28,
"symbol": "func"
},
{
"path": "scripts/operations/operations_coordinator.gd",
"line": 143,
"symbol": "func"
}
],
"related_component_tests": [
"tests/mvp/test_original_midnight_settlement.gd",
"tests/mvp/test_runtime_operations_acceptance.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-3.4b",
"section": "3.4b",
"requirement": "3回連続赤字でゲームオーバー",
"source_lines": [
70,
71,
72
],
"current_status": "検証済み(記載範囲)",
"current_note": "3回連続赤字で終了。黒字/ゼロで連続数リセット。終了状態も保存。 判定と終了制御を検証済み。全収支種別の充足とは別。",
"previous_status": "実装・検証済み",
"status_code": "V",
"implemented": "3回連続赤字で終了。黒字/ゼロで連続数リセット。終了状態も保存。",
"gap_or_acceptance": "判定と終了制御を検証済み。全収支種別の充足とは別。",
"source_evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 2278,
"symbol": "func _build_operations_daily_financials"
},
{
"path": "scripts/economy/economy_service.gd",
"line": 28,
"symbol": "func"
},
{
"path": "scripts/operations/operations_coordinator.gd",
"line": 143,
"symbol": "func"
}
],
"related_component_tests": [
"tests/mvp/test_original_midnight_settlement.gd",
"tests/mvp/test_runtime_operations_acceptance.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-3.5",
"section": "3.5",
"requirement": "雨・嵐・マナの霧・流行ニュース",
"source_lines": [
73,
74,
75
],
"current_status": "該当機能未実装",
"current_note": "4時間帯はあるが天候・流行の実行系はない。 雨の客足/滞在、嵐の新規客ゼロ、マナ霧効果、数日ごとのニュースと売上効果が未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "4時間帯はあるが天候・流行の実行系はない。",
"gap_or_acceptance": "雨の客足/滞在、嵐の新規客ゼロ、マナ霧効果、数日ごとのニュースと売上効果が未実装。",
"source_evidence": [
{
"path": "scripts/core/simulation_kernel.gd",
"line": 28,
"symbol": "const REAL_SECONDS_PER_GAME_HOUR"
},
{
"path": "autoload/game_clock.gd",
"line": 29,
"symbol": "func get_phase"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 446,
"symbol": "if _clock.paused and scheduled_tick"
}
],
"related_component_tests": [
"tests/run_tests.gd",
"tests/s0/test_runtime_integration.gd",
"tests/ui/test_first_operating_day.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-4.1",
"section": "4.1",
"requirement": "所持金/戦利品・四欲求・忍耐/清潔/依存",
"source_lines": [
77,
78,
79,
80
],
"current_status": "一部実装・差異あり",
"current_note": "財布・四欲求・忍耐・依存・信用/債務値あり。 戦利品の所持/換金、客自身の清潔度と歩行汚染伝播が不足。hygiene欲求を清潔度伝播の実装と数えない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "財布・四欲求・忍耐・依存・信用/債務値あり。",
"gap_or_acceptance": "戦利品の所持/換金、客自身の清潔度と歩行汚染伝播が不足。hygiene欲求を清潔度伝播の実装と数えない。",
"source_evidence": [
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
}
],
"related_component_tests": [
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-4.2",
"section": "4.2",
"requirement": "最大欲求優先と距離/行列/価格選択",
"source_lines": [
81,
82,
83
],
"current_status": "検証済み(記載範囲)",
"current_note": "利用可能候補の最大欲求を先に比較し、同順位を距離・待ち・価格等で選択。 現行サービス候補で検証済み。未登録施設の網羅ではない。",
"previous_status": "実装・検証済み(現行施設)",
"status_code": "V",
"implemented": "利用可能候補の最大欲求を先に比較し、同順位を距離・待ち・価格等で選択。",
"gap_or_acceptance": "現行サービス候補で検証済み。未登録施設の網羅ではない。",
"source_evidence": [
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
}
],
"related_component_tests": [
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-4.3a",
"section": "4.3a",
"requirement": "A*とエレベーター待ち時間コスト",
"source_lines": [
84,
85,
86,
87
],
"current_status": "実装あり・全受入未検証",
"current_note": "A*相当の探索とヒューリスティック、EV行列から見積る待ちコストを経路費用に加算。 今回経路・混雑テストPASS。実カゴ運行時間との見積誤差を含む原本専用の総合受入は未確認。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "U",
"implemented": "A*相当の探索とヒューリスティック、EV行列から見積る待ちコストを経路費用に加算。",
"gap_or_acceptance": "今回経路・混雑テストPASS。実カゴ運行時間との見積誤差を含む原本専用の総合受入は未確認。",
"source_evidence": [
{
"path": "scripts/world/path_service.gd",
"line": 938,
"symbol": "func estimate_elevator_wait_cost"
},
{
"path": "scripts/world/path_service.gd",
"line": 1672,
"symbol": "func _heuristic"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
}
],
"related_component_tests": [
"tests/s1/test_path_service.gd",
"tests/s1/test_path_congestion.gd",
"tests/transport/test_runtime_transport.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-4.3b",
"section": "4.3b",
"requirement": "4種垂直移動のゲーム内利用",
"source_lines": [
84,
85,
86,
87
],
"current_status": "一部実装・差異あり",
"current_note": "客用EV・業務用EV・遅い階段は建設から実移動まで接続。 マナワープ施設・費用・瞬間移動は未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "客用EV・業務用EV・遅い階段は建設から実移動まで接続。",
"gap_or_acceptance": "マナワープ施設・費用・瞬間移動は未実装。",
"source_evidence": [
{
"path": "scripts/world/path_service.gd",
"line": 938,
"symbol": "func estimate_elevator_wait_cost"
},
{
"path": "scripts/world/path_service.gd",
"line": 1672,
"symbol": "func _heuristic"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s1/test_path_service.gd",
"tests/s1/test_path_congestion.gd",
"tests/transport/test_runtime_transport.gd",
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-4.3c",
"section": "4.3c",
"requirement": "重なり時速度50%低下",
"source_lines": [
84,
85,
86,
87
],
"current_status": "検証済み(記載範囲)",
"current_note": "重なった通路の移動速度0.5と移動クレジットを実装。 今回混雑テストを再実行。経路コストだけでなく実移動速度も既存Runtime/交代試験対象。",
"previous_status": "実装・検証済み",
"status_code": "V",
"implemented": "重なった通路の移動速度0.5と移動クレジットを実装。",
"gap_or_acceptance": "今回混雑テストを再実行。経路コストだけでなく実移動速度も既存Runtime/交代試験対象。",
"source_evidence": [
{
"path": "scripts/world/path_service.gd",
"line": 938,
"symbol": "func estimate_elevator_wait_cost"
},
{
"path": "scripts/world/path_service.gd",
"line": 1672,
"symbol": "func _heuristic"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
}
],
"related_component_tests": [
"tests/s1/test_path_service.gd",
"tests/s1/test_path_congestion.gd",
"tests/transport/test_runtime_transport.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-4.4",
"section": "4.4",
"requirement": "依存Lv3退店拒否・装備売却・性別別破産",
"source_lines": [
88,
89,
90
],
"current_status": "一部実装・差異あり",
"current_note": "依存値と支出優先の基盤あり。 依存Lv3退店拒否、装備売却、原本の性別別破産分岐は未接続。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "依存値と支出優先の基盤あり。",
"gap_or_acceptance": "依存Lv3退店拒否、装備売却、原本の性別別破産分岐は未接続。",
"source_evidence": [
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
}
],
"related_component_tests": [
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-4.5",
"section": "4.5",
"requirement": "貴族/聖職者/エルフ/魔族のAI特性",
"source_lines": [
91,
92,
93,
94,
95
],
"current_status": "一部実装・差異あり",
"current_note": "8客クラス・4種族、予算/忍耐/嗜好等の定義あり。 聖職者の目撃即退店/風紀、エルフの自然好み、魔族等の地下満足度耐性を原本通り通す受入がない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "8客クラス・4種族、予算/忍耐/嗜好等の定義あり。",
"gap_or_acceptance": "聖職者の目撃即退店/風紀、エルフの自然好み、魔族等の地下満足度耐性を原本通り通す受入がない。",
"source_evidence": [
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
},
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
}
],
"related_component_tests": [
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-5.1",
"section": "5.1",
"requirement": "一般雇用と奴隷の費用/耐性/売却区別",
"source_lines": [
97,
98,
99
],
"current_status": "一部実装・差異あり",
"current_note": "FREE_HIRE/ADULT_CONTRACT/UNIQUEの区分と給与処理あり。 原本の食費のみ・ストレス耐性差・売却ルール一式とは一致を確認できない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "FREE_HIRE/ADULT_CONTRACT/UNIQUEの区分と給与処理あり。",
"gap_or_acceptance": "原本の食費のみ・ストレス耐性差・売却ルール一式とは一致を確認できない。",
"source_evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
}
],
"related_component_tests": [
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-5.2",
"section": "5.2",
"requirement": "体力/ストレス/忠誠/技能/ランダム特性",
"source_lines": [
100,
101,
102,
103
],
"current_status": "一部実装・差異あり",
"current_note": "health/stress/loyalty/技能を保存し、勤務と救護でhealthを使用。 候補20名は固定データ。生成時のランダム特性付与と全職業技能効果が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "health/stress/loyalty/技能を保存し、勤務と救護でhealthを使用。",
"gap_or_acceptance": "候補20名は固定データ。生成時のランダム特性付与と全職業技能効果が不足。",
"source_evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
},
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
}
],
"related_component_tests": [
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd",
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-5.3",
"section": "5.3",
"requirement": "接客/裏方/救護/防衛等の職種",
"source_lines": [
104,
105,
106,
107
],
"current_status": "一部実装・差異あり",
"current_note": "受付・料理・清掃・運搬・医療・警備等の職種と一部実作業を実装。 原本の全職種と専用施設・専用業務を網羅していない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "受付・料理・清掃・運搬・医療・警備等の職種と一部実作業を実装。",
"gap_or_acceptance": "原本の全職種と専用施設・専用業務を網羅していない。",
"source_evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11906,
"symbol": "func _advance_staff_rescue"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11985,
"symbol": "func get_staff_rest_report"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
},
{
"path": "scripts/supply/kitchen_production_service.gd",
"line": 19,
"symbol": "func"
},
{
"path": "scripts/supply/supply_logistics_bridge.gd",
"line": 17,
"symbol": "func"
},
{
"path": "scripts/supply/supply_management_service.gd",
"line": 7,
"symbol": "func"
}
],
"related_component_tests": [
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd",
"tests/staff/test_staff_rescue.gd",
"tests/staff/test_rescue_elevator.gd",
"tests/staff/test_staff_rest.gd",
"tests/staff/test_shift_rush.gd",
"tests/ui/test_staff_rest.gd",
"tests/supply/test_normal_supply_chain.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-5.4",
"section": "5.4",
"requirement": "シフト休息と気絶回収",
"source_lines": [
108,
109,
110
],
"current_status": "検証済み(記載範囲)",
"current_note": "非番は稼働中待機室まで実移動して回復。体力0は回復せずBACK/EV搬送・治療へ。 現行施設で途中保存再開と画面表示を検証済み。宿舎の通常建設は未接続。",
"previous_status": "実装・検証済み(現行施設)",
"status_code": "V",
"implemented": "非番は稼働中待機室まで実移動して回復。体力0は回復せずBACK/EV搬送・治療へ。",
"gap_or_acceptance": "現行施設で途中保存再開と画面表示を検証済み。宿舎の通常建設は未接続。",
"source_evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 11906,
"symbol": "func _advance_staff_rescue"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11985,
"symbol": "func get_staff_rest_report"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
}
],
"related_component_tests": [
"tests/staff/test_staff_rescue.gd",
"tests/staff/test_rescue_elevator.gd",
"tests/staff/test_staff_rest.gd",
"tests/staff/test_shift_rush.gd",
"tests/ui/test_staff_rest.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-5.5",
"section": "5.5",
"requirement": "求人/市場/破産捕獲・退職金/売買価格",
"source_lines": [
111,
112,
113
],
"current_status": "一部実装・差異あり",
"current_note": "求人候補の採用・費用・割当、職員削除/退職APIあり。 市場購入、破産客獲得、退職金、能力による売価と他職員忠誠変化の通常フローが不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "求人候補の採用・費用・割当、職員削除/退職APIあり。",
"gap_or_acceptance": "市場購入、破産客獲得、退職金、能力による売価と他職員忠誠変化の通常フローが不足。",
"source_evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
},
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
}
],
"related_component_tests": [
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd",
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-6.1",
"section": "6.1",
"requirement": "ユニーク無料・高成長・解雇売却不可",
"source_lines": [
115,
116
],
"current_status": "一部実装・差異あり",
"current_note": "UNIQUE区分、unique/unsellableの定義タグあり。 高成長・無料維持の一式と操作禁止の受入がない。remove_staffにはUNIQUE区分による削除拒否がない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "UNIQUE区分、unique/unsellableの定義タグあり。",
"gap_or_acceptance": "高成長・無料維持の一式と操作禁止の受入がない。remove_staffにはUNIQUE区分による削除拒否がない。",
"source_evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
},
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
}
],
"related_component_tests": [
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd",
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-6.2",
"section": "6.2",
"requirement": "7ヒロインの指定固有効果とライバル",
"source_lines": [
117,
118,
119,
120,
121,
122,
123,
124,
125
],
"current_status": "一部実装・差異あり",
"current_note": "ユニークデータはアンリとライのみ。 残り6ヒロイン等が不足。アンリは忍耐減少倍率9000bpの定義であり原本の配置階売上+20%ではない。効果の本番適用も未接続。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "ユニークデータはアンリとライのみ。",
"gap_or_acceptance": "残り6ヒロイン等が不足。アンリは忍耐減少倍率9000bpの定義であり原本の配置階売上+20%ではない。効果の本番適用も未接続。",
"source_evidence": [
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
}
],
"related_component_tests": [
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-6.3",
"section": "6.3",
"requirement": "基礎技能と業務EXP・Lv99",
"source_lines": [
126,
127,
128
],
"current_status": "一部実装・差異あり",
"current_note": "基礎パラメータと技能値はある。 業務EXP→レベル成長→Lv99上限の実行系が不足。MAX_SKILL_VALUE=999はLv99ではない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "基礎パラメータと技能値はある。",
"gap_or_acceptance": "業務EXP→レベル成長→Lv99上限の実行系が不足。MAX_SKILL_VALUE=999はLv99ではない。",
"source_evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
}
],
"related_component_tests": [
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-6.4",
"section": "6.4",
"requirement": "配置パッシブ・任意発動・ルート別スキル",
"source_lines": [
129,
130,
131,
132
],
"current_status": "一部実装・差異あり",
"current_note": "固有效果のデータ枠、防衛スキルAPIがある。 7名の配置パッシブとプレイヤー任意発動、ルート別習得の通常導線が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "固有效果のデータ枠、防衛スキルAPIがある。",
"gap_or_acceptance": "7名の配置パッシブとプレイヤー任意発動、ルート別習得の通常導線が不足。",
"source_evidence": [
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
},
{
"path": "scripts/defense/defense_service.gd",
"line": 79,
"symbol": "func"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 6475,
"symbol": "func _execute_create_defense_raid"
}
],
"related_component_tests": [
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/s5/test_defense_service.gd",
"tests/s5/test_runtime_defense_cycle.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-6.5",
"section": "6.5",
"requirement": "24時間勤務警告・衣装補正・限定離脱",
"source_lines": [
133,
134,
135
],
"current_status": "一部実装・差異あり",
"current_note": "シフト例外・超過勤務・不在状態などの基盤あり。 ユニークの24時間勤務警告/強制継続、衣装補正、原本指定の限定離脱条件まで未完了。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "シフト例外・超過勤務・不在状態などの基盤あり。",
"gap_or_acceptance": "ユニークの24時間勤務警告/強制継続、衣装補正、原本指定の限定離脱条件まで未完了。",
"source_evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
},
{
"path": "scripts/defense/defense_service.gd",
"line": 79,
"symbol": "func"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 6475,
"symbol": "func _execute_create_defense_raid"
}
],
"related_component_tests": [
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd",
"tests/s5/test_defense_service.gd",
"tests/s5/test_runtime_defense_cycle.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-7.1",
"section": "7.1",
"requirement": "三感情・盾・決闘の3ルート運命",
"source_lines": [
137,
138
],
"current_status": "一部実装・差異あり",
"current_note": "関係値・盾・ルート固定・閾値イベントの汎用基盤あり。 原本の3感情と決闘による3ルート全体は未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "関係値・盾・ルート固定・閾値イベントの汎用基盤あり。",
"gap_or_acceptance": "原本の3感情と決闘による3ルート全体は未実装。",
"source_evidence": [
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15,
"symbol": "const METRIC_IDS"
},
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223,
"symbol": "func apply_shield_attack"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7824,
"symbol": "func _advance_relationship_events"
}
],
"related_component_tests": [
"tests/s4/test_relationship_event_service.gd",
"tests/s4/test_runtime_relationship_events.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-7.2",
"section": "7.2",
"requirement": "好感/淫乱/NTR・好感度=盾最大・淫乱軽減",
"source_lines": [
139,
140,
141,
142,
143
],
"current_status": "一部実装・差異あり",
"current_note": "affectionとshield_current/maxはある。 現在の5指標はtrust/respect/affection/fear/dependence。原本のlust/NTR値がなく、好感度=盾最大とlustによる防御低下に不一致。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "affectionとshield_current/maxはある。",
"gap_or_acceptance": "現在の5指標はtrust/respect/affection/fear/dependence。原本のlust/NTR値がなく、好感度=盾最大とlustによる防御低下に不一致。",
"source_evidence": [
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15,
"symbol": "const METRIC_IDS"
},
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223,
"symbol": "func apply_shield_attack"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7824,
"symbol": "func _advance_relationship_events"
}
],
"related_component_tests": [
"tests/s4/test_relationship_event_service.gd",
"tests/s4/test_runtime_relationship_events.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-7.3",
"section": "7.3",
"requirement": "同配置接触→盾破壊→NTR上昇→不可逆陥落",
"source_lines": [
144,
145,
146,
147,
148
],
"current_status": "一部実装・差異あり",
"current_note": "盾攻撃API、配置リスク予測、ルート確認固定APIあり。 通常Tickはイベント期限/候補処理。実配置による自動接触→盾破壊→NTR増加→不可逆陥落の一連の接続がない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "盾攻撃API、配置リスク予測、ルート確認固定APIあり。",
"gap_or_acceptance": "通常Tickはイベント期限/候補処理。実配置による自動接触→盾破壊→NTR増加→不可逆陥落の一連の接続がない。",
"source_evidence": [
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15,
"symbol": "const METRIC_IDS"
},
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223,
"symbol": "func apply_shield_attack"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7824,
"symbol": "func _advance_relationship_events"
},
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
}
],
"related_component_tests": [
"tests/s4/test_relationship_event_service.gd",
"tests/s4/test_runtime_relationship_events.gd",
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-7.4",
"section": "7.4",
"requirement": "3種決闘・勝利追放/隷属/盾回復・敗北確定",
"source_lines": [
149,
150,
151,
152,
153
],
"current_status": "該当機能未実装",
"current_note": "防衛戦はあるが原本の決闘とは別機能。 3種類の決闘と勝敗による指定結果が未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "防衛戦はあるが原本の決闘とは別機能。",
"gap_or_acceptance": "3種類の決闘と勝敗による指定結果が未実装。",
"source_evidence": [
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15,
"symbol": "const METRIC_IDS"
},
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223,
"symbol": "func apply_shield_attack"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7824,
"symbol": "func _advance_relationship_events"
},
{
"path": "scripts/defense/defense_service.gd",
"line": 79,
"symbol": "func"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 6475,
"symbol": "func _execute_create_defense_raid"
}
],
"related_component_tests": [
"tests/s4/test_relationship_event_service.gd",
"tests/s4/test_runtime_relationship_events.gd",
"tests/s5/test_defense_service.gd",
"tests/s5/test_runtime_defense_cycle.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-7.5",
"section": "7.5",
"requirement": "会話/デート/隔離・覗き・薬による各ルート",
"source_lines": [
154,
155,
156,
157
],
"current_status": "一部実装・差異あり",
"current_note": "イベント選択・関係変化・盾回復の部品あり。 原本の各プレイヤーアクションと全ルートイベントを通常UIから進める接続が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "イベント選択・関係変化・盾回復の部品あり。",
"gap_or_acceptance": "原本の各プレイヤーアクションと全ルートイベントを通常UIから進める接続が不足。",
"source_evidence": [
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15,
"symbol": "const METRIC_IDS"
},
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223,
"symbol": "func apply_shield_attack"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7824,
"symbol": "func _advance_relationship_events"
}
],
"related_component_tests": [
"tests/s4/test_relationship_event_service.gd",
"tests/s4/test_runtime_relationship_events.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-7.6",
"section": "7.6",
"requirement": "履歴・妊娠/父親・刻印立ち絵",
"source_lines": [
158,
159,
160,
161
],
"current_status": "該当機能未実装",
"current_note": "汎用フラグはあるが原本専用の履歴・外見システムはない。 指定履歴、妊娠周期・父親判定、立ち絵差分との接続が未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "汎用フラグはあるが原本専用の履歴・外見システムはない。",
"gap_or_acceptance": "指定履歴、妊娠周期・父親判定、立ち絵差分との接続が未実装。",
"source_evidence": [
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15,
"symbol": "const METRIC_IDS"
},
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223,
"symbol": "func apply_shield_attack"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7824,
"symbol": "func _advance_relationship_events"
}
],
"related_component_tests": [
"tests/s4/test_relationship_event_service.gd",
"tests/s4/test_runtime_relationship_events.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-8.1",
"section": "8.1",
"requirement": "隣接/通路必須とLv拡張",
"source_lines": [
163,
164,
165
],
"current_status": "一部実装・差異あり",
"current_note": "支持/隣接、アクセス点・通路判定、max_level/upgrade_costs定義あり。 施設LvUPの通常操作・支払い・能力変化・全解放設定が未完了。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "支持/隣接、アクセス点・通路判定、max_level/upgrade_costs定義あり。",
"gap_or_acceptance": "施設LvUPの通常操作・支払い・能力変化・全解放設定が未完了。",
"source_evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103,
"symbol": "func get_zone"
},
{
"path": "scripts/construction/construction_service.gd",
"line": 56,
"symbol": "func validate_placement"
},
{
"path": "scripts/progression/progression_service.gd",
"line": 143,
"symbol": "func evaluate_rank"
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s1/test_world_service.gd",
"tests/s1/test_construction_service.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-8.2",
"section": "8.2",
"requirement": "表層全施設・飲食と厨房セット",
"source_lines": [
166,
167,
168,
169,
170
],
"current_status": "一部実装・差異あり",
"current_note": "一般客室・食堂・酒場・浴場等と厨房の生産配送を実装。 レストラン/VIP/カジノ/闘技場/礼拝堂等が通常登録されていない。飲食全件の厨房セット条件は未充足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "一般客室・食堂・酒場・浴場等と厨房の生産配送を実装。",
"gap_or_acceptance": "レストラン/VIP/カジノ/闘技場/礼拝堂等が通常登録されていない。飲食全件の厨房セット条件は未充足。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
},
{
"path": "scripts/supply/kitchen_production_service.gd",
"line": 19,
"symbol": "func"
},
{
"path": "scripts/supply/supply_logistics_bridge.gd",
"line": 17,
"symbol": "func"
},
{
"path": "scripts/supply/supply_management_service.gd",
"line": 7,
"symbol": "func"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd",
"tests/supply/test_normal_supply_chain.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-8.3",
"section": "8.3",
"requirement": "裏層全施設と特殊設備",
"source_lines": [
171,
172,
173,
174
],
"current_status": "一部実装・差異あり",
"current_note": "厨房・倉庫・待機室・警備詰所・医務室は通常登録あり。 宿舎は拡張定義のみ。清掃員室・覗き部屋・地下牢・マナ炉が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "厨房・倉庫・待機室・警備詰所・医務室は通常登録あり。",
"gap_or_acceptance": "宿舎は拡張定義のみ。清掃員室・覗き部屋・地下牢・マナ炉が不足。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11906,
"symbol": "func _advance_staff_rescue"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11985,
"symbol": "func get_staff_rest_report"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd",
"tests/staff/test_staff_rescue.gd",
"tests/staff/test_rescue_elevator.gd",
"tests/staff/test_staff_rest.gd",
"tests/staff/test_shift_rush.gd",
"tests/ui/test_staff_rest.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-8.4",
"section": "8.4",
"requirement": "EV/階段/ワープ/通路/職員ドア",
"source_lines": [
175,
176,
177
],
"current_status": "一部実装・差異あり",
"current_note": "2種EV、階段、2層通路、職員ドアあり。 ワープ未実装。通路・職員専用制限は経路試験対象。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "2種EV、階段、2層通路、職員ドアあり。",
"gap_or_acceptance": "ワープ未実装。通路・職員専用制限は経路試験対象。",
"source_evidence": [
{
"path": "scripts/world/path_service.gd",
"line": 938,
"symbol": "func estimate_elevator_wait_cost"
},
{
"path": "scripts/world/path_service.gd",
"line": 1672,
"symbol": "func _heuristic"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s1/test_path_service.gd",
"tests/s1/test_path_congestion.gd",
"tests/transport/test_runtime_transport.gd",
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-8.5",
"section": "8.5",
"requirement": "Lv解放の価格/食材/混浴/ハード/イカサマ設定",
"source_lines": [
178,
179
],
"current_status": "一部実装・差異あり",
"current_note": "価格ポリシー、営業時間/営業状態のUIあり。 レベル解放と食材ランク/混浴/施設別特殊設定が原本一式として未完了。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "価格ポリシー、営業時間/営業状態のUIあり。",
"gap_or_acceptance": "レベル解放と食材ランク/混浴/施設別特殊設定が原本一式として未完了。",
"source_evidence": [
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd",
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-9.1",
"section": "9.1",
"requirement": "表金/裏金・マナ全館停止・資材",
"source_lines": [
181,
182,
183,
184
],
"current_status": "一部実装・差異あり",
"current_note": "Gold/材料/マナ、帳簿、電力不足による施設状態あり。 表金/裏金の独立運用と「マナ枯渇で全館停止」は未充足。Runtimeは出力100の初期マナ源を持つ。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "Gold/材料/マナ、帳簿、電力不足による施設状態あり。",
"gap_or_acceptance": "表金/裏金の独立運用と「マナ枯渇で全館停止」は未充足。Runtimeは出力100の初期マナ源を持つ。",
"source_evidence": [
{
"path": "scripts/economy/economy_service.gd",
"line": 28,
"symbol": "func"
},
{
"path": "scripts/mana/mana_network_service.gd",
"line": 46,
"symbol": "func register_source"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4736,
"symbol": "func _initialize_mana_network"
}
],
"related_component_tests": [
"tests/s2/test_economy_service.gd",
"tests/s2/test_mana_network_service.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-9.2",
"section": "9.2",
"requirement": "全収益/人件費/維持/仕入/借金/ランク税",
"source_lines": [
185,
186,
187,
188
],
"current_status": "一部実装・差異あり",
"current_note": "宿泊飲食売上、給与、仕入れ、建設、罰金等を記帳。 maintenance_goldは定義/検証のみ。日次maintenance/utilities/taxes_and_interestに全施設維持費・借金返済・ランク税を計上する実処理がない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "宿泊飲食売上、給与、仕入れ、建設、罰金等を記帳。",
"gap_or_acceptance": "maintenance_goldは定義/検証のみ。日次maintenance/utilities/taxes_and_interestに全施設維持費・借金返済・ランク税を計上する実処理がない。",
"source_evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 2278,
"symbol": "func _build_operations_daily_financials"
},
{
"path": "scripts/economy/economy_service.gd",
"line": 28,
"symbol": "func"
},
{
"path": "scripts/operations/operations_coordinator.gd",
"line": 143,
"symbol": "func"
},
{
"path": "scripts/supply/kitchen_production_service.gd",
"line": 19,
"symbol": "func"
},
{
"path": "scripts/supply/supply_logistics_bridge.gd",
"line": 17,
"symbol": "func"
},
{
"path": "scripts/supply/supply_management_service.gd",
"line": 7,
"symbol": "func"
}
],
"related_component_tests": [
"tests/mvp/test_original_midnight_settlement.gd",
"tests/mvp/test_runtime_operations_acceptance.gd",
"tests/supply/test_normal_supply_chain.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-9.3",
"section": "9.3",
"requirement": "受付/金庫/購買/闇銀行",
"source_lines": [
189,
190,
191,
192,
193
],
"current_status": "一部実装・差異あり",
"current_note": "受付・精算待ち、購買/自動発注管理の部品あり。 金庫室の上限/盗賊、戦利品買取、闇銀行融資・滞納破壊を施設と通常UIへ接続していない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "受付・精算待ち、購買/自動発注管理の部品あり。",
"gap_or_acceptance": "金庫室の上限/盗賊、戦利品買取、闇銀行融資・滞納破壊を施設と通常UIへ接続していない。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
},
{
"path": "scripts/supply/kitchen_production_service.gd",
"line": 19,
"symbol": "func"
},
{
"path": "scripts/supply/supply_logistics_bridge.gd",
"line": 17,
"symbol": "func"
},
{
"path": "scripts/supply/supply_management_service.gd",
"line": 7,
"symbol": "func"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd",
"tests/supply/test_normal_supply_chain.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-9.4",
"section": "9.4",
"requirement": "依存客の娯楽優先・信用超過の破産拘束",
"source_lines": [
194,
195,
196
],
"current_status": "一部実装・差異あり",
"current_note": "高依存時の生存予算留保0、信用枠/債務を実装。 信用超過→原本の破産イベント/拘束/配置まで未接続。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "高依存時の生存予算留保0、信用枠/債務を実装。",
"gap_or_acceptance": "信用超過→原本の破産イベント/拘束/配置まで未接続。",
"source_evidence": [
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
}
],
"related_component_tests": [
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-10.1",
"section": "10.1",
"requirement": "宿泊施設の寸法/層/ゾーン",
"source_lines": [
198,
199
],
"current_status": "一部実装・差異あり",
"current_note": "一般客室2×1 FRONTは一致。 上級客室は定義3×2で原本4×1と不一致かつ通常未登録。VIP6×2、ドミトリー4×1なし。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "一般客室2×1 FRONTは一致。",
"gap_or_acceptance": "上級客室は定義3×2で原本4×1と不一致かつ通常未登録。VIP6×2、ドミトリー4×1なし。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-10.2",
"section": "10.2",
"requirement": "飲食施設の寸法/層/ゾーン",
"source_lines": [
200,
201
],
"current_status": "一部実装・差異あり",
"current_note": "大衆食堂4×2、酒場4×2 FRONTは寸法一致。 レストラン6×2・屋台2×1なし。騒音定義の実効果不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "大衆食堂4×2、酒場4×2 FRONTは寸法一致。",
"gap_or_acceptance": "レストラン6×2・屋台2×1なし。騒音定義の実効果不足。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-10.3",
"section": "10.3",
"requirement": "衛生/娯楽施設の寸法/層/ゾーン",
"source_lines": [
202,
203
],
"current_status": "一部実装・差異あり",
"current_note": "大浴場6×2 FRONTは寸法一致。 カジノ6×3、闘技場8×4、礼拝堂4×3なし。浴場の覗き機能なし。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "大浴場6×2 FRONTは寸法一致。",
"gap_or_acceptance": "カジノ6×3、闘技場8×4、礼拝堂4×3なし。浴場の覗き機能なし。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-10.4",
"section": "10.4",
"requirement": "アングラ施設の寸法/層/ゾーン",
"source_lines": [
204,
205
],
"current_status": "一部実装・差異あり",
"current_note": "個室2×1 FRONT地下は寸法/層一致。 高級ソープ・SM室なし。闇市場は定義3×2で原本4×2と不一致かつ通常未登録。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "個室2×1 FRONT地下は寸法/層一致。",
"gap_or_acceptance": "高級ソープ・SM室なし。闇市場は定義3×2で原本4×2と不一致かつ通常未登録。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-10.5",
"section": "10.5",
"requirement": "バックヤード施設の寸法/層/ゾーン",
"source_lines": [
206,
207
],
"current_status": "一部実装・差異あり",
"current_note": "厨房4×2・倉庫4×2・待機室4×2・警備2×2・医務4×2 BACKは寸法一致。 従業員寮は定義4×2で原本2×1と不一致かつ通常未登録。清掃員室2×1なし。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "厨房4×2・倉庫4×2・待機室4×2・警備2×2・医務4×2 BACKは寸法一致。",
"gap_or_acceptance": "従業員寮は定義4×2で原本2×1と不一致かつ通常未登録。清掃員室2×1なし。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11906,
"symbol": "func _advance_staff_rescue"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11985,
"symbol": "func get_staff_rest_report"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd",
"tests/staff/test_staff_rescue.gd",
"tests/staff/test_rescue_elevator.gd",
"tests/staff/test_staff_rest.gd",
"tests/staff/test_shift_rush.gd",
"tests/ui/test_staff_rest.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-10.6",
"section": "10.6",
"requirement": "特殊施設の寸法/層/ゾーン",
"source_lines": [
208,
209
],
"current_status": "該当機能未実装",
"current_note": "原本3施設に対応する通常登録・定義なし。 覗き部屋2×1 BACK、地下牢4×2 BACK地下、マナ炉6×3 BACK地下が未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "原本3施設に対応する通常登録・定義なし。",
"gap_or_acceptance": "覗き部屋2×1 BACK、地下牢4×2 BACK地下、マナ炉6×3 BACK地下が未実装。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-10.7",
"section": "10.7",
"requirement": "インフラ/防衛施設の寸法/層/ゾーン",
"source_lines": [
210,
211
],
"current_status": "一部実装・差異あり",
"current_note": "客用EV2×2 FRONT・業務用EV3×2 BACKは一致。 ワープ2×2 FRONT・外壁魔法砲台がない。防衛APIの存在は砲台施設の証拠ではない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "客用EV2×2 FRONT・業務用EV3×2 BACKは一致。",
"gap_or_acceptance": "ワープ2×2 FRONT・外壁魔法砲台がない。防衛APIの存在は砲台施設の証拠ではない。",
"source_evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
},
{
"path": "scripts/world/path_service.gd",
"line": 938,
"symbol": "func estimate_elevator_wait_cost"
},
{
"path": "scripts/world/path_service.gd",
"line": 1672,
"symbol": "func _heuristic"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
}
],
"related_component_tests": [
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd",
"tests/s1/test_path_service.gd",
"tests/s1/test_path_congestion.gd",
"tests/transport/test_runtime_transport.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-11.1",
"section": "11.1",
"requirement": "資源/時間/天候/Rank・下部切替・スクロールズーム",
"source_lines": [
213,
214,
215,
216
],
"current_status": "一部実装・差異あり",
"current_note": "資源/時間/ランク、レイヤー切替、パン/ズームあり。 天候表示、指定下部巨大切替、非選択層の半透明表示まで原本一致ではない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "資源/時間/ランク、レイヤー切替、パン/ズームあり。",
"gap_or_acceptance": "天候表示、指定下部巨大切替、非選択層の半透明表示まで原本一致ではない。",
"source_evidence": [
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
},
{
"path": "scenes/main/world_preview.gd",
"line": 653,
"symbol": "func _prepare_room_presentations"
},
{
"path": "scripts/world/path_service.gd",
"line": 952,
"symbol": "func find_path"
}
],
"related_component_tests": [
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd",
"tests/s1/test_path_service.gd",
"tests/ui/test_pixel_tower.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-11.2",
"section": "11.2",
"requirement": "Policy/ドラッグ配置・欲求/思考/感情グラフ/盾",
"source_lines": [
217,
218,
219
],
"current_status": "一部実装・差異あり",
"current_note": "価格ポリシー、職員割当UI、客四欲求/状態/目的地表示あり。 ドラッグ配置、AI思考履歴、3感情グラフ、盾詳細の通常UIが不足。",
"previous_status": "一部実装・欲求観察UIを追加",
"status_code": "P",
"implemented": "価格ポリシー、職員割当UI、客四欲求/状態/目的地表示あり。",
"gap_or_acceptance": "ドラッグ配置、AI思考履歴、3感情グラフ、盾詳細の通常UIが不足。",
"source_evidence": [
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
},
{
"path": "scripts/staff/staff_runtime.gd",
"line": 29,
"symbol": "enum EmploymentKind"
},
{
"path": "scripts/staff/staff_service.gd",
"line": 453,
"symbol": "func set_work_assignment"
},
{
"path": "scripts/ui/staff_management_panel.gd",
"line": 42,
"symbol": "func"
}
],
"related_component_tests": [
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd",
"tests/s3/test_staff_service.gd",
"tests/s3/test_staff_payroll_operations.gd",
"tests/ui/test_staff_management.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-11.3",
"section": "11.3",
"requirement": "カメラ入口・覗きアングル/撮影/介入",
"source_lines": [
220,
221,
222
],
"current_status": "該当機能未実装",
"current_note": "現在のメインUIに原本の覗き専用導線はない。 カメラ入口、角度、撮影、証拠収集、介入の一式が未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "現在のメインUIに原本の覗き専用導線はない。",
"gap_or_acceptance": "カメラ入口、角度、撮影、証拠収集、介入の一式が未実装。",
"source_evidence": [
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
}
],
"related_component_tests": [
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-11.4",
"section": "11.4",
"requirement": "グリッド/接続警告・フキダシ/ログ・カットイン",
"source_lines": [
223,
224,
225,
226
],
"current_status": "一部実装・差異あり",
"current_note": "グリッド建設プレビュー・警告/状態表示・ログと人物表示あり。 原本指定の全フキダシ、重要イベント/決闘/防衛カットインと接続線警告の全受入は不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "グリッド建設プレビュー・警告/状態表示・ログと人物表示あり。",
"gap_or_acceptance": "原本指定の全フキダシ、重要イベント/決闘/防衛カットインと接続線警告の全受入は不足。",
"source_evidence": [
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
},
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd",
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-12.1",
"section": "12.1",
"requirement": "二面性・高精細ドットとアニメ立ち絵",
"source_lines": [
228,
229,
230
],
"current_status": "一部実装・差異あり",
"current_note": "Kenneyタイルと独自ドット人物で断面図・室内作業を表示。 原本の高品質アニメ立ち絵と二面性表現の完成受入はない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "Kenneyタイルと独自ドット人物で断面図・室内作業を表示。",
"gap_or_acceptance": "原本の高品質アニメ立ち絵と二面性表現の完成受入はない。",
"source_evidence": [
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-12.2",
"section": "12.2",
"requirement": "魔法レンズ風の波紋切替",
"source_lines": [
231,
232
],
"current_status": "該当機能未実装",
"current_note": "レイヤー選択は即時切替。 魔法レンズ風の波紋反転演出が未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "レイヤー選択は即時切替。",
"gap_or_acceptance": "魔法レンズ風の波紋反転演出が未実装。",
"source_evidence": [
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
},
{
"path": "scenes/main/world_preview.gd",
"line": 653,
"symbol": "func _prepare_room_presentations"
},
{
"path": "scripts/world/path_service.gd",
"line": 952,
"symbol": "func find_path"
}
],
"related_component_tests": [
"tests/s1/test_path_service.gd",
"tests/ui/test_pixel_tower.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-12.3",
"section": "12.3",
"requirement": "SD各モーション・立ち絵破損/汚れ/刻印差分",
"source_lines": [
233,
234,
235
],
"current_status": "一部実装・差異あり",
"current_note": "歩行・待機・作業・気絶/搬送/治療・休息のドット表示あり。 原本の全職種専用モーション、立ち絵破損/汚れ/刻印差分は未完成。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "歩行・待機・作業・気絶/搬送/治療・休息のドット表示あり。",
"gap_or_acceptance": "原本の全職種専用モーション、立ち絵破損/汚れ/刻印差分は未完成。",
"source_evidence": [
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11906,
"symbol": "func _advance_staff_rescue"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 11985,
"symbol": "func get_staff_rest_report"
},
{
"path": "scripts/transport/elevator_service.gd",
"line": 178,
"symbol": "func request_pair"
}
],
"related_component_tests": [
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd",
"tests/staff/test_staff_rescue.gd",
"tests/staff/test_rescue_elevator.gd",
"tests/staff/test_staff_rest.gd",
"tests/staff/test_shift_rush.gd",
"tests/ui/test_staff_rest.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-12.4",
"section": "12.4",
"requirement": "表裏UIスキン・BGMクロスフェード・環境音/SE",
"source_lines": [
236,
237,
238,
239
],
"current_status": "一部実装・差異あり",
"current_note": "昼夜/レイヤーの色調変化あり。 羊皮紙/黒鉄の完成スキン、表裏BGMクロスフェード、環境音/SEの実再生なし。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "昼夜/レイヤーの色調変化あり。",
"gap_or_acceptance": "羊皮紙/黒鉄の完成スキン、表裏BGMクロスフェード、環境音/SEの実再生なし。",
"source_evidence": [
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
},
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
}
],
"related_component_tests": [
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd",
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-13.1",
"section": "13.1",
"requirement": "立ち絵/CG/差分",
"source_lines": [
241,
242,
243
],
"current_status": "該当機能未実装",
"current_note": "キャラクターデータはあるが指定イラスト一式はない。 メイン/サブ立ち絵、衣装/表情/ルート差分・イベントCGの制作と接続が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "キャラクターデータはあるが指定イラスト一式はない。",
"gap_or_acceptance": "メイン/サブ立ち絵、衣装/表情/ルート差分・イベントCGの制作と接続が不足。",
"source_evidence": [
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
},
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-13.2",
"section": "13.2",
"requirement": "SDモーション/エフェクト",
"source_lines": [
244,
245,
246
],
"current_status": "一部実装・差異あり",
"current_note": "ドット人物と一部状態モーションあり。 原本が求める全モーションと盾/煙/マナ等の全演出資産は未完成。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "ドット人物と一部状態モーションあり。",
"gap_or_acceptance": "原本が求める全モーションと盾/煙/マナ等の全演出資産は未完成。",
"source_evidence": [
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-13.3",
"section": "13.3",
"requirement": "Lv1〜3表裏タイル/背景",
"source_lines": [
247,
248
],
"current_status": "一部実装・差異あり",
"current_note": "現行施設内装・背景・タイル素材あり。 全施設Lv1〜3の表裏外観/内装差分とLvUP表示接続が不足。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "現行施設内装・背景・タイル素材あり。",
"gap_or_acceptance": "全施設Lv1〜3の表裏外観/内装差分とLvUP表示接続が不足。",
"source_evidence": [
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 28,
"symbol": "const FACILITY_PATHS"
},
{
"path": "scripts/data/facility_definition.gd",
"line": 32,
"symbol": "@export var footprint"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 386,
"symbol": "FacilityCatalog.FACILITY_PATHS"
}
],
"related_component_tests": [
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd",
"tests/s0/test_definition_registry.gd",
"tests/s1/test_runtime_world_construction.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-13.4",
"section": "13.4",
"requirement": "表裏スキン/感情/覗き素材",
"source_lines": [
249,
250
],
"current_status": "一部実装・差異あり",
"current_note": "現行管理UI・ボタン・欲求バー等あり。 表裏スキン完成版、3感情グラフ、専用カメラオーバーレイなし。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "P",
"implemented": "現行管理UI・ボタン・欲求バー等あり。",
"gap_or_acceptance": "表裏スキン完成版、3感情グラフ、専用カメラオーバーレイなし。",
"source_evidence": [
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
},
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
}
],
"related_component_tests": [
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd",
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-13.5",
"section": "13.5",
"requirement": "BGM/環境/操作/成人向けSE/声",
"source_lines": [
251,
252
],
"current_status": "該当機能未実装",
"current_note": "assets内にogg/wav/mp3がなく、本体コードにAudioStreamPlayer参照がない。 動的BGM、環境/操作SE、ボイス等の同梱・再生が未実装。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "M",
"implemented": "assets内にogg/wav/mp3がなく、本体コードにAudioStreamPlayer参照がない。",
"gap_or_acceptance": "動的BGM、環境/操作SE、ボイス等の同梱・再生が未実装。",
"source_evidence": [
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-14.1",
"section": "14.1",
"requirement": "2026/03〜08 プロトタイプ",
"source_lines": [
255
],
"current_status": "工程要件・完了未認定",
"current_note": "MVP相当の開業ループと試験は存在する。 工程要件。2026/03〜08の納期達成や当時の受入完了を現在コードからは認定できない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "N",
"implemented": "MVP相当の開業ループと試験は存在する。",
"gap_or_acceptance": "工程要件。2026/03〜08の納期達成や当時の受入完了を現在コードからは認定できない。",
"source_evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103,
"symbol": "func get_zone"
},
{
"path": "scripts/construction/construction_service.gd",
"line": 56,
"symbol": "func validate_placement"
},
{
"path": "scripts/progression/progression_service.gd",
"line": 143,
"symbol": "func evaluate_rank"
},
{
"path": "scripts/guest/guest_runtime.gd",
"line": 34,
"symbol": "var wallet_gold"
},
{
"path": "scripts/guest/guest_service.gd",
"line": 1367,
"symbol": "func _primary_need_priority"
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7723,
"symbol": "func _advance_guest"
},
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/s1/test_world_service.gd",
"tests/s1/test_construction_service.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/s3/test_guest_service.gd",
"tests/s3/test_runtime_actor_cycle.gd",
"tests/ui/test_guest_observation.gd",
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-14.2",
"section": "14.2",
"requirement": "2026/09〜2027/02 アルファ",
"source_lines": [
256
],
"current_status": "工程要件・完了未認定",
"current_note": "パラメータ基盤あり。現日はアルファ予定期間内。 量産素材・シナリオ・通常BGMの工程完了は未達。機能完了数に混ぜない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "N",
"implemented": "パラメータ基盤あり。現日はアルファ予定期間内。",
"gap_or_acceptance": "量産素材・シナリオ・通常BGMの工程完了は未達。機能完了数に混ぜない。",
"source_evidence": [
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
},
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-14.3",
"section": "14.3",
"requirement": "2027/03〜08 ベータ/成人向け",
"source_lines": [
257
],
"current_status": "工程要件・完了未認定",
"current_note": "原本に将来工程として記載。 2027/03〜08の完成条件であり、現在完了扱いにしない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "N",
"implemented": "原本に将来工程として記載。",
"gap_or_acceptance": "2027/03〜08の完成条件であり、現在完了扱いにしない。",
"source_evidence": [
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 33,
"symbol": "const REQUIRED_COUNTS"
},
{
"path": "data/characters/mvp_unique_characters.json",
"line": 16,
"symbol": "\"mechanical_effects\""
},
{
"path": "autoload/simulation_runtime.gd",
"line": 4895,
"symbol": "func _initialize_s4_relationship_events"
},
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/mvp/test_mvp_content_catalog.gd",
"tests/mvp/test_runtime_content_progression.gd",
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
},
{
"id": "B-14.4",
"section": "14.4",
"requirement": "2027/09〜12 ポリッシュ",
"source_lines": [
258
],
"current_status": "工程要件・完了未認定",
"current_note": "デバッグ・性能確認の実施記録はある。 2027/09〜12のマスターアップ工程全体の承認証拠はない。個別PASSで代替しない。",
"previous_status": "未完了・現行版の全受入未確認",
"status_code": "N",
"implemented": "デバッグ・性能確認の実施記録はある。",
"gap_or_acceptance": "2027/09〜12のマスターアップ工程全体の承認証拠はない。個別PASSで代替しない。",
"source_evidence": [
{
"path": "scenes/main/main.gd",
"line": 13,
"symbol": "const MVP_FACILITY_IDS"
},
{
"path": "scripts/ui/guest_observation_panel.gd",
"line": 15,
"symbol": "func"
},
{
"path": "scripts/ui/business_management_panel.gd",
"line": 171,
"symbol": "func submit_policy"
},
{
"path": "scripts/ui/pixel_people.gd",
"line": 10,
"symbol": "func"
},
{
"path": "scripts/ui/pixel_tower_art.gd",
"line": 13,
"symbol": "func"
},
{
"path": "scenes/main/world_preview.gd",
"line": 468,
"symbol": "func _draw_background"
}
],
"related_component_tests": [
"tests/ui/test_main_dashboard.gd",
"tests/ui/test_business_management.gd",
"tests/ui/test_guest_observation.gd",
"tests/ui/test_pixel_tower.gd",
"tests/ui/test_room_presentation.gd"
],
"audit_date": "2026-09-29",
"audit_report": "audit-2026-09-29/TRACEABILITY.md"
}
]