From 7645c55149d3bebf3ed602cf3039b15b28fa376f Mon Sep 17 00:00:00 2001 From: Agent Control Runner Date: Tue, 13 Oct 2026 03:38:23 +0900 Subject: [PATCH 1/3] =?UTF-8?q?P13-03:=20=E5=86=85=E5=AE=B9=E5=B7=AE?= =?UTF-8?q?=E7=95=B0=E3=81=AE=E8=A8=98=E9=8C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../execution/p13-03/DIFFERENCE_LEDGER.md | 351 + .../execution/p13-03/P13_SPEC_HASH_CONTEXT.md | 14 + .../execution/p13-03/difference-ledger.json | 7708 +++++++++++++++++ .../execution/p13-03/validation.json | 464 + tools/check_p13_content_difference.py | 302 + 5 files changed, 8839 insertions(+) create mode 100644 docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md create mode 100644 docs/plans/original-completion-2026-10-02/execution/p13-03/P13_SPEC_HASH_CONTEXT.md create mode 100644 docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json create mode 100644 docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json create mode 100644 tools/check_p13_content_difference.py diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md b/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md new file mode 100644 index 0000000..e7043df --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md @@ -0,0 +1,351 @@ +# P13-03 内容差異台帳 + +記録の提出であり、ゲーム内容・P13パッケージの完成認定ではない。原30パッケージ/88成果、部分点なし。原子・状態台帳は変更しない。 + +通常入口、Runtime、イベント状態、保存、試験はすべて静的観測・未検証。汎用処理は原施設固有の接続や完成素材を証明しない。 + +施設の原典IDは旧対応表の1始まりの位置を保持する。現行の data/facilities 全定義とカタログを名前・既存IDで再検索した。マナ制御室をマナ炉に代用しない。 + +|原典ID|章|原典名|現行定義候補|使用スロット数|完成素材・原内容| +|---|---|---|---|---|---| +|original_facility_13|10.4|風俗個室|adult_private_room|12|未検証| +|original_facility_14|10.4|高級ソープ|対象検索範囲で欠落|12|未検証| +|original_facility_15|10.4|SM拷問室|対象検索範囲で欠落|12|未検証| +|original_facility_16|10.4|闇市場|black_market|12|未検証| +|original_facility_24|10.6|覗き部屋|対象検索範囲で欠落|12|未検証| +|original_facility_25|10.6|地下牢|対象検索範囲で欠落|12|未検証| +|original_facility_26|10.6|マナ炉|対象検索範囲で欠落|12|未検証| + +風俗個室は通常UIリストとRuntime読込元に候補がある。闇市場は拡張定義のみで通常読込元に含まれない。他の5施設は対象定義集合で対応が見つからない。実行・保存再開・施設固有イベントの受入は未検証。 + +## 施設別の観測と使用スロット + +### original_facility_13 / 風俗個室 + +- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. + - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: 53 + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: 25, 44 +- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: 25, 44 + - `data/facilities/adult_private_room.tres` SHA256 `d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d`; matched lines: 8 +- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none + - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none +- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 + - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 +- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. + - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none + - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none + - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none + +使用スロット(すべて unverified_required_slot、approved_asset=null): + +- `adult_private_room.lv1.front.exterior` +- `adult_private_room.lv1.front.interior` +- `adult_private_room.lv1.back.exterior` +- `adult_private_room.lv1.back.interior` +- `adult_private_room.lv2.front.exterior` +- `adult_private_room.lv2.front.interior` +- `adult_private_room.lv2.back.exterior` +- `adult_private_room.lv2.back.interior` +- `adult_private_room.lv3.front.exterior` +- `adult_private_room.lv3.front.interior` +- `adult_private_room.lv3.back.exterior` +- `adult_private_room.lv3.back.interior` + +実制作資産数はunknown/null。スロット数を画像数に転用しない。 + +### original_facility_14 / 高級ソープ + +- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. + - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none + - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none +- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 + - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 +- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. + - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none + - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none + - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none + +使用スロット(すべて unverified_required_slot、approved_asset=null): + +- `original_facility_14.lv1.front.exterior` +- `original_facility_14.lv1.front.interior` +- `original_facility_14.lv1.back.exterior` +- `original_facility_14.lv1.back.interior` +- `original_facility_14.lv2.front.exterior` +- `original_facility_14.lv2.front.interior` +- `original_facility_14.lv2.back.exterior` +- `original_facility_14.lv2.back.interior` +- `original_facility_14.lv3.front.exterior` +- `original_facility_14.lv3.front.interior` +- `original_facility_14.lv3.back.exterior` +- `original_facility_14.lv3.back.interior` + +実制作資産数はunknown/null。スロット数を画像数に転用しない。 + +### original_facility_15 / SM拷問室 + +- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. + - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none + - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none +- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 + - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 +- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. + - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none + - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none + - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none + +使用スロット(すべて unverified_required_slot、approved_asset=null): + +- `original_facility_15.lv1.front.exterior` +- `original_facility_15.lv1.front.interior` +- `original_facility_15.lv1.back.exterior` +- `original_facility_15.lv1.back.interior` +- `original_facility_15.lv2.front.exterior` +- `original_facility_15.lv2.front.interior` +- `original_facility_15.lv2.back.exterior` +- `original_facility_15.lv2.back.interior` +- `original_facility_15.lv3.front.exterior` +- `original_facility_15.lv3.front.interior` +- `original_facility_15.lv3.back.exterior` +- `original_facility_15.lv3.back.interior` + +実制作資産数はunknown/null。スロット数を画像数に転用しない。 + +### original_facility_16 / 闇市場 + +- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. + - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: 81, 100 +- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: 81, 100 + - `data/facilities/expansion/black_market.tres` SHA256 `c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42`; matched lines: 7 +- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none + - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none +- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 + - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 +- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. + - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none + - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none + - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none + +使用スロット(すべて unverified_required_slot、approved_asset=null): + +- `black_market.lv1.front.exterior` +- `black_market.lv1.front.interior` +- `black_market.lv1.back.exterior` +- `black_market.lv1.back.interior` +- `black_market.lv2.front.exterior` +- `black_market.lv2.front.interior` +- `black_market.lv2.back.exterior` +- `black_market.lv2.back.interior` +- `black_market.lv3.front.exterior` +- `black_market.lv3.front.interior` +- `black_market.lv3.back.exterior` +- `black_market.lv3.back.interior` + +実制作資産数はunknown/null。スロット数を画像数に転用しない。 + +### original_facility_24 / 覗き部屋 + +- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. + - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none + - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none +- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 + - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 +- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. + - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none + - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none + - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none + +使用スロット(すべて unverified_required_slot、approved_asset=null): + +- `original_facility_24.lv1.front.exterior` +- `original_facility_24.lv1.front.interior` +- `original_facility_24.lv1.back.exterior` +- `original_facility_24.lv1.back.interior` +- `original_facility_24.lv2.front.exterior` +- `original_facility_24.lv2.front.interior` +- `original_facility_24.lv2.back.exterior` +- `original_facility_24.lv2.back.interior` +- `original_facility_24.lv3.front.exterior` +- `original_facility_24.lv3.front.interior` +- `original_facility_24.lv3.back.exterior` +- `original_facility_24.lv3.back.interior` + +実制作資産数はunknown/null。スロット数を画像数に転用しない。 + +### original_facility_25 / 地下牢 + +- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. + - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none + - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none +- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 + - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 +- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. + - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none + - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none + - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none + +使用スロット(すべて unverified_required_slot、approved_asset=null): + +- `original_facility_25.lv1.front.exterior` +- `original_facility_25.lv1.front.interior` +- `original_facility_25.lv1.back.exterior` +- `original_facility_25.lv1.back.interior` +- `original_facility_25.lv2.front.exterior` +- `original_facility_25.lv2.front.interior` +- `original_facility_25.lv2.back.exterior` +- `original_facility_25.lv2.back.interior` +- `original_facility_25.lv3.front.exterior` +- `original_facility_25.lv3.front.interior` +- `original_facility_25.lv3.back.exterior` +- `original_facility_25.lv3.back.interior` + +実制作資産数はunknown/null。スロット数を画像数に転用しない。 + +### original_facility_26 / マナ炉 + +- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. + - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 + - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none +- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none + - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none +- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. + - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 + - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 +- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. + - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none + - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none + - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none + +使用スロット(すべて unverified_required_slot、approved_asset=null): + +- `original_facility_26.lv1.front.exterior` +- `original_facility_26.lv1.front.interior` +- `original_facility_26.lv1.back.exterior` +- `original_facility_26.lv1.back.interior` +- `original_facility_26.lv2.front.exterior` +- `original_facility_26.lv2.front.interior` +- `original_facility_26.lv2.back.exterior` +- `original_facility_26.lv2.back.interior` +- `original_facility_26.lv3.front.exterior` +- `original_facility_26.lv3.front.interior` +- `original_facility_26.lv3.back.exterior` +- `original_facility_26.lv3.back.interior` + +実制作資産数はunknown/null。スロット数を画像数に転用しない。 + +## 施設外の内容差異 + +- `P13-03.event` (B-1.6, B-2.5, B-8.2, B-8.3): Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown. +- `P13-03.overlay` (B-2.5): Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown. +- `P13-03.history` (B-1.6): Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown. +- `P13-03.story` (B-1.6): Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown. +- `P13-03.voice` (B-1.6): Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown. +- `P13-03.scene` (B-1.6): Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown. + +event/overlay/history/story/voice/scene の内容ID・数量・受入はunknownまたは未検証。D08(内容範囲)/D09(品質・量・担当・権利)は未決定。中立メタデータのみを記録し、場面は制作・描写しない。 + +## 出典・適用範囲 + +機械台帳に各観測の検索語・一致行・本文・実SHAを保持する。旧対応表は原典識別に利用し、現行対応は再検索で記録する。素材台帳は使用スロットと候補の証拠のみ。inventory_summaryの290 media files、0 audio files、360 slots、0 approved assetsは既存監査の限定集計であり、最終必要量を示さない。 + +- `docs/traceability/original/BASELINE.txt` / current_checkout / SHA256 `75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a` +- `docs/plans/original-completion-2026-10-02/work_packages.json` / base_git_blob / SHA256 `bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af` +- `docs/plans/original-completion-2026-10-02/work_packages.json` / current_checkout / SHA256 `bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af` +- `docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json` / current_checkout / SHA256 `df0c933220449c8bb3e0fd942ad6f1dee49075abdd6587c4856022e12e3665cf` +- `docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json` / current_checkout / SHA256 `56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491` +- `docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json` / current_checkout / SHA256 `298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9` +- `docs/plans/original-completion-2026-10-02/decisions.json` / current_checkout / SHA256 `ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9` +- `autoload/simulation_runtime.gd` / current_checkout / SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39` +- `data/facilities/adult_private_room.tres` / current_checkout / SHA256 `d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d` +- `data/facilities/cafeteria.tres` / current_checkout / SHA256 `86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a` +- `data/facilities/expansion/black_market.tres` / current_checkout / SHA256 `c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42` +- `data/facilities/expansion/chapel.tres` / current_checkout / SHA256 `9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb` +- `data/facilities/expansion/cleaning_room.tres` / current_checkout / SHA256 `ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8` +- `data/facilities/expansion/clinic.tres` / current_checkout / SHA256 `339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16` +- `data/facilities/expansion/cold_storage.tres` / current_checkout / SHA256 `1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99` +- `data/facilities/expansion/general_store.tres` / current_checkout / SHA256 `76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1` +- `data/facilities/expansion/guild_counter.tres` / current_checkout / SHA256 `93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b` +- `data/facilities/expansion/laundry.tres` / current_checkout / SHA256 `2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4` +- `data/facilities/expansion/maintenance_workshop.tres` / current_checkout / SHA256 `8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b` +- `data/facilities/expansion/mana_control_room.tres` / current_checkout / SHA256 `55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25` +- `data/facilities/expansion/premium_room.tres` / current_checkout / SHA256 `6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98` +- `data/facilities/expansion/private_bath.tres` / current_checkout / SHA256 `241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c` +- `data/facilities/expansion/secret_tavern.tres` / current_checkout / SHA256 `f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62` +- `data/facilities/expansion/staff_dormitory.tres` / current_checkout / SHA256 `8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271` +- `data/facilities/expansion/tea_lounge.tres` / current_checkout / SHA256 `77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67` +- `data/facilities/expansion/underground_guest_room.tres` / current_checkout / SHA256 `cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e` +- `data/facilities/expansion/vip_private_salon.tres` / current_checkout / SHA256 `1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7` +- `data/facilities/expansion/waste_processing.tres` / current_checkout / SHA256 `9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d` +- `data/facilities/guest_corridor.tres` / current_checkout / SHA256 `d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b` +- `data/facilities/guest_elevator.tres` / current_checkout / SHA256 `ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7` +- `data/facilities/infrastructure/guest_stairs.tres` / current_checkout / SHA256 `757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6` +- `data/facilities/infrastructure/service_stairs.tres` / current_checkout / SHA256 `637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c` +- `data/facilities/kitchen.tres` / current_checkout / SHA256 `38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3` +- `data/facilities/massage_room.tres` / current_checkout / SHA256 `75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85` +- `data/facilities/public_bath.tres` / current_checkout / SHA256 `8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778` +- `data/facilities/reception.tres` / current_checkout / SHA256 `bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f` +- `data/facilities/rescue/infirmary.tres` / current_checkout / SHA256 `c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943` +- `data/facilities/security_station.tres` / current_checkout / SHA256 `69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3` +- `data/facilities/service_corridor.tres` / current_checkout / SHA256 `5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254` +- `data/facilities/service_elevator.tres` / current_checkout / SHA256 `35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132` +- `data/facilities/staff_door.tres` / current_checkout / SHA256 `a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752` +- `data/facilities/staff_waiting_room.tres` / current_checkout / SHA256 `5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f` +- `data/facilities/standard_room.tres` / current_checkout / SHA256 `89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336` +- `data/facilities/tavern.tres` / current_checkout / SHA256 `eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c` +- `data/facilities/warehouse.tres` / current_checkout / SHA256 `d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791` +- `scenes/main/main.gd` / current_checkout / SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3` +- `scripts/core/save_service.gd` / current_checkout / SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617` +- `scripts/data/facility_catalog.gd` / current_checkout / SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29` +- `scripts/events/event_definition.gd` / current_checkout / SHA256 `4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2` +- `scripts/events/event_service.gd` / current_checkout / SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103` +- `scripts/ui/event_log_dialog.gd` / current_checkout / SHA256 `62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290` +- `tests/s2/test_facility_service.gd` / current_checkout / SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690` +- `tests/s4/test_runtime_relationship_events.gd` / current_checkout / SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3` +- `tests/s6/test_runtime_snapshot_serialization.gd` / current_checkout / SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84` + +## 検証・統合条件 + +`python3 tools/check_p13_content_difference.py --negative-checks` は記録整合性と欠落・重複・古いpin・誤完成・技術から内容への昇格・unknownのゼロ化等の拒否を検証する。worker試験は未実行。Runner正式validatorと別セッションの正式Claudeレビュー合格後にのみ統合できる。 + +Runtime/native/Windows/engine/full game regressionは記録だけの変更に適用外(製品コード・資産・保存形式・値の変更なし)。この適用外をゲームの合格に転用しない。Kenney・fallback・mockup・コード候補・ファイル存在・状態試験から完成資産を推定しない。 diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_SPEC_HASH_CONTEXT.md b/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_SPEC_HASH_CONTEXT.md new file mode 100644 index 0000000..4080ea2 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_SPEC_HASH_CONTEXT.md @@ -0,0 +1,14 @@ +# P13-03 executor input: unchanged specification SHA conventions + +This is root-supplied execution context, not worker implementation, accepted output, a policy change, or an extra repair allowance. Read before treating the spec hash as changed. + +Runner runner/core.py git(repo, ...) returns subprocess stdout.strip(); registration hashes git show text after that strip. For the identical P13-03.json bytes in production and the managed checkout: + +- raw file SHA256: 917cf1504bbfc700e0da42b2db496b42486fe3c36c680f301f58cf34c95267b6 +- Runner text SHA256 (UTF-8 decode, strip, encode): e1255835c1227e02bac42eb99b026b0fcbe69c272f9ed0b36199a2daf8d55c53 + +The second matches the unchanged contract spec_sha256. All six source_pins matched the initial worker read. Nothing in spec, original rules, input files or contract has changed. Record raw and Runner hashes as different named fields; do not compare raw file SHA against Runner text SHA. + +The frozen input/work_packages.json is the plan snapshot at contract base e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1. Plan status naturally changes during a delivery, so preserve/verify that input against its actual base Git blob with its raw SHA, and separately record current source applicability. Do not pretend a baseline pin is a current-live plan hash. Actual original/asset/source files must still match their recorded applicability; stale source and false content completion are rejected. + +Implement only the existing immutable P13-03 spec and allowed paths. This context adds no game policy or number. Required checker and negative cases, actual difference ledger, independent formal review and integration remain. No engine, full regression, new assets or original atom completion edits. Do not treat this context as the deliverable ledger. diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json b/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json new file mode 100644 index 0000000..9bb4b55 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json @@ -0,0 +1,7708 @@ +{ + "schema_version": 1, + "task_id": "P13-03", + "acceptance_ids": [ + "P13-03" + ], + "requirement_ids": [ + "B-1.6", + "B-2.5", + "B-8.2", + "B-8.3", + "B-10.4", + "B-10.6" + ], + "validation_ids": [ + "p13-difference" + ], + "base_commit": "e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1", + "spec_raw_sha256": "917cf1504bbfc700e0da42b2db496b42486fe3c36c680f301f58cf34c95267b6", + "spec_runner_text_sha256": "e1255835c1227e02bac42eb99b026b0fcbe69c272f9ed0b36199a2daf8d55c53", + "scope": "Existing original P13-03 documentation/accounting delivery. This does not implement or accept P13-01/P13-02, sexual scenes, original game completion, numerical mana choices or Windows acceptance.", + "sources": [ + { + "path": "docs/traceability/original/BASELINE.txt", + "sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", + "applicability": "current_checkout" + }, + { + "path": "docs/plans/original-completion-2026-10-02/work_packages.json", + "sha256": "bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af", + "applicability": "base_git_blob", + "commit": "e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1" + }, + { + "path": "docs/plans/original-completion-2026-10-02/work_packages.json", + "sha256": "bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af", + "applicability": "current_checkout", + "scope": "Live plan snapshot; its status is not this worker acceptance." + }, + { + "path": "docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json", + "sha256": "df0c933220449c8bb3e0fd942ad6f1dee49075abdd6587c4856022e12e3665cf", + "applicability": "current_checkout" + }, + { + "path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "applicability": "current_checkout" + }, + { + "path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json", + "sha256": "298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9", + "applicability": "current_checkout" + }, + { + "path": "docs/plans/original-completion-2026-10-02/decisions.json", + "sha256": "ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9", + "applicability": "current_checkout" + }, + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/events/event_definition.gd", + "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/ui/event_log_dialog.gd", + "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + } + ], + "facilities": [ + { + "original_id": "original_facility_13", + "original": { + "section": "10.4", + "name": "風俗個室", + "definition_id": "adult_private_room", + "original_size": "2x1", + "original_layer_zone": "FRONT地下" + }, + "mapping_observation": { + "status": "unverified", + "accepted": false, + "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", + "evidence": [ + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [ + { + "line": 25, + "text": "\t&\"adult_private_room\"," + }, + { + "line": 44, + "text": "\t\"res://data/facilities/adult_private_room.tres\"," + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [ + { + "line": 8, + "text": "id = &\"adult_private_room\"" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "current_definition_ids": [ + "adult_private_room" + ], + "current_definition_paths": [ + "data/facilities/adult_private_room.tres" + ], + "connections": { + "normal_entry": { + "status": "unverified", + "accepted": false, + "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", + "evidence": [ + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [ + { + "line": 53, + "text": "\t&\"adult_private_room\"," + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [ + { + "line": 25, + "text": "\t&\"adult_private_room\"," + }, + { + "line": 44, + "text": "\t\"res://data/facilities/adult_private_room.tres\"," + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "runtime": { + "status": "unverified", + "accepted": false, + "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "風俗個室", + "adult_private_room", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 437, + "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "風俗個室", + "adult_private_room", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 25, + "text": "\t&\"adult_private_room\"," + }, + { + "line": 44, + "text": "\t\"res://data/facilities/adult_private_room.tres\"," + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "searched_tokens": [ + "風俗個室", + "adult_private_room", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 8, + "text": "id = &\"adult_private_room\"" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "event_state": { + "status": "unverified", + "accepted": false, + "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "save": { + "status": "unverified", + "accepted": false, + "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "風俗個室", + "adult_private_room", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 555, + "text": "\t\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2012, + "text": "\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2221, + "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" + }, + { + "line": 4602, + "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "searched_tokens": [ + "風俗個室", + "adult_private_room", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 29, + "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" + }, + { + "line": 37, + "text": "\tvar result := _save_snapshot_absolute(" + }, + { + "line": 145, + "text": "\tvar candidate := _save_snapshot_absolute(" + }, + { + "line": 673, + "text": "static func _save_snapshot_absolute(" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "test": { + "status": "unverified", + "accepted": false, + "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", + "evidence": [ + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "searched_tokens": [ + "風俗個室", + "adult_private_room" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + "media_usage_slots": [ + { + "slot_id": "adult_private_room.lv1.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv1.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 1, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv1.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv1.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 1, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv1.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv1.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 1, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv1.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv1.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 1, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv2.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv2.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 2, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv2.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv2.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 2, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv2.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv2.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 2, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv2.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv2.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 2, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv3.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv3.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 3, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv3.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv3.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 3, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv3.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv3.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 3, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "adult_private_room.lv3.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "adult_private_room.lv3.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "風俗個室", + "definition_id": "adult_private_room", + "level": 3, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": "scripts/ui/pixel_tower_art.gd", + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + } + ], + "actual_required_asset_count": null, + "actual_required_asset_count_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false + }, + { + "original_id": "original_facility_14", + "original": { + "section": "10.4", + "name": "高級ソープ", + "definition_id": null, + "original_size": "4x2", + "original_layer_zone": "FRONT地下" + }, + "mapping_observation": { + "status": "unverified", + "accepted": false, + "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", + "evidence": [ + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "current_definition_ids": [], + "current_definition_paths": [], + "connections": { + "normal_entry": { + "status": "unverified", + "accepted": false, + "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", + "evidence": [ + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "runtime": { + "status": "unverified", + "accepted": false, + "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "高級ソープ", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 437, + "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "高級ソープ", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "event_state": { + "status": "unverified", + "accepted": false, + "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "save": { + "status": "unverified", + "accepted": false, + "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "高級ソープ", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 555, + "text": "\t\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2012, + "text": "\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2221, + "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" + }, + { + "line": 4602, + "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "searched_tokens": [ + "高級ソープ", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 29, + "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" + }, + { + "line": 37, + "text": "\tvar result := _save_snapshot_absolute(" + }, + { + "line": 145, + "text": "\tvar candidate := _save_snapshot_absolute(" + }, + { + "line": 673, + "text": "static func _save_snapshot_absolute(" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "test": { + "status": "unverified", + "accepted": false, + "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", + "evidence": [ + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "searched_tokens": [ + "高級ソープ" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + "media_usage_slots": [ + { + "slot_id": "original_facility_14.lv1.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv1.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv1.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv1.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv1.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv1.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv1.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv1.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv2.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv2.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv2.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv2.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv2.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv2.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv2.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv2.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv3.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv3.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv3.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv3.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv3.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv3.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_14.lv3.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_14.lv3.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "高級ソープ", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + } + ], + "actual_required_asset_count": null, + "actual_required_asset_count_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false + }, + { + "original_id": "original_facility_15", + "original": { + "section": "10.4", + "name": "SM拷問室", + "definition_id": null, + "original_size": "4x2", + "original_layer_zone": "FRONT地下" + }, + "mapping_observation": { + "status": "unverified", + "accepted": false, + "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", + "evidence": [ + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "current_definition_ids": [], + "current_definition_paths": [], + "connections": { + "normal_entry": { + "status": "unverified", + "accepted": false, + "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", + "evidence": [ + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "runtime": { + "status": "unverified", + "accepted": false, + "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "SM拷問室", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 437, + "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "SM拷問室", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "event_state": { + "status": "unverified", + "accepted": false, + "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "save": { + "status": "unverified", + "accepted": false, + "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "SM拷問室", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 555, + "text": "\t\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2012, + "text": "\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2221, + "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" + }, + { + "line": 4602, + "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "searched_tokens": [ + "SM拷問室", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 29, + "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" + }, + { + "line": 37, + "text": "\tvar result := _save_snapshot_absolute(" + }, + { + "line": 145, + "text": "\tvar candidate := _save_snapshot_absolute(" + }, + { + "line": 673, + "text": "static func _save_snapshot_absolute(" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "test": { + "status": "unverified", + "accepted": false, + "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", + "evidence": [ + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "searched_tokens": [ + "SM拷問室" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + "media_usage_slots": [ + { + "slot_id": "original_facility_15.lv1.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv1.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv1.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv1.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv1.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv1.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv1.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv1.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv2.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv2.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv2.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv2.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv2.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv2.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv2.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv2.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv3.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv3.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv3.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv3.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv3.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv3.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_15.lv3.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_15.lv3.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "SM拷問室", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + } + ], + "actual_required_asset_count": null, + "actual_required_asset_count_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false + }, + { + "original_id": "original_facility_16", + "original": { + "section": "10.4", + "name": "闇市場", + "definition_id": "black_market", + "original_size": "4x2", + "original_layer_zone": "FRONT地下" + }, + "mapping_observation": { + "status": "unverified", + "accepted": false, + "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", + "evidence": [ + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [ + { + "line": 81, + "text": "\t&\"black_market\"," + }, + { + "line": 100, + "text": "\t\"res://data/facilities/expansion/black_market.tres\"," + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [ + { + "line": 7, + "text": "id = &\"black_market\"" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "current_definition_ids": [ + "black_market" + ], + "current_definition_paths": [ + "data/facilities/expansion/black_market.tres" + ], + "connections": { + "normal_entry": { + "status": "unverified", + "accepted": false, + "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", + "evidence": [ + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [ + { + "line": 81, + "text": "\t&\"black_market\"," + }, + { + "line": 100, + "text": "\t\"res://data/facilities/expansion/black_market.tres\"," + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "runtime": { + "status": "unverified", + "accepted": false, + "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "闇市場", + "black_market", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 437, + "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "闇市場", + "black_market", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 81, + "text": "\t&\"black_market\"," + }, + { + "line": 100, + "text": "\t\"res://data/facilities/expansion/black_market.tres\"," + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "searched_tokens": [ + "闇市場", + "black_market", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 7, + "text": "id = &\"black_market\"" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "event_state": { + "status": "unverified", + "accepted": false, + "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "save": { + "status": "unverified", + "accepted": false, + "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "闇市場", + "black_market", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 555, + "text": "\t\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2012, + "text": "\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2221, + "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" + }, + { + "line": 4602, + "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "searched_tokens": [ + "闇市場", + "black_market", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 29, + "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" + }, + { + "line": 37, + "text": "\tvar result := _save_snapshot_absolute(" + }, + { + "line": 145, + "text": "\tvar candidate := _save_snapshot_absolute(" + }, + { + "line": 673, + "text": "static func _save_snapshot_absolute(" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "test": { + "status": "unverified", + "accepted": false, + "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", + "evidence": [ + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "searched_tokens": [ + "闇市場", + "black_market" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + "media_usage_slots": [ + { + "slot_id": "black_market.lv1.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv1.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 1, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv1.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv1.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 1, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv1.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv1.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 1, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv1.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv1.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 1, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv2.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv2.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 2, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv2.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv2.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 2, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv2.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv2.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 2, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv2.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv2.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 2, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv3.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv3.front.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 3, + "layer": "front", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv3.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv3.front.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 3, + "layer": "front", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv3.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv3.back.exterior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 3, + "layer": "back", + "surface": "exterior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "black_market.lv3.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "black_market.lv3.back.interior", + "requirement": [ + "B-13.3", + "B-10.4" + ], + "facility_name": "闇市場", + "definition_id": "black_market", + "level": 3, + "layer": "back", + "surface": "interior", + "original_placement": "FRONT地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + } + ], + "actual_required_asset_count": null, + "actual_required_asset_count_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false + }, + { + "original_id": "original_facility_24", + "original": { + "section": "10.6", + "name": "覗き部屋", + "definition_id": null, + "original_size": "2x1", + "original_layer_zone": "BACK" + }, + "mapping_observation": { + "status": "unverified", + "accepted": false, + "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", + "evidence": [ + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "current_definition_ids": [], + "current_definition_paths": [], + "connections": { + "normal_entry": { + "status": "unverified", + "accepted": false, + "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", + "evidence": [ + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "runtime": { + "status": "unverified", + "accepted": false, + "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "覗き部屋", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 437, + "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "覗き部屋", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "event_state": { + "status": "unverified", + "accepted": false, + "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "save": { + "status": "unverified", + "accepted": false, + "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "覗き部屋", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 555, + "text": "\t\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2012, + "text": "\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2221, + "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" + }, + { + "line": 4602, + "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "searched_tokens": [ + "覗き部屋", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 29, + "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" + }, + { + "line": 37, + "text": "\tvar result := _save_snapshot_absolute(" + }, + { + "line": 145, + "text": "\tvar candidate := _save_snapshot_absolute(" + }, + { + "line": 673, + "text": "static func _save_snapshot_absolute(" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "test": { + "status": "unverified", + "accepted": false, + "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", + "evidence": [ + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "searched_tokens": [ + "覗き部屋" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + "media_usage_slots": [ + { + "slot_id": "original_facility_24.lv1.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv1.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv1.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv1.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "interior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv1.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv1.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv1.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv1.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "interior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv2.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv2.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv2.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv2.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "interior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv2.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv2.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv2.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv2.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "interior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv3.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv3.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv3.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv3.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "interior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv3.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv3.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_24.lv3.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_24.lv3.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "覗き部屋", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "interior", + "original_placement": "BACK", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + } + ], + "actual_required_asset_count": null, + "actual_required_asset_count_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false + }, + { + "original_id": "original_facility_25", + "original": { + "section": "10.6", + "name": "地下牢", + "definition_id": null, + "original_size": "4x2", + "original_layer_zone": "BACK地下" + }, + "mapping_observation": { + "status": "unverified", + "accepted": false, + "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", + "evidence": [ + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "current_definition_ids": [], + "current_definition_paths": [], + "connections": { + "normal_entry": { + "status": "unverified", + "accepted": false, + "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", + "evidence": [ + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "runtime": { + "status": "unverified", + "accepted": false, + "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "地下牢", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 437, + "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "地下牢", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "event_state": { + "status": "unverified", + "accepted": false, + "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "save": { + "status": "unverified", + "accepted": false, + "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "地下牢", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 555, + "text": "\t\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2012, + "text": "\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2221, + "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" + }, + { + "line": 4602, + "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "searched_tokens": [ + "地下牢", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 29, + "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" + }, + { + "line": 37, + "text": "\tvar result := _save_snapshot_absolute(" + }, + { + "line": 145, + "text": "\tvar candidate := _save_snapshot_absolute(" + }, + { + "line": 673, + "text": "static func _save_snapshot_absolute(" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "test": { + "status": "unverified", + "accepted": false, + "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", + "evidence": [ + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "searched_tokens": [ + "地下牢" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + "media_usage_slots": [ + { + "slot_id": "original_facility_25.lv1.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv1.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv1.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv1.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv1.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv1.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv1.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv1.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv2.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv2.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv2.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv2.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv2.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv2.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv2.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv2.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv3.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv3.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv3.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv3.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv3.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv3.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_25.lv3.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_25.lv3.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "地下牢", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + } + ], + "actual_required_asset_count": null, + "actual_required_asset_count_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false + }, + { + "original_id": "original_facility_26", + "original": { + "section": "10.6", + "name": "マナ炉", + "definition_id": null, + "original_size": "6x3", + "original_layer_zone": "BACK地下" + }, + "mapping_observation": { + "status": "unverified", + "accepted": false, + "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", + "evidence": [ + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "current_definition_ids": [], + "current_definition_paths": [], + "connections": { + "normal_entry": { + "status": "unverified", + "accepted": false, + "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", + "evidence": [ + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "runtime": { + "status": "unverified", + "accepted": false, + "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "マナ炉", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [ + { + "line": 437, + "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "searched_tokens": [ + "マナ炉", + "FacilityCatalog.FACILITY_PATHS" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "event_state": { + "status": "unverified", + "accepted": false, + "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "save": { + "status": "unverified", + "accepted": false, + "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", + "evidence": [ + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "searched_tokens": [ + "マナ炉", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 555, + "text": "\t\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2012, + "text": "\t\t&\"events\": event_service.create_snapshot()," + }, + { + "line": 2221, + "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" + }, + { + "line": 4602, + "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "searched_tokens": [ + "マナ炉", + "event_service.create_snapshot()", + "save_snapshot" + ], + "matches": [ + { + "line": 29, + "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" + }, + { + "line": 37, + "text": "\tvar result := _save_snapshot_absolute(" + }, + { + "line": 145, + "text": "\tvar candidate := _save_snapshot_absolute(" + }, + { + "line": 673, + "text": "static func _save_snapshot_absolute(" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + }, + "test": { + "status": "unverified", + "accepted": false, + "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", + "evidence": [ + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "searched_tokens": [ + "マナ炉" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + "media_usage_slots": [ + { + "slot_id": "original_facility_26.lv1.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv1.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv1.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv1.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 1, + "layer": "front", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv1.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv1.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv1.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv1.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 1, + "layer": "back", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv2.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv2.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv2.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv2.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 2, + "layer": "front", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv2.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv2.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv2.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv2.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 2, + "layer": "back", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv3.front.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv3.front.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv3.front.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv3.front.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 3, + "layer": "front", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv3.back.exterior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv3.back.exterior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "exterior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + }, + { + "slot_id": "original_facility_26.lv3.back.interior", + "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "source_record": { + "slot_id": "original_facility_26.lv3.back.interior", + "requirement": [ + "B-13.3", + "B-10.6" + ], + "facility_name": "マナ炉", + "definition_id": null, + "level": 3, + "layer": "back", + "surface": "interior", + "original_placement": "BACK地下", + "creator": "unassigned", + "status": "unverified_required_slot", + "approved_asset": null, + "existing_candidate": null, + "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." + }, + "status": "unverified_required_slot", + "approved_asset": null, + "content_complete": false + } + ], + "actual_required_asset_count": null, + "actual_required_asset_count_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false + } + ], + "nonfacility_differences": [ + { + "difference_id": "P13-03.event", + "category": "event", + "requirement_ids": [ + "B-1.6", + "B-2.5", + "B-8.2", + "B-8.3" + ], + "authority_path": "docs/traceability/original/BASELINE.txt", + "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", + "related_original_sections": [ + "1.6", + "2.5", + "8.2", + "8.3", + "10.4", + "10.6", + "13", + "14" + ], + "content_ids": null, + "content_ids_status": "unknown", + "quantity": null, + "quantity_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false, + "decisions": [ + "D08", + "D09" + ], + "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", + "technical_observation": { + "status": "unverified", + "accepted": false, + "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", + "evidence": [ + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "event" + ], + "matches": [ + { + "line": 4, + "text": "## Deterministic event candidate queue, foreground actor locking and transactional" + }, + { + "line": 11, + "text": "signal event_registered(definition: EventDefinition)" + }, + { + "line": 12, + "text": "signal event_enqueued(instance: EventInstance)" + }, + { + "line": 13, + "text": "signal event_started(instance: EventInstance)" + }, + { + "line": 14, + "text": "signal event_finished(instance: EventInstance)" + }, + { + "line": 15, + "text": "signal event_cancelled(instance: EventInstance, reason: StringName)" + }, + { + "line": 18, + "text": "const EventDefinitionType = preload(\"res://scripts/events/event_definition.gd\")" + }, + { + "line": 19, + "text": "const EventInstanceType = preload(\"res://scripts/events/event_instance.gd\")" + }, + { + "line": 20, + "text": "const EventActionType = preload(\"res://scripts/events/event_action.gd\")" + }, + { + "line": 39, + "text": "var _next_event_sequence := 1" + }, + { + "line": 78, + "text": "## a queued event acquires actors or executes actions. It is rebuilt on restore." + }, + { + "line": 125, + "text": "\tif _definitions.has(definition.event_id):" + }, + { + "line": 126, + "text": "\t\treturn _invalid(\"Duplicate EventDefinition: %s\" % definition.event_id)" + }, + { + "line": 127, + "text": "\t_definitions[definition.event_id] = definition" + }, + { + "line": 128, + "text": "\tevent_registered.emit(definition)" + }, + { + "line": 130, + "text": "\treturn _success({&\"event_id\": definition.event_id})" + }, + { + "line": 133, + "text": "func create_definition(event_id: StringName, options: Dictionary = {}) -> CommandResult:" + }, + { + "line": 134, + "text": "\treturn register_definition(EventDefinitionType.new().configure(event_id, options))" + }, + { + "line": 137, + "text": "func get_definition(event_id: StringName) -> EventDefinition:" + }, + { + "line": 138, + "text": "\treturn _definitions.get(event_id) as EventDefinition" + }, + { + "line": 143, + "text": "\tfor event_id: StringName in _sorted_name_keys(_definitions):" + }, + { + "line": 144, + "text": "\t\tresult.append(_definitions[event_id])" + }, + { + "line": 152, + "text": "\t\t\terrors.append(\"Invalid definition: %s\" % definition.event_id)" + }, + { + "line": 154, + "text": "\t\t\tif not _definitions.has(definition.replacement_event_id):" + }, + { + "line": 155, + "text": "\t\t\t\terrors.append(\"Replacement missing: %s -> %s\" % [definition.event_id, definition.replacement_event_id])" + }, + { + "line": 156, + "text": "\t\t\telif _replacement_cycle_exists(definition.event_id):" + }, + { + "line": 157, + "text": "\t\t\t\terrors.append(\"Replacement cycle: %s\" % definition.event_id)" + }, + { + "line": 161, + "text": "func resolve_content_event(event_id: StringName) -> Dictionary:" + }, + { + "line": 162, + "text": "\tvar source := get_definition(event_id)" + }, + { + "line": 168, + "text": "\t\t\t&\"event_id\": event_id," + }, + { + "line": 178, + "text": "\t\t\t\t&\"event_id\": event_id," + }, + { + "line": 182, + "text": "\t\t\tvar replacement := get_definition(source.replacement_event_id)" + }, + { + "line": 183, + "text": "\t\t\tif replacement == null or replacement.event_id == source.event_id:" + }, + { + "line": 189, + "text": "\t\t\t\t&\"event_id\": replacement.event_id," + }, + { + "line": 198, + "text": "\tevent_id: StringName," + }, + { + "line": 203, + "text": "\tvar source := get_definition(event_id)" + }, + { + "line": 205, + "text": "\t\treturn _not_found(\"EventDefinition\", event_id)" + }, + { + "line": 208, + "text": "\tvar content_resolution := resolve_content_event(event_id)" + }, + { + "line": 211, + "text": "\tvar resolved_event_id := StringName(content_resolution[&\"event_id\"])" + }, + { + "line": 212, + "text": "\tvar definition := get_definition(resolved_event_id)" + }, + { + "line": 219, + "text": "\t\t_default_deduplication_key(event_id, normalized_actor_ids)" + }, + { + "line": 228, + "text": "\tvar instance_id := StringName(_value(options, &\"event_instance_id\", &\"\"))" + }, + { + "line": 231, + "text": "\t\tinstance_id = StringName(\"event_instance_%08d\" % _next_event_sequence)" + }, + { + "line": 243, + "text": "\t\treturn _invalid(\"Event candidate is prevented by placement protection.\", {&\"reason\": &\"PLACEMENT_PROTECTION\"})" + }, + { + "line": 246, + "text": "\t\tevent_id," + }, + { + "line": 247, + "text": "\t\tresolved_event_id," + }, + { + "line": 262, + "text": "\t\t_next_event_sequence += 1" + }, + { + "line": 264, + "text": "\tevent_enqueued.emit(instance)" + }, + { + "line": 267, + "text": "\t\t&\"event_instance_id\": instance_id," + }, + { + "line": 268, + "text": "\t\t&\"resolved_event_id\": resolved_event_id," + }, + { + "line": 273, + "text": "func start_next_event(absolute_minute: int, extra_context: Dictionary = {}) -> CommandResult:" + }, + { + "line": 282, + "text": "\t\t\t&\"event_instance_id\": _foreground_instance_id," + }, + { + "line": 290, + "text": "\t\tvar definition := get_definition(instance.resolved_event_id)" + }, + { + "line": 301, + "text": "\t\tvar original_definition := get_definition(instance.source_event_id)" + }, + { + "line": 310, + "text": "\t\t\t_foreground_instance_id = instance.event_instance_id" + }, + { + "line": 311, + "text": "\t\tevent_started.emit(instance)" + }, + { + "line": 337, + "text": "\t\t\t\t&\"event_instance_id\": instance.event_instance_id," + }, + { + "line": 346, + "text": "\t\t\t&\"event_instance_id\": instance.event_instance_id," + }, + { + "line": 358, + "text": "\t\tvar definition := get_definition(instance.resolved_event_id)" + }, + { + "line": 370, + "text": "\t\t\t&\"event_instance_id\": instance_id," + }, + { + "line": 379, + "text": "\tevent_instance_id: StringName," + }, + { + "line": 385, + "text": "\tvar result := _reserve_choice_cost_inside_transaction(event_instance_id, choice_id, absolute_minute, extra_context)" + }, + { + "line": 391, + "text": "\tevent_instance_id: StringName," + }, + { + "line": 396, + "text": "\tvar instance := get_instance(event_instance_id)" + }, + { + "line": 398, + "text": "\t\treturn _not_found(\"EventInstance\", event_instance_id)" + }, + { + "line": 401, + "text": "\tvar definition := get_definition(instance.resolved_event_id)" + }, + { + "line": 430, + "text": "\tevent_instance_id: StringName," + }, + { + "line": 437, + "text": "\tvar result := _submit_choice_inside_transaction(event_instance_id, choice_instance_id, choice_id, absolute_minute, extra_context)" + }, + { + "line": 443, + "text": "\tevent_instance_id: StringName," + }, + { + "line": 453, + "text": "\tvar instance := get_instance(event_instance_id)" + }, + { + "line": 455, + "text": "\t\treturn _not_found(\"EventInstance\", event_instance_id)" + }, + { + "line": 460, + "text": "\tvar definition := get_definition(instance.resolved_event_id)" + }, + { + "line": 477, + "text": "\t\tvar reserve_result := reserve_choice_cost(event_instance_id, choice_id, absolute_minute, extra_context)" + }, + { + "line": 543, + "text": "\t\t&\"event_instance_id\": event_instance_id," + }, + { + "line": 551, + "text": "\tchoice_resolved.emit(event_instance_id, choice_id, result.to_dictionary())" + }, + { + "line": 564, + "text": "\t\tvar definition := get_definition(instance.resolved_event_id)" + }, + { + "line": 567, + "text": "\t\t\t&\"event_instance_id\": instance.event_instance_id," + }, + { + "line": 574, + "text": "func cancel_event(event_instance_id: StringName, reason: StringName = &\"CANCELLED\") -> CommandResult:" + }, + { + "line": 575, + "text": "\tvar instance := get_instance(event_instance_id)" + }, + { + "line": 577, + "text": "\t\treturn _not_found(\"EventInstance\", event_instance_id)" + }, + { + "line": 584, + "text": "\treturn _success({&\"event_instance_id\": event_instance_id})" + }, + { + "line": 587, + "text": "func get_instance(event_instance_id: StringName) -> EventInstance:" + }, + { + "line": 588, + "text": "\treturn _instances.get(event_instance_id) as EventInstance" + }, + { + "line": 631, + "text": "\t\tif not instance.is_valid() or not _definitions.has(instance.resolved_event_id):" + }, + { + "line": 632, + "text": "\t\t\terrors.append(\"Invalid EventInstance: %s\" % instance.event_instance_id)" + }, + { + "line": 663, + "text": "\t\t&\"next_event_sequence\": _next_event_sequence," + }, + { + "line": 685, + "text": "\t_next_event_sequence = parsed[&\"next_event_sequence\"]" + }, + { + "line": 698, + "text": "## this routine never invents actors, events, choices, or route ownership." + }, + { + "line": 716, + "text": "\t\tif raw_instance is Dictionary and StringName(_value(raw_instance, &\"event_instance_id\", &\"\")) == foreground_id:" + }, + { + "line": 784, + "text": "\t\tif not instance.is_valid() or instances.has(instance.event_instance_id) or not _definitions.has(instance.resolved_event_id):" + }, + { + "line": 786, + "text": "\t\tinstances[instance.event_instance_id] = instance" + }, + { + "line": 820, + "text": "\tvar next_event := int(_value(snapshot, &\"next_event_sequence\", 0))" + }, + { + "line": 822, + "text": "\tif next_event < 1 or next_choice < 1:" + }, + { + "line": 851, + "text": "\t\t&\"next_event_sequence\": next_event," + }, + { + "line": 986, + "text": "\t\t\tvar event_id := StringName(_value(action.payload, &\"event_id\", &\"\"))" + }, + { + "line": 987, + "text": "\t\t\tif event_id.is_empty() or not _definitions.has(event_id):" + }, + { + "line": 988, + "text": "\t\t\t\treturn {&\"ok\": false, &\"error\": \"SCHEDULE_EVENT references an unknown event.\"}" + }, + { + "line": 993, + "text": "\t\t\t\t\tevent_id," + }, + { + "line": 998, + "text": "\t\t\t\treturn {&\"ok\": result.is_success(), &\"error\": result.message, &\"token\": result.details.get(&\"event_instance_id\", &\"\")}" + }, + { + "line": 1051, + "text": "\t\t\t\tbool(_value(action.payload, &\"irreversible_event\", false))" + }, + { + "line": 1087, + "text": "\t\t\t\t_actor_locks[replacement_id] = instance.event_instance_id" + }, + { + "line": 1113, + "text": "\t\t_actor_locks[actor_id] = instance.event_instance_id" + }, + { + "line": 1119, + "text": "\t\tif _actor_locks.get(actor_id, &\"\") == instance.event_instance_id:" + }, + { + "line": 1121, + "text": "\tif _foreground_instance_id == instance.event_instance_id:" + }, + { + "line": 1127, + "text": "\t_queue.erase(instance.event_instance_id)" + }, + { + "line": 1147, + "text": "\t\tvar source := get_definition(instance.source_event_id)" + }, + { + "line": 1151, + "text": "\t\t\t\t_completed_scope_keys[scope_key] = instance.event_instance_id" + }, + { + "line": 1152, + "text": "\t\tevent_finished.emit(instance)" + }, + { + "line": 1160, + "text": "\t\tevent_cancelled.emit(instance, &\"COST_RELEASE_FAILED\")" + }, + { + "line": 1165, + "text": "\tevent_cancelled.emit(instance, reason)" + }, + { + "line": 1243, + "text": "\tresult[&\"event_instance_id\"] = instance.event_instance_id" + }, + { + "line": 1257, + "text": "func _replacement_cycle_exists(event_id: StringName) -> bool:" + }, + { + "line": 1259, + "text": "\tvar current_id := event_id" + }, + { + "line": 1267, + "text": "\t\tcurrent_id = definition.replacement_event_id" + }, + { + "line": 1274, + "text": "\t\t\treturn StringName(\"save:%s\" % definition.event_id)" + }, + { + "line": 1276, + "text": "\t\t\treturn StringName(\"day:%s:%d\" % [definition.event_id, absolute_minute / 1_440])" + }, + { + "line": 1278, + "text": "\t\t\treturn StringName(\"pair:%s:%s\" % [definition.event_id, \",\".join(_names_to_strings(actor_ids))])" + }, + { + "line": 1297, + "text": "\t\t\treturn String(a.event_instance_id) < String(b.event_instance_id)" + }, + { + "line": 1301, + "text": "static func _default_deduplication_key(event_id: StringName, actor_ids: Array[StringName]) -> StringName:" + }, + { + "line": 1302, + "text": "\treturn StringName(\"%s:%s\" % [event_id, \",\".join(_names_to_strings(actor_ids))])" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_definition.gd", + "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", + "searched_tokens": [ + "event" + ], + "matches": [ + { + "line": 4, + "text": "const EventConditionType = preload(\"res://scripts/events/event_condition.gd\")" + }, + { + "line": 5, + "text": "const EventActionType = preload(\"res://scripts/events/event_action.gd\")" + }, + { + "line": 6, + "text": "const EventChoiceType = preload(\"res://scripts/events/event_choice.gd\")" + }, + { + "line": 41, + "text": "var event_id: StringName = &\"\"" + }, + { + "line": 55, + "text": "var replacement_event_id: StringName = &\"\"" + }, + { + "line": 64, + "text": "func configure(p_event_id: StringName, options: Dictionary = {}) -> EventDefinition:" + }, + { + "line": 65, + "text": "\tevent_id = p_event_id" + }, + { + "line": 79, + "text": "\treplacement_event_id = StringName(_value(options, &\"replacement_event_id\", &\"\"))" + }, + { + "line": 90, + "text": "\tif event_id.is_empty() or category.is_empty():" + }, + { + "line": 92, + "text": "\tif filter_behavior == FilterBehavior.REPLACE and replacement_event_id.is_empty():" + }, + { + "line": 94, + "text": "\tif replacement_event_id == event_id:" + }, + { + "line": 129, + "text": "\t\t&\"event_id\": String(event_id)," + }, + { + "line": 143, + "text": "\t\t&\"replacement_event_id\": String(replacement_event_id)," + }, + { + "line": 174, + "text": "\t\tStringName(_value(raw_value, &\"event_id\", &\"\"))," + } + ], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/ui/event_log_dialog.gd", + "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", + "searched_tokens": [ + "event" + ], + "matches": [ + { + "line": 4, + "text": "## View the existing retained event stream. No catalog membership, unlock," + }, + { + "line": 100, + "text": "var _event_list: ItemList" + }, + { + "line": 105, + "text": "var _selected_event_id := \"\"" + }, + { + "line": 124, + "text": "\t_event_list = ItemList.new()" + }, + { + "line": 125, + "text": "\t_event_list.name = \"EventLogList\"" + }, + { + "line": 126, + "text": "\t_event_list.custom_minimum_size.y = 150" + }, + { + "line": 127, + "text": "\t_event_list.size_flags_vertical = Control.SIZE_EXPAND_FILL" + }, + { + "line": 128, + "text": "\t_event_list.item_selected.connect(_select_row)" + }, + { + "line": 129, + "text": "\tcolumn.add_child(_event_list)" + }, + { + "line": 147, + "text": "func show_events() -> void:" + }, + { + "line": 154, + "text": "func get_event_rows() -> Array[Dictionary]:" + }, + { + "line": 158, + "text": "\tvar stream: Variant = _runtime.get(\"domain_events\")" + }, + { + "line": 159, + "text": "\tif stream == null or not stream.has_method(\"recent_events\"):" + }, + { + "line": 161, + "text": "\tfor event: SimulationDomainEvent in stream.recent_events():" + }, + { + "line": 162, + "text": "\t\trows.append(event.to_dictionary())" + }, + { + "line": 166, + "text": "func get_selected_event() -> Dictionary:" + }, + { + "line": 168, + "text": "\t\tif String(row[\"event_id\"]) == _selected_event_id:" + }, + { + "line": 174, + "text": "\tif _event_list == null:" + }, + { + "line": 176, + "text": "\t_rows = get_event_rows()" + }, + { + "line": 177, + "text": "\t_event_list.clear()" + }, + { + "line": 181, + "text": "\t\tvar presentation := get_event_presentation(row)" + }, + { + "line": 182, + "text": "\t\t_event_list.add_item(\"%s %s — %s\" % [presentation[&\"time\"], presentation[&\"title\"], presentation[&\"targets\"]])" + }, + { + "line": 183, + "text": "\t\t_event_list.set_item_tooltip(index, presentation[&\"supplement\"])" + }, + { + "line": 184, + "text": "\t\t_event_list.set_item_metadata(index, String(row[\"event_id\"]))" + }, + { + "line": 185, + "text": "\t\tif String(row[\"event_id\"]) == _selected_event_id:" + }, + { + "line": 191, + "text": "\t\t_event_list.select(selected_index)" + }, + { + "line": 194, + "text": "\t\t_selected_event_id = \"\"" + }, + { + "line": 202, + "text": "\t_selected_event_id = String(row[\"event_id\"])" + }, + { + "line": 203, + "text": "\tvar presentation := get_event_presentation(row)" + }, + { + "line": 214, + "text": "func get_event_presentation(row: Dictionary) -> Dictionary:" + }, + { + "line": 229, + "text": "\t\t&\"title\": String(EVENT_NAMES.get(StringName(row.get(\"event_type\", \"\")), \"未識別の記録\"))," + }, + { + "line": 233, + "text": "\t\t\trow.get(\"event_id\", \"\"), row.get(\"event_type\", \"\")," + }, + { + "line": 279, + "text": "\t_event_list.add_theme_stylebox_override(\"panel\", _skin_box(Color(\"f4e3bd\"), &\"panel_parchment\"))" + }, + { + "line": 282, + "text": "\t\t_event_list.add_theme_stylebox_override(key, _skin_box(Color(\"65452d\"), &\"button_pressed\"))" + }, + { + "line": 312, + "text": "\tif _event_list != null:" + }, + { + "line": 313, + "text": "\t\t_event_list.add_theme_color_override(\"font_color\", Color(\"d8eeea\") if layer == 1 else Color(\"55371e\"))" + }, + { + "line": 314, + "text": "\t\t_event_list.add_theme_color_override(\"font_selected_color\", Color(\"fff0cf\"))" + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + { + "difference_id": "P13-03.overlay", + "category": "overlay", + "requirement_ids": [ + "B-2.5" + ], + "authority_path": "docs/traceability/original/BASELINE.txt", + "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", + "related_original_sections": [ + "1.6", + "2.5", + "8.2", + "8.3", + "10.4", + "10.6", + "13", + "14" + ], + "content_ids": null, + "content_ids_status": "unknown", + "quantity": null, + "quantity_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false, + "decisions": [ + "D08", + "D09" + ], + "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", + "technical_observation": { + "status": "unverified", + "accepted": false, + "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", + "evidence": [ + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "overlay" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_definition.gd", + "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", + "searched_tokens": [ + "overlay" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/ui/event_log_dialog.gd", + "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", + "searched_tokens": [ + "overlay" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + { + "difference_id": "P13-03.history", + "category": "history", + "requirement_ids": [ + "B-1.6" + ], + "authority_path": "docs/traceability/original/BASELINE.txt", + "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", + "related_original_sections": [ + "1.6", + "2.5", + "8.2", + "8.3", + "10.4", + "10.6", + "13", + "14" + ], + "content_ids": null, + "content_ids_status": "unknown", + "quantity": null, + "quantity_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false, + "decisions": [ + "D08", + "D09" + ], + "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", + "technical_observation": { + "status": "unverified", + "accepted": false, + "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", + "evidence": [ + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "history" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_definition.gd", + "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", + "searched_tokens": [ + "history" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/ui/event_log_dialog.gd", + "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", + "searched_tokens": [ + "history" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + { + "difference_id": "P13-03.story", + "category": "story", + "requirement_ids": [ + "B-1.6" + ], + "authority_path": "docs/traceability/original/BASELINE.txt", + "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", + "related_original_sections": [ + "1.6", + "2.5", + "8.2", + "8.3", + "10.4", + "10.6", + "13", + "14" + ], + "content_ids": null, + "content_ids_status": "unknown", + "quantity": null, + "quantity_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false, + "decisions": [ + "D08", + "D09" + ], + "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", + "technical_observation": { + "status": "unverified", + "accepted": false, + "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", + "evidence": [ + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "story" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_definition.gd", + "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", + "searched_tokens": [ + "story" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/ui/event_log_dialog.gd", + "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", + "searched_tokens": [ + "story" + ], + "matches": [ + { + "line": 211, + "text": "## This is presentation of existing notification facts, not a story catalog." + } + ], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + { + "difference_id": "P13-03.voice", + "category": "voice", + "requirement_ids": [ + "B-1.6" + ], + "authority_path": "docs/traceability/original/BASELINE.txt", + "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", + "related_original_sections": [ + "1.6", + "2.5", + "8.2", + "8.3", + "10.4", + "10.6", + "13", + "14" + ], + "content_ids": null, + "content_ids_status": "unknown", + "quantity": null, + "quantity_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false, + "decisions": [ + "D08", + "D09" + ], + "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", + "technical_observation": { + "status": "unverified", + "accepted": false, + "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", + "evidence": [ + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "voice" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_definition.gd", + "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", + "searched_tokens": [ + "voice" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/ui/event_log_dialog.gd", + "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", + "searched_tokens": [ + "voice" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + }, + { + "difference_id": "P13-03.scene", + "category": "scene", + "requirement_ids": [ + "B-1.6" + ], + "authority_path": "docs/traceability/original/BASELINE.txt", + "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", + "related_original_sections": [ + "1.6", + "2.5", + "8.2", + "8.3", + "10.4", + "10.6", + "13", + "14" + ], + "content_ids": null, + "content_ids_status": "unknown", + "quantity": null, + "quantity_status": "unknown", + "completed_asset_acceptance": "unverified", + "original_content_completion": "unverified", + "technical_as_content_credit": false, + "decisions": [ + "D08", + "D09" + ], + "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", + "technical_observation": { + "status": "unverified", + "accepted": false, + "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", + "evidence": [ + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "searched_tokens": [ + "scene" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/events/event_definition.gd", + "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", + "searched_tokens": [ + "scene" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + }, + { + "path": "scripts/ui/event_log_dialog.gd", + "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", + "searched_tokens": [ + "scene" + ], + "matches": [], + "scope": "Static search of this file only; no execution or acceptance." + } + ] + } + } + ], + "unknowns": { + "D08": "unknown", + "D09": "unknown", + "final_content_ids": null, + "final_content_quantity": null, + "final_actual_asset_count": null + }, + "accounting": { + "packages": 30, + "delivery_units": 88, + "no_partial_credit": true, + "package_completion_inferred": false, + "original_views_edited": false, + "content_completion_inferred": false, + "technical_as_content_credit": false + }, + "asset_policy": "Usage slots are not image counts. Fallback, Kenney pack, mockup, candidate token, file existence and technical tests confer no content credit.", + "test_applicability": { + "runtime": { + "status": "not_applicable", + "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." + }, + "native": { + "status": "not_applicable", + "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." + }, + "Windows": { + "status": "not_applicable", + "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." + }, + "engine": { + "status": "not_applicable", + "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." + }, + "full_game_regression": { + "status": "not_applicable", + "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." + } + }, + "formal_validation": "pending_runner", + "formal_claude_review": "pending_runner", + "integration_gate": "Required p13-difference validator and separate formal Claude review must pass before integration." +} diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json b/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json new file mode 100644 index 0000000..3ff64a3 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json @@ -0,0 +1,464 @@ +{ + "task_id": "P13-03", + "acceptance_ids": [ + "P13-03" + ], + "validation_ids": [ + "p13-difference" + ], + "requirement_ids": [ + "B-1.6", + "B-2.5", + "B-8.2", + "B-8.3", + "B-10.4", + "B-10.6" + ], + "facility_ids": [ + "original_facility_13", + "original_facility_14", + "original_facility_15", + "original_facility_16", + "original_facility_24", + "original_facility_25", + "original_facility_26" + ], + "slot_ids": [ + "adult_private_room.lv1.front.exterior", + "adult_private_room.lv1.front.interior", + "adult_private_room.lv1.back.exterior", + "adult_private_room.lv1.back.interior", + "adult_private_room.lv2.front.exterior", + "adult_private_room.lv2.front.interior", + "adult_private_room.lv2.back.exterior", + "adult_private_room.lv2.back.interior", + "adult_private_room.lv3.front.exterior", + "adult_private_room.lv3.front.interior", + "adult_private_room.lv3.back.exterior", + "adult_private_room.lv3.back.interior", + "original_facility_14.lv1.front.exterior", + "original_facility_14.lv1.front.interior", + "original_facility_14.lv1.back.exterior", + "original_facility_14.lv1.back.interior", + "original_facility_14.lv2.front.exterior", + "original_facility_14.lv2.front.interior", + "original_facility_14.lv2.back.exterior", + "original_facility_14.lv2.back.interior", + "original_facility_14.lv3.front.exterior", + "original_facility_14.lv3.front.interior", + "original_facility_14.lv3.back.exterior", + "original_facility_14.lv3.back.interior", + "original_facility_15.lv1.front.exterior", + "original_facility_15.lv1.front.interior", + "original_facility_15.lv1.back.exterior", + "original_facility_15.lv1.back.interior", + "original_facility_15.lv2.front.exterior", + "original_facility_15.lv2.front.interior", + "original_facility_15.lv2.back.exterior", + "original_facility_15.lv2.back.interior", + "original_facility_15.lv3.front.exterior", + "original_facility_15.lv3.front.interior", + "original_facility_15.lv3.back.exterior", + "original_facility_15.lv3.back.interior", + "black_market.lv1.front.exterior", + "black_market.lv1.front.interior", + "black_market.lv1.back.exterior", + "black_market.lv1.back.interior", + "black_market.lv2.front.exterior", + "black_market.lv2.front.interior", + "black_market.lv2.back.exterior", + "black_market.lv2.back.interior", + "black_market.lv3.front.exterior", + "black_market.lv3.front.interior", + "black_market.lv3.back.exterior", + "black_market.lv3.back.interior", + "original_facility_24.lv1.front.exterior", + "original_facility_24.lv1.front.interior", + "original_facility_24.lv1.back.exterior", + "original_facility_24.lv1.back.interior", + "original_facility_24.lv2.front.exterior", + "original_facility_24.lv2.front.interior", + "original_facility_24.lv2.back.exterior", + "original_facility_24.lv2.back.interior", + "original_facility_24.lv3.front.exterior", + "original_facility_24.lv3.front.interior", + "original_facility_24.lv3.back.exterior", + "original_facility_24.lv3.back.interior", + "original_facility_25.lv1.front.exterior", + "original_facility_25.lv1.front.interior", + "original_facility_25.lv1.back.exterior", + "original_facility_25.lv1.back.interior", + "original_facility_25.lv2.front.exterior", + "original_facility_25.lv2.front.interior", + "original_facility_25.lv2.back.exterior", + "original_facility_25.lv2.back.interior", + "original_facility_25.lv3.front.exterior", + "original_facility_25.lv3.front.interior", + "original_facility_25.lv3.back.exterior", + "original_facility_25.lv3.back.interior", + "original_facility_26.lv1.front.exterior", + "original_facility_26.lv1.front.interior", + "original_facility_26.lv1.back.exterior", + "original_facility_26.lv1.back.interior", + "original_facility_26.lv2.front.exterior", + "original_facility_26.lv2.front.interior", + "original_facility_26.lv2.back.exterior", + "original_facility_26.lv2.back.interior", + "original_facility_26.lv3.front.exterior", + "original_facility_26.lv3.front.interior", + "original_facility_26.lv3.back.exterior", + "original_facility_26.lv3.back.interior" + ], + "difference_ids": [ + "P13-03.event", + "P13-03.overlay", + "P13-03.history", + "P13-03.story", + "P13-03.voice", + "P13-03.scene" + ], + "source_applicability_records": [ + { + "path": "docs/traceability/original/BASELINE.txt", + "sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", + "applicability": "current_checkout" + }, + { + "path": "docs/plans/original-completion-2026-10-02/work_packages.json", + "sha256": "bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af", + "applicability": "base_git_blob", + "commit": "e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1" + }, + { + "path": "docs/plans/original-completion-2026-10-02/work_packages.json", + "sha256": "bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af", + "applicability": "current_checkout", + "scope": "Live plan snapshot; its status is not this worker acceptance." + }, + { + "path": "docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json", + "sha256": "df0c933220449c8bb3e0fd942ad6f1dee49075abdd6587c4856022e12e3665cf", + "applicability": "current_checkout" + }, + { + "path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", + "sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", + "applicability": "current_checkout" + }, + { + "path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json", + "sha256": "298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9", + "applicability": "current_checkout" + }, + { + "path": "docs/plans/original-completion-2026-10-02/decisions.json", + "sha256": "ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9", + "applicability": "current_checkout" + }, + { + "path": "autoload/simulation_runtime.gd", + "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/adult_private_room.tres", + "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/cafeteria.tres", + "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/black_market.tres", + "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/chapel.tres", + "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/cleaning_room.tres", + "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/clinic.tres", + "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/cold_storage.tres", + "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/general_store.tres", + "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/guild_counter.tres", + "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/laundry.tres", + "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/maintenance_workshop.tres", + "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/mana_control_room.tres", + "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/premium_room.tres", + "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/private_bath.tres", + "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/secret_tavern.tres", + "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/staff_dormitory.tres", + "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/tea_lounge.tres", + "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/underground_guest_room.tres", + "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/vip_private_salon.tres", + "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/expansion/waste_processing.tres", + "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/guest_corridor.tres", + "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/guest_elevator.tres", + "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/infrastructure/guest_stairs.tres", + "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/infrastructure/service_stairs.tres", + "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/kitchen.tres", + "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/massage_room.tres", + "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/public_bath.tres", + "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/reception.tres", + "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/rescue/infirmary.tres", + "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/security_station.tres", + "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/service_corridor.tres", + "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/service_elevator.tres", + "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/staff_door.tres", + "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/staff_waiting_room.tres", + "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/standard_room.tres", + "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/tavern.tres", + "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "data/facilities/warehouse.tres", + "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scenes/main/main.gd", + "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/core/save_service.gd", + "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/data/facility_catalog.gd", + "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/events/event_definition.gd", + "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/events/event_service.gd", + "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "scripts/ui/event_log_dialog.gd", + "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "tests/s2/test_facility_service.gd", + "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "tests/s4/test_runtime_relationship_events.gd", + "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + }, + { + "path": "tests/s6/test_runtime_snapshot_serialization.gd", + "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", + "applicability": "current_checkout", + "scope": "Bounded static observation; no executed connection/content acceptance." + } + ], + "output_pins": { + "docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json": "2db49d9e09aad65b3d625bfa0584e310b6022db49d9bb1876e08c1488618e03c", + "docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md": "0902fc7072d2bf833a683d56814cd1aad5aae849154455e9cd7918ba0866079d", + "tools/check_p13_content_difference.py": "f3147786aa9cbd466276063b4252a79385e0bb4bdde4062f396d5387d48ba36b" + }, + "status": "submitted", + "formal_tests": "not_run", + "formal_claude_review": "not_run", + "command": "python3 tools/check_p13_content_difference.py --negative-checks", + "purpose": "Verify record integrity and negative rejection only; not content acceptance.", + "source_applicability": "Exact IDs, source SHA256 and scopes are in difference-ledger.json. Work package frozen base Git blob and current checkout are separately identified.", + "required_before_integration": [ + "Runner p13-difference pass", + "separate formal Claude review pass" + ], + "worker_tests_run": false, + "test_applicability": { + "runtime": "Not applicable to records-only changes; no game or platform acceptance.", + "native": "Not applicable to records-only changes; no game or platform acceptance.", + "Windows": "Not applicable to records-only changes; no game or platform acceptance.", + "engine": "Not applicable to records-only changes; no game or platform acceptance.", + "full_game_regression": "Not applicable to records-only changes; no game or platform acceptance." + } +} diff --git a/tools/check_p13_content_difference.py b/tools/check_p13_content_difference.py new file mode 100644 index 0000000..e15e9bf --- /dev/null +++ b/tools/check_p13_content_difference.py @@ -0,0 +1,302 @@ +#!/usr/bin/env python3 +"""Verify P13-03 records only. Never writes receipts or accepts game content. + +Runner: python3 tools/check_p13_content_difference.py --negative-checks +Optional --ledger permits read-only verification of a candidate ledger. +""" +import argparse +import copy +import hashlib +import json +from pathlib import Path +import re +import subprocess +import sys + +ROOT = Path(__file__).resolve().parents[1] +OUT = 'docs/plans/original-completion-2026-10-02/execution/p13-03/' +PLAN = 'docs/plans/original-completion-2026-10-02/' +MAPPING = 'docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json' +SLOTS = PLAN + 'asset_inventory_reaudit/facility_usage_slots.json' +SPEC = 'docs/spec/acceptance/P13-03.json' +BASE = 'e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1' +SPEC_RAW = '917cf1504bbfc700e0da42b2db496b42486fe3c36c680f301f58cf34c95267b6' +SPEC_RUNNER = 'e1255835c1227e02bac42eb99b026b0fcbe69c272f9ed0b36199a2daf8d55c53' +VIEWS = ('normal_entry', 'runtime', 'event_state', 'save', 'test') +CATEGORIES = { + 'event': ['B-1.6', 'B-2.5', 'B-8.2', 'B-8.3'], + 'overlay': ['B-2.5'], + 'history': ['B-1.6'], + 'story': ['B-1.6'], + 'voice': ['B-1.6'], + 'scene': ['B-1.6'], +} + + +def raw(path): + p = Path(path) + if p.is_absolute() or '..' in p.parts: + raise ValueError('source must be checkout-relative') + resolved = (ROOT / p).resolve() + if not resolved.is_relative_to(ROOT): + raise ValueError('source escapes checkout') + return resolved.read_bytes() + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def load(path): + def unique(pairs): + result = {} + for key, value in pairs: + if key in result: + raise ValueError('duplicate JSON key: ' + key) + result[key] = value + return result + return json.loads(raw(path), object_pairs_hook=unique) + + +def observation(paths, tokens, note): + """Exact token matches are search observations, never accepted links.""" + evidence = [] + for path in paths: + lines = raw(path).decode('utf-8').splitlines() + matches = [{'line': i + 1, 'text': line} for i, line in enumerate(lines) + if any(token in line for token in tokens)] + evidence.append({'path': path, 'sha256': sha(raw(path)), + 'searched_tokens': tokens, 'matches': matches, + 'scope': 'Static search of this file only; no execution or acceptance.'}) + return {'status': 'unverified', 'accepted': False, 'note': note, 'evidence': evidence} + + +def expected(): + if sha(raw(SPEC)) != SPEC_RAW or sha(raw(SPEC).decode().strip().encode()) != SPEC_RUNNER: + raise ValueError('specification hash mismatch') + spec = load(SPEC) + sources = [] + for path, pin in spec['source_pins'].items(): + if path == PLAN + 'work_packages.json': + frozen = subprocess.check_output(['git', 'show', BASE + ':' + path], cwd=ROOT) + if sha(frozen) != pin: + raise ValueError('frozen work package pin mismatch') + sources.append({'path': path, 'sha256': pin, 'applicability': 'base_git_blob', 'commit': BASE}) + sources.append({'path': path, 'sha256': sha(raw(path)), 'applicability': 'current_checkout', + 'scope': 'Live plan snapshot; its status is not this worker acceptance.'}) + else: + if sha(raw(path)) != pin: + raise ValueError('stale required source: ' + path) + sources.append({'path': path, 'sha256': pin, 'applicability': 'current_checkout'}) + mapping = load(MAPPING) + slots = load(SLOTS) + if len({s['slot_id'] for s in slots}) != len(slots): + raise ValueError('duplicate source slot IDs') + definitions = sorted(p.relative_to(ROOT).as_posix() for p in (ROOT / 'data/facilities').rglob('*.tres')) + definitions_text = {p: raw(p).decode() for p in definitions} + catalog = 'scripts/data/facility_catalog.gd' + entry = 'scenes/main/main.gd' + runtime = 'autoload/simulation_runtime.gd' + event = 'scripts/events/event_service.gd' + save = 'scripts/core/save_service.gd' + test = 'tests/s6/test_runtime_snapshot_serialization.gd' + search_paths = [catalog] + definitions + facilities = [] + for index, original in enumerate(mapping, 1): + if original['section'] not in ('10.4', '10.6'): + continue + identity = 'original_facility_%02d' % index + # Names and original stable definition IDs are the bounded search basis. + tokens = [original['name']] + if original['definition_id']: + tokens.append(original['definition_id']) + matching = [p for p, text in definitions_text.items() + if any(t in text for t in tokens)] + ids = [] + for path in matching: + found = re.search(r'^id = &"([^"]+)"', definitions_text[path], re.M) + if found: + ids.append(found.group(1)) + # No mana_control_room or generic proxy may fill an original identity. + if 'mana_control_room' in ids: + raise ValueError('proxy mapping is prohibited') + facility_slots = [s for s in slots if s['facility_name'] == original['name']] + facilities.append({ + 'original_id': identity, 'original': original, + 'mapping_observation': observation(search_paths, tokens, + 'Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.'), + 'current_definition_ids': ids, + 'current_definition_paths': matching, + 'connections': { + 'normal_entry': observation([entry, catalog], tokens, + 'adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.'), + 'runtime': observation([runtime, catalog] + matching, tokens + ['FacilityCatalog.FACILITY_PATHS'], + 'Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.'), + 'event_state': observation([runtime, event], tokens, + 'No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.'), + 'save': observation([runtime, save], tokens + ['event_service.create_snapshot()', 'save_snapshot'], + 'Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.'), + 'test': observation([test, 'tests/s2/test_facility_service.gd', 'tests/s4/test_runtime_relationship_events.gd'], tokens, + 'Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.')}, + 'media_usage_slots': [{'slot_id': s['slot_id'], 'source_path': SLOTS, + 'source_sha256': sha(raw(SLOTS)), 'source_record': s, + 'status': 'unverified_required_slot', 'approved_asset': None, + 'content_complete': False} for s in facility_slots], + 'actual_required_asset_count': None, 'actual_required_asset_count_status': 'unknown', + 'completed_asset_acceptance': 'unverified', 'original_content_completion': 'unverified', + 'technical_as_content_credit': False}) + if len(facilities) != 7: + raise ValueError('original facility coverage must be seven') + nonfacility = [] + for category, requirements in CATEGORIES.items(): + nonfacility.append({'difference_id': 'P13-03.' + category, 'category': category, + 'requirement_ids': requirements, 'authority_path': spec['authority'], + 'authority_sha256': sha(raw(spec['authority'])), + 'related_original_sections': ['1.6', '2.5', '8.2', '8.3', '10.4', '10.6', '13', '14'], + 'content_ids': None, 'content_ids_status': 'unknown', 'quantity': None, + 'quantity_status': 'unknown', 'completed_asset_acceptance': 'unverified', + 'original_content_completion': 'unverified', 'technical_as_content_credit': False, + 'decisions': ['D08', 'D09'], + 'difference': 'Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.', + 'technical_observation': observation([event, 'scripts/events/event_definition.gd', 'scripts/ui/event_log_dialog.gd'], + [category], 'Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.')}) + additional = sorted(set(search_paths + [entry, runtime, event, save, test, + 'tests/s2/test_facility_service.gd', 'tests/s4/test_runtime_relationship_events.gd', + 'scripts/events/event_definition.gd', 'scripts/ui/event_log_dialog.gd'])) + sources += [{'path': p, 'sha256': sha(raw(p)), 'applicability': 'current_checkout', + 'scope': 'Bounded static observation; no executed connection/content acceptance.'} for p in additional] + return {'schema_version': 1, 'task_id': 'P13-03', 'acceptance_ids': ['P13-03'], + 'requirement_ids': spec['package_requirement_ids'], 'validation_ids': ['p13-difference'], + 'base_commit': BASE, 'spec_raw_sha256': SPEC_RAW, 'spec_runner_text_sha256': SPEC_RUNNER, + 'scope': spec['scope'], 'sources': sources, 'facilities': facilities, + 'nonfacility_differences': nonfacility, + 'unknowns': {'D08': 'unknown', 'D09': 'unknown', 'final_content_ids': None, + 'final_content_quantity': None, 'final_actual_asset_count': None}, + 'accounting': {'packages': 30, 'delivery_units': 88, 'no_partial_credit': True, + 'package_completion_inferred': False, 'original_views_edited': False, + 'content_completion_inferred': False, 'technical_as_content_credit': False}, + 'asset_policy': 'Usage slots are not image counts. Fallback, Kenney pack, mockup, candidate token, file existence and technical tests confer no content credit.', + 'test_applicability': {name: {'status': 'not_applicable', + 'reason': 'Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed.'} + for name in ['runtime', 'native', 'Windows', 'engine', 'full_game_regression']}, + 'formal_validation': 'pending_runner', 'formal_claude_review': 'pending_runner', + 'integration_gate': 'Required p13-difference validator and separate formal Claude review must pass before integration.'} + + +def verify(candidate, canonical): + # Compare every field, including pending/unknown fields: these must stay + # explicit and are not skipped as if they were content PASS. + if json.dumps(candidate, sort_keys=True, ensure_ascii=False) != json.dumps(canonical, sort_keys=True, ensure_ascii=False): + raise ValueError('coverage, source, observation, unknown or accounting mismatch') + + +def negative_checks(canonical): + cases = {} + mutations = { + 'facility_omission': lambda d: d['facilities'].pop(), + 'slot_omission': lambda d: d['facilities'][0]['media_usage_slots'].pop(), + 'stale_pin': lambda d: d['sources'][0].update(sha256='0' * 64), + 'duplicate_facility': lambda d: d['facilities'].append(copy.deepcopy(d['facilities'][0])), + 'duplicate_slot': lambda d: d['facilities'][0]['media_usage_slots'].append(copy.deepcopy(d['facilities'][0]['media_usage_slots'][0])), + 'false_content_completion': lambda d: d['facilities'][0].update(original_content_completion='completed'), + 'false_asset_acceptance': lambda d: d['facilities'][0]['media_usage_slots'][0].update(approved_asset='fallback.png', content_complete=True), + 'technical_as_content': lambda d: d['accounting'].update(technical_as_content_credit=True), + 'unknown_to_zero': lambda d: d['unknowns'].update(final_content_quantity=0), + 'nonfacility_omission': lambda d: d['nonfacility_differences'].pop(), + 'proxy_mapping': lambda d: d['facilities'][-1].update(current_definition_ids=['mana_control_room']), + 'connection_promotion': lambda d: d['facilities'][0]['connections']['runtime'].update(accepted=True), + 'false_runner_pass': lambda d: d.update(formal_validation='pass'), + } + for name, mutate in mutations.items(): + changed = copy.deepcopy(canonical) + mutate(changed) + try: + verify(changed, canonical) + except ValueError: + cases[name] = 'rejected' + else: + raise ValueError('negative case was accepted: ' + name) + return cases + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--ledger', default=OUT + 'difference-ledger.json') + parser.add_argument('--negative-checks', action='store_true') + args = parser.parse_args() + try: + canonical = expected() + verify(load(args.ledger), canonical) + receipt = load(OUT + 'validation.json') + if receipt != receipt_expected(): + raise ValueError('receipt mismatch or false formal acceptance') + if raw(OUT + 'DIFFERENCE_LEDGER.md').decode() != readable(canonical): + raise ValueError('readable ledger differs from machine ledger') + result = {'record_integrity': 'pass', 'content_acceptance': 'not_claimed', + 'formal_review': 'external_runner_required'} + if args.negative_checks: + result['negative_checks'] = negative_checks(canonical) + print(json.dumps(result, ensure_ascii=False)) + return 0 + except (ValueError, OSError, KeyError, TypeError, subprocess.CalledProcessError) as error: + print(json.dumps({'record_integrity': 'fail', 'error': str(error)})) + return 1 + + +def receipt_expected(): + ledger = load(OUT + 'difference-ledger.json') + return {'task_id': 'P13-03', 'acceptance_ids': ['P13-03'], 'validation_ids': ['p13-difference'], + 'requirement_ids': ledger['requirement_ids'], + 'facility_ids': [f['original_id'] for f in ledger['facilities']], + 'slot_ids': [s['slot_id'] for f in ledger['facilities'] for s in f['media_usage_slots']], + 'difference_ids': [n['difference_id'] for n in ledger['nonfacility_differences']], + 'source_applicability_records': ledger['sources'], + 'output_pins': {p: sha(raw(p)) for p in [OUT + 'difference-ledger.json', + OUT + 'DIFFERENCE_LEDGER.md', 'tools/check_p13_content_difference.py']}, + 'status': 'submitted', 'formal_tests': 'not_run', 'formal_claude_review': 'not_run', + 'command': 'python3 tools/check_p13_content_difference.py --negative-checks', + 'purpose': 'Verify record integrity and negative rejection only; not content acceptance.', + 'source_applicability': 'Exact IDs, source SHA256 and scopes are in difference-ledger.json. Work package frozen base Git blob and current checkout are separately identified.', + 'required_before_integration': ['Runner p13-difference pass', 'separate formal Claude review pass'], + 'worker_tests_run': False, + 'test_applicability': {name: 'Not applicable to records-only changes; no game or platform acceptance.' + for name in ['runtime', 'native', 'Windows', 'engine', 'full_game_regression']}} + + +def readable(d): + lines = ['# P13-03 内容差異台帳', '', + '記録の提出であり、ゲーム内容・P13パッケージの完成認定ではない。原30パッケージ/88成果、部分点なし。原子・状態台帳は変更しない。', '', + '通常入口、Runtime、イベント状態、保存、試験はすべて静的観測・未検証。汎用処理は原施設固有の接続や完成素材を証明しない。', '', + '施設の原典IDは旧対応表の1始まりの位置を保持する。現行の data/facilities 全定義とカタログを名前・既存IDで再検索した。マナ制御室をマナ炉に代用しない。', '', + '|原典ID|章|原典名|現行定義候補|使用スロット数|完成素材・原内容|', + '|---|---|---|---|---|---|'] + for f in d['facilities']: + lines.append('|%s|%s|%s|%s|%d|未検証|' % (f['original_id'], f['original']['section'], + f['original']['name'], ', '.join(f['current_definition_ids']) or '対象検索範囲で欠落', len(f['media_usage_slots']))) + lines += ['', '風俗個室は通常UIリストとRuntime読込元に候補がある。闇市場は拡張定義のみで通常読込元に含まれない。他の5施設は対象定義集合で対応が見つからない。実行・保存再開・施設固有イベントの受入は未検証。', '', + '## 施設別の観測と使用スロット', ''] + for f in d['facilities']: + lines += ['### ' + f['original_id'] + ' / ' + f['original']['name'], ''] + for view in VIEWS: + o = f['connections'][view] + lines += ['- ' + view + ': ' + o['status'] + ' — ' + o['note']] + for e in o['evidence']: + lines += [' - `' + e['path'] + '` SHA256 `' + e['sha256'] + '`; matched lines: ' + + (', '.join(str(m['line']) for m in e['matches']) or 'none')] + lines += ['', '使用スロット(すべて unverified_required_slot、approved_asset=null):', ''] + lines += ['- `' + s['slot_id'] + '`' for s in f['media_usage_slots']] + lines += ['', '実制作資産数はunknown/null。スロット数を画像数に転用しない。', ''] + lines += ['## 施設外の内容差異', ''] + for n in d['nonfacility_differences']: + lines += ['- `' + n['difference_id'] + '` (' + ', '.join(n['requirement_ids']) + '): ' + n['difference']] + lines += ['', 'event/overlay/history/story/voice/scene の内容ID・数量・受入はunknownまたは未検証。D08(内容範囲)/D09(品質・量・担当・権利)は未決定。中立メタデータのみを記録し、場面は制作・描写しない。', '', + '## 出典・適用範囲', '', '機械台帳に各観測の検索語・一致行・本文・実SHAを保持する。旧対応表は原典識別に利用し、現行対応は再検索で記録する。素材台帳は使用スロットと候補の証拠のみ。inventory_summaryの290 media files、0 audio files、360 slots、0 approved assetsは既存監査の限定集計であり、最終必要量を示さない。', ''] + lines += ['- `' + s['path'] + '` / ' + s['applicability'] + ' / SHA256 `' + s['sha256'] + '`' for s in d['sources']] + lines += ['', '## 検証・統合条件', '', + '`python3 tools/check_p13_content_difference.py --negative-checks` は記録整合性と欠落・重複・古いpin・誤完成・技術から内容への昇格・unknownのゼロ化等の拒否を検証する。worker試験は未実行。Runner正式validatorと別セッションの正式Claudeレビュー合格後にのみ統合できる。', '', + 'Runtime/native/Windows/engine/full game regressionは記録だけの変更に適用外(製品コード・資産・保存形式・値の変更なし)。この適用外をゲームの合格に転用しない。Kenney・fallback・mockup・コード候補・ファイル存在・状態試験から完成資産を推定しない。', ''] + return '\n'.join(lines) + + +if __name__ == '__main__': + sys.exit(main()) From bc1299acf5bb93c3375918659ed2457a176bf762 Mon Sep 17 00:00:00 2001 From: Agent Control Runner Date: Thu, 15 Oct 2026 19:21:10 +0900 Subject: [PATCH 2/3] =?UTF-8?q?P13-03:=20=E5=86=85=E5=AE=B9=E5=B7=AE?= =?UTF-8?q?=E7=95=B0=E3=81=AE=E8=A8=98=E9=8C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../execution/p13-03/DIFFERENCE_LEDGER.md | 173 +- .../p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md | 10 + .../execution/p13-03/difference-ledger.json | 7709 +---------------- .../execution/p13-03/validation.json | 28 +- tools/check_p13_content_difference.py | 128 +- 5 files changed, 195 insertions(+), 7853 deletions(-) create mode 100644 docs/plans/original-completion-2026-10-02/execution/p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md b/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md index e7043df..ca26edc 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md @@ -4,6 +4,8 @@ 通常入口、Runtime、イベント状態、保存、試験はすべて静的観測・未検証。汎用処理は原施設固有の接続や完成素材を証明しない。 +機械台帳のshared_text/text_refとshared_evidence/evidence_refは重複証拠の共有参照。検索語、一致行番号・全文、相対出典パス、SHAを省略せず保持し、チェッカーは全参照と本文を照合する。作業計画は契約baseのGit blobを固定入力として検証する。別管理の現行進捗は内容完成の証拠にしない。 + 施設の原典IDは旧対応表の1始まりの位置を保持する。現行の data/facilities 全定義とカタログを名前・既存IDで再検索した。マナ制御室をマナ炉に代用しない。 |原典ID|章|原典名|現行定義候補|使用スロット数|完成素材・原内容| @@ -20,25 +22,23 @@ ## 施設別の観測と使用スロット +共有観測範囲(各施設の具体的検索結果は機械台帳に保持): + +- normal_entry: adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. +- runtime: Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. +- event_state: No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. +- save: Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. +- test: Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. + +共有出典・検索語はshared_contextのsource_ref/search_refから復元する。各施設の各観測は個別に参照し、合格接続を意味しない。 + ### original_facility_13 / 風俗個室 -- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. - - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: 53 - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: 25, 44 -- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: 25, 44 - - `data/facilities/adult_private_room.tres` SHA256 `d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d`; matched lines: 8 -- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none - - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none -- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 - - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 -- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. - - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none - - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none - - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none +- normal_entry: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- runtime: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- event_state: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- save: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- test: unverified(検索語・一致行本文・出典SHAは機械台帳参照) 使用スロット(すべて unverified_required_slot、approved_asset=null): @@ -59,22 +59,11 @@ ### original_facility_14 / 高級ソープ -- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. - - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none - - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none -- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 - - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 -- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. - - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none - - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none - - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none +- normal_entry: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- runtime: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- event_state: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- save: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- test: unverified(検索語・一致行本文・出典SHAは機械台帳参照) 使用スロット(すべて unverified_required_slot、approved_asset=null): @@ -95,22 +84,11 @@ ### original_facility_15 / SM拷問室 -- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. - - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none - - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none -- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 - - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 -- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. - - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none - - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none - - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none +- normal_entry: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- runtime: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- event_state: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- save: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- test: unverified(検索語・一致行本文・出典SHAは機械台帳参照) 使用スロット(すべて unverified_required_slot、approved_asset=null): @@ -131,23 +109,11 @@ ### original_facility_16 / 闇市場 -- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. - - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: 81, 100 -- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: 81, 100 - - `data/facilities/expansion/black_market.tres` SHA256 `c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42`; matched lines: 7 -- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none - - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none -- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 - - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 -- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. - - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none - - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none - - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none +- normal_entry: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- runtime: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- event_state: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- save: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- test: unverified(検索語・一致行本文・出典SHAは機械台帳参照) 使用スロット(すべて unverified_required_slot、approved_asset=null): @@ -168,22 +134,11 @@ ### original_facility_24 / 覗き部屋 -- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. - - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none - - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none -- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 - - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 -- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. - - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none - - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none - - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none +- normal_entry: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- runtime: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- event_state: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- save: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- test: unverified(検索語・一致行本文・出典SHAは機械台帳参照) 使用スロット(すべて unverified_required_slot、approved_asset=null): @@ -204,22 +159,11 @@ ### original_facility_25 / 地下牢 -- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. - - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none - - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none -- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 - - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 -- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. - - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none - - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none - - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none +- normal_entry: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- runtime: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- event_state: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- save: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- test: unverified(検索語・一致行本文・出典SHAは機械台帳参照) 使用スロット(すべて unverified_required_slot、approved_asset=null): @@ -240,22 +184,11 @@ ### original_facility_26 / マナ炉 -- normal_entry: unverified — adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. - - `scenes/main/main.gd` SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3`; matched lines: none - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- runtime: unverified — Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 437 - - `scripts/data/facility_catalog.gd` SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29`; matched lines: none -- event_state: unverified — No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: none - - `scripts/events/event_service.gd` SHA256 `d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103`; matched lines: none -- save: unverified — Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. - - `autoload/simulation_runtime.gd` SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39`; matched lines: 555, 2012, 2221, 4602 - - `scripts/core/save_service.gd` SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617`; matched lines: 29, 37, 145, 673 -- test: unverified — Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. - - `tests/s6/test_runtime_snapshot_serialization.gd` SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84`; matched lines: none - - `tests/s2/test_facility_service.gd` SHA256 `4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690`; matched lines: none - - `tests/s4/test_runtime_relationship_events.gd` SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3`; matched lines: none +- normal_entry: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- runtime: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- event_state: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- save: unverified(検索語・一致行本文・出典SHAは機械台帳参照) +- test: unverified(検索語・一致行本文・出典SHAは機械台帳参照) 使用スロット(すべて unverified_required_slot、approved_asset=null): @@ -291,7 +224,6 @@ event/overlay/history/story/voice/scene の内容ID・数量・受入はunknown - `docs/traceability/original/BASELINE.txt` / current_checkout / SHA256 `75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a` - `docs/plans/original-completion-2026-10-02/work_packages.json` / base_git_blob / SHA256 `bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af` -- `docs/plans/original-completion-2026-10-02/work_packages.json` / current_checkout / SHA256 `bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af` - `docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json` / current_checkout / SHA256 `df0c933220449c8bb3e0fd942ad6f1dee49075abdd6587c4856022e12e3665cf` - `docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json` / current_checkout / SHA256 `56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491` - `docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json` / current_checkout / SHA256 `298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9` @@ -344,8 +276,17 @@ event/overlay/history/story/voice/scene の内容ID・数量・受入はunknown - `tests/s4/test_runtime_relationship_events.gd` / current_checkout / SHA256 `466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3` - `tests/s6/test_runtime_snapshot_serialization.gd` / current_checkout / SHA256 `d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84` +## 統合監査注記 + +- Read-only integration audit: contract base e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1 versus main 57131ec. This is a future refresh instruction, not a relabeling of any recorded source/game/asset hash. +- autoload/simulation_runtime.gd adds preview_build_facility and extracts _build_facility_precheck shared by preview and execution. scenes/main/world_preview.gd routes previews through Runtime with a fallback and adds demolition mode. scenes/main/main.gd adds demolition confirmation/command handling, preview error messages and stricter interface-selection version checks. +- At normal integration Root must refresh normal_entry observations for original_facility_13, original_facility_14, original_facility_15, original_facility_16, original_facility_24, original_facility_25 and original_facility_26 against the integrated main.gd and preview path; refresh runtime observations against the integrated Runtime. Refresh event_state and save search evidence too because their Runtime source hash changes, even though these changed hunks do not establish dedicated original facility events or save round-trips. Recheck mapping/catalog/definitions without promoting missing identities or black_market eligibility. +- The selected test sources in this ledger, facility catalog, event service and save service are unchanged between these commits. Added tests/transport/test_runtime_build_preview.gd and tests/ui/test_p08_normal_placement_ops.gd concern generic preview/placement/demolition; tests/ui/test_selection_departure.gd and tests/ui/fixtures/selection_cross_process.gd concern selection restoration. Root should assess their bounded relevance when refreshing each facility test observation; none accepts original content. Guest observation selection changes and P08 migration fixtures likewise provide no original facility content acceptance. +- Minimal handling: retain this base-version evidence, explicitly re-search changed integrated source paths and rebuild affected technical observations, source pins and output receipt as a reviewed integration refresh; retain all unknown/unverified content states and the 30/88 denominator. Do not merely replace old hashes or claim old tests ran against new code. No rebase, overwrite or Git write is performed here. +- If P13 integrates first, P23 9a full tools map gains tools/check_p13_content_difference.py. P23 proof remains bound to its own version and requires future final source verification; this audit does not extend that proof. + ## 検証・統合条件 -`python3 tools/check_p13_content_difference.py --negative-checks` は記録整合性と欠落・重複・古いpin・誤完成・技術から内容への昇格・unknownのゼロ化等の拒否を検証する。worker試験は未実行。Runner正式validatorと別セッションの正式Claudeレビュー合格後にのみ統合できる。 +`python -B tools/check_p13_content_difference.py --verify-only` は記録整合性と欠落・重複・古いpin・誤完成・技術から内容への昇格・unknownのゼロ化・共有参照改変等の拒否を必ず検証する。--negative-checksも互換引数として保持する。workerのローカル診断は正式受入ではない。Runner正式validatorと別セッションの正式Claudeレビュー合格後にのみ統合できる。 Runtime/native/Windows/engine/full game regressionは記録だけの変更に適用外(製品コード・資産・保存形式・値の変更なし)。この適用外をゲームの合格に転用しない。Kenney・fallback・mockup・コード候補・ファイル存在・状態試験から完成資産を推定しない。 diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md b/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md new file mode 100644 index 0000000..f49ea48 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md @@ -0,0 +1,10 @@ +# P13-03 final bounded repair input (root context, not implementation) + +Original contract/spec/acceptance1 and repair cap2 remain unchanged. Repair1 used. Initial submitted7645c55149d3bebf3ed602cf3039b15b28fa376f records seven facilities,84slots,six non-facility categories. Root read-only diagnostic ran its --negative-checks: integrity pass,13 mutations rejected. This is not formal acceptance. + +Observed defects to fix together: +1. Registered argv is python -B tools/check_p13_content_difference.py --verify-only. It exits2 because argparse lacks --verify-only. Add compatible read-only --verify-only and ensure mandatory negative checks are actually included in the formal registered invocation; preserve negative-checks alias if useful. No registry/spec changes. +2. Exact unchanged Runner reviewer body for initial candidate is905065bytes under default JSON-escaped guard; cap500000. ActualUTF8 body880555. diff441818/sources431771/validation_sources22198. Do not invoke known-over-cap formal review, change Runner core/cap, truncate evidence or split the original delivery. Deduplicate repeated definition catalogs, sources, search observations and long path/hash/record metadata within the allowed ledger; use stable IDs and checked references, retaining every facility,84slots, all matched line text and provenance. Preserve source data semantics and unknown statuses. Keep readable ledger concise with shared sections. Guard-byte total should be below450000 to leave room for final validation receipts/integration. Root will preflight the EXACT final packet. No shallow sample or omitted required rows. +3. Current-source plan status changes after start. expected() currently adds current_checkout work_packages SHA into the immutable ledger and insists on exact equality; integration against current main1f6c46d fails because that plan status was updated to in_progress. The frozen authority input is raw work_packages blob at contract basee1a1651, which remains verified. Use its actual base_git_blob provenance for the report, not a stale current_checkout hash. Record scope explicitly: live plan state is maintained separately, not content completion evidence. This is not permission to ignore stale game/assets/original sources; those still require exact current applicability/hash rejection. Other current files match. Do not regenerate a new candidate for every bookkeeping edit. + +Do not edit original docs/spec, Runner core/state/policy, game, values, assets or outside allowed paths. No new task or repair cap reset. No engine, GUI or full regression. Preserve initial failure evidence in root checkpoint. Implement all original conditions, then run registered exact argv and negative rejection checks. Update output hashes/receipt consistently. Do not claim formal Claude review before Runner executes it. diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json b/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json index 9bb4b55..87ac89e 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json @@ -1,7708 +1 @@ -{ - "schema_version": 1, - "task_id": "P13-03", - "acceptance_ids": [ - "P13-03" - ], - "requirement_ids": [ - "B-1.6", - "B-2.5", - "B-8.2", - "B-8.3", - "B-10.4", - "B-10.6" - ], - "validation_ids": [ - "p13-difference" - ], - "base_commit": "e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1", - "spec_raw_sha256": "917cf1504bbfc700e0da42b2db496b42486fe3c36c680f301f58cf34c95267b6", - "spec_runner_text_sha256": "e1255835c1227e02bac42eb99b026b0fcbe69c272f9ed0b36199a2daf8d55c53", - "scope": "Existing original P13-03 documentation/accounting delivery. This does not implement or accept P13-01/P13-02, sexual scenes, original game completion, numerical mana choices or Windows acceptance.", - "sources": [ - { - "path": "docs/traceability/original/BASELINE.txt", - "sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", - "applicability": "current_checkout" - }, - { - "path": "docs/plans/original-completion-2026-10-02/work_packages.json", - "sha256": "bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af", - "applicability": "base_git_blob", - "commit": "e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1" - }, - { - "path": "docs/plans/original-completion-2026-10-02/work_packages.json", - "sha256": "bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af", - "applicability": "current_checkout", - "scope": "Live plan snapshot; its status is not this worker acceptance." - }, - { - "path": "docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json", - "sha256": "df0c933220449c8bb3e0fd942ad6f1dee49075abdd6587c4856022e12e3665cf", - "applicability": "current_checkout" - }, - { - "path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "applicability": "current_checkout" - }, - { - "path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json", - "sha256": "298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9", - "applicability": "current_checkout" - }, - { - "path": "docs/plans/original-completion-2026-10-02/decisions.json", - "sha256": "ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9", - "applicability": "current_checkout" - }, - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/cafeteria.tres", - "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/chapel.tres", - "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/cleaning_room.tres", - "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/clinic.tres", - "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/cold_storage.tres", - "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/general_store.tres", - "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/guild_counter.tres", - "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/laundry.tres", - "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/maintenance_workshop.tres", - "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/mana_control_room.tres", - "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/premium_room.tres", - "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/private_bath.tres", - "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/secret_tavern.tres", - "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/staff_dormitory.tres", - "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/tea_lounge.tres", - "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/underground_guest_room.tres", - "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/vip_private_salon.tres", - "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/expansion/waste_processing.tres", - "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/guest_corridor.tres", - "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/guest_elevator.tres", - "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/infrastructure/guest_stairs.tres", - "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/infrastructure/service_stairs.tres", - "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/kitchen.tres", - "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/massage_room.tres", - "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/public_bath.tres", - "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/reception.tres", - "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/rescue/infirmary.tres", - "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/security_station.tres", - "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/service_corridor.tres", - "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/service_elevator.tres", - "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/staff_door.tres", - "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/staff_waiting_room.tres", - "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/standard_room.tres", - "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/tavern.tres", - "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "data/facilities/warehouse.tres", - "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "scripts/core/save_service.gd", - "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "scripts/events/event_definition.gd", - "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "scripts/ui/event_log_dialog.gd", - "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "tests/s2/test_facility_service.gd", - "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "tests/s4/test_runtime_relationship_events.gd", - "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - }, - { - "path": "tests/s6/test_runtime_snapshot_serialization.gd", - "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", - "applicability": "current_checkout", - "scope": "Bounded static observation; no executed connection/content acceptance." - } - ], - "facilities": [ - { - "original_id": "original_facility_13", - "original": { - "section": "10.4", - "name": "風俗個室", - "definition_id": "adult_private_room", - "original_size": "2x1", - "original_layer_zone": "FRONT地下" - }, - "mapping_observation": { - "status": "unverified", - "accepted": false, - "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", - "evidence": [ - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [ - { - "line": 25, - "text": "\t&\"adult_private_room\"," - }, - { - "line": 44, - "text": "\t\"res://data/facilities/adult_private_room.tres\"," - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [ - { - "line": 8, - "text": "id = &\"adult_private_room\"" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/cafeteria.tres", - "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/chapel.tres", - "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cleaning_room.tres", - "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/clinic.tres", - "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cold_storage.tres", - "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/general_store.tres", - "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/guild_counter.tres", - "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/laundry.tres", - "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/maintenance_workshop.tres", - "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/mana_control_room.tres", - "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/premium_room.tres", - "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/private_bath.tres", - "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/secret_tavern.tres", - "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/staff_dormitory.tres", - "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/tea_lounge.tres", - "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/underground_guest_room.tres", - "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/vip_private_salon.tres", - "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/waste_processing.tres", - "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_corridor.tres", - "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_elevator.tres", - "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/guest_stairs.tres", - "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/service_stairs.tres", - "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/kitchen.tres", - "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/massage_room.tres", - "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/public_bath.tres", - "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/reception.tres", - "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/rescue/infirmary.tres", - "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/security_station.tres", - "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_corridor.tres", - "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_elevator.tres", - "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_door.tres", - "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_waiting_room.tres", - "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/standard_room.tres", - "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/tavern.tres", - "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/warehouse.tres", - "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "current_definition_ids": [ - "adult_private_room" - ], - "current_definition_paths": [ - "data/facilities/adult_private_room.tres" - ], - "connections": { - "normal_entry": { - "status": "unverified", - "accepted": false, - "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", - "evidence": [ - { - "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [ - { - "line": 53, - "text": "\t&\"adult_private_room\"," - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [ - { - "line": 25, - "text": "\t&\"adult_private_room\"," - }, - { - "line": 44, - "text": "\t\"res://data/facilities/adult_private_room.tres\"," - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "runtime": { - "status": "unverified", - "accepted": false, - "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "風俗個室", - "adult_private_room", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 437, - "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "風俗個室", - "adult_private_room", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 25, - "text": "\t&\"adult_private_room\"," - }, - { - "line": 44, - "text": "\t\"res://data/facilities/adult_private_room.tres\"," - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "searched_tokens": [ - "風俗個室", - "adult_private_room", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 8, - "text": "id = &\"adult_private_room\"" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "event_state": { - "status": "unverified", - "accepted": false, - "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "save": { - "status": "unverified", - "accepted": false, - "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "風俗個室", - "adult_private_room", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 555, - "text": "\t\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2012, - "text": "\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2221, - "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" - }, - { - "line": 4602, - "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/core/save_service.gd", - "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", - "searched_tokens": [ - "風俗個室", - "adult_private_room", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 29, - "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" - }, - { - "line": 37, - "text": "\tvar result := _save_snapshot_absolute(" - }, - { - "line": 145, - "text": "\tvar candidate := _save_snapshot_absolute(" - }, - { - "line": 673, - "text": "static func _save_snapshot_absolute(" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "test": { - "status": "unverified", - "accepted": false, - "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", - "evidence": [ - { - "path": "tests/s6/test_runtime_snapshot_serialization.gd", - "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s2/test_facility_service.gd", - "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s4/test_runtime_relationship_events.gd", - "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", - "searched_tokens": [ - "風俗個室", - "adult_private_room" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - "media_usage_slots": [ - { - "slot_id": "adult_private_room.lv1.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv1.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 1, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv1.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv1.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 1, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv1.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv1.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 1, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv1.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv1.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 1, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv2.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv2.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 2, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv2.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv2.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 2, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv2.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv2.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 2, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv2.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv2.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 2, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv3.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv3.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 3, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv3.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv3.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 3, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv3.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv3.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 3, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "adult_private_room.lv3.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "adult_private_room.lv3.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "風俗個室", - "definition_id": "adult_private_room", - "level": 3, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": "scripts/ui/pixel_tower_art.gd", - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - } - ], - "actual_required_asset_count": null, - "actual_required_asset_count_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false - }, - { - "original_id": "original_facility_14", - "original": { - "section": "10.4", - "name": "高級ソープ", - "definition_id": null, - "original_size": "4x2", - "original_layer_zone": "FRONT地下" - }, - "mapping_observation": { - "status": "unverified", - "accepted": false, - "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", - "evidence": [ - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/cafeteria.tres", - "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/chapel.tres", - "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cleaning_room.tres", - "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/clinic.tres", - "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cold_storage.tres", - "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/general_store.tres", - "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/guild_counter.tres", - "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/laundry.tres", - "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/maintenance_workshop.tres", - "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/mana_control_room.tres", - "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/premium_room.tres", - "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/private_bath.tres", - "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/secret_tavern.tres", - "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/staff_dormitory.tres", - "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/tea_lounge.tres", - "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/underground_guest_room.tres", - "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/vip_private_salon.tres", - "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/waste_processing.tres", - "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_corridor.tres", - "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_elevator.tres", - "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/guest_stairs.tres", - "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/service_stairs.tres", - "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/kitchen.tres", - "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/massage_room.tres", - "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/public_bath.tres", - "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/reception.tres", - "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/rescue/infirmary.tres", - "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/security_station.tres", - "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_corridor.tres", - "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_elevator.tres", - "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_door.tres", - "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_waiting_room.tres", - "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/standard_room.tres", - "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/tavern.tres", - "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/warehouse.tres", - "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "current_definition_ids": [], - "current_definition_paths": [], - "connections": { - "normal_entry": { - "status": "unverified", - "accepted": false, - "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", - "evidence": [ - { - "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "runtime": { - "status": "unverified", - "accepted": false, - "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "高級ソープ", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 437, - "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "高級ソープ", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "event_state": { - "status": "unverified", - "accepted": false, - "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "save": { - "status": "unverified", - "accepted": false, - "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "高級ソープ", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 555, - "text": "\t\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2012, - "text": "\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2221, - "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" - }, - { - "line": 4602, - "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/core/save_service.gd", - "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", - "searched_tokens": [ - "高級ソープ", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 29, - "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" - }, - { - "line": 37, - "text": "\tvar result := _save_snapshot_absolute(" - }, - { - "line": 145, - "text": "\tvar candidate := _save_snapshot_absolute(" - }, - { - "line": 673, - "text": "static func _save_snapshot_absolute(" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "test": { - "status": "unverified", - "accepted": false, - "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", - "evidence": [ - { - "path": "tests/s6/test_runtime_snapshot_serialization.gd", - "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s2/test_facility_service.gd", - "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s4/test_runtime_relationship_events.gd", - "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", - "searched_tokens": [ - "高級ソープ" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - "media_usage_slots": [ - { - "slot_id": "original_facility_14.lv1.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv1.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv1.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv1.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv1.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv1.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv1.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv1.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv2.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv2.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv2.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv2.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv2.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv2.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv2.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv2.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv3.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv3.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv3.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv3.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv3.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv3.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_14.lv3.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_14.lv3.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "高級ソープ", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - } - ], - "actual_required_asset_count": null, - "actual_required_asset_count_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false - }, - { - "original_id": "original_facility_15", - "original": { - "section": "10.4", - "name": "SM拷問室", - "definition_id": null, - "original_size": "4x2", - "original_layer_zone": "FRONT地下" - }, - "mapping_observation": { - "status": "unverified", - "accepted": false, - "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", - "evidence": [ - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/cafeteria.tres", - "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/chapel.tres", - "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cleaning_room.tres", - "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/clinic.tres", - "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cold_storage.tres", - "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/general_store.tres", - "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/guild_counter.tres", - "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/laundry.tres", - "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/maintenance_workshop.tres", - "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/mana_control_room.tres", - "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/premium_room.tres", - "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/private_bath.tres", - "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/secret_tavern.tres", - "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/staff_dormitory.tres", - "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/tea_lounge.tres", - "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/underground_guest_room.tres", - "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/vip_private_salon.tres", - "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/waste_processing.tres", - "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_corridor.tres", - "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_elevator.tres", - "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/guest_stairs.tres", - "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/service_stairs.tres", - "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/kitchen.tres", - "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/massage_room.tres", - "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/public_bath.tres", - "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/reception.tres", - "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/rescue/infirmary.tres", - "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/security_station.tres", - "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_corridor.tres", - "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_elevator.tres", - "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_door.tres", - "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_waiting_room.tres", - "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/standard_room.tres", - "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/tavern.tres", - "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/warehouse.tres", - "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "current_definition_ids": [], - "current_definition_paths": [], - "connections": { - "normal_entry": { - "status": "unverified", - "accepted": false, - "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", - "evidence": [ - { - "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "runtime": { - "status": "unverified", - "accepted": false, - "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "SM拷問室", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 437, - "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "SM拷問室", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "event_state": { - "status": "unverified", - "accepted": false, - "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "save": { - "status": "unverified", - "accepted": false, - "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "SM拷問室", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 555, - "text": "\t\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2012, - "text": "\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2221, - "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" - }, - { - "line": 4602, - "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/core/save_service.gd", - "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", - "searched_tokens": [ - "SM拷問室", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 29, - "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" - }, - { - "line": 37, - "text": "\tvar result := _save_snapshot_absolute(" - }, - { - "line": 145, - "text": "\tvar candidate := _save_snapshot_absolute(" - }, - { - "line": 673, - "text": "static func _save_snapshot_absolute(" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "test": { - "status": "unverified", - "accepted": false, - "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", - "evidence": [ - { - "path": "tests/s6/test_runtime_snapshot_serialization.gd", - "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s2/test_facility_service.gd", - "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s4/test_runtime_relationship_events.gd", - "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", - "searched_tokens": [ - "SM拷問室" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - "media_usage_slots": [ - { - "slot_id": "original_facility_15.lv1.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv1.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv1.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv1.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv1.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv1.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv1.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv1.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv2.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv2.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv2.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv2.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv2.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv2.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv2.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv2.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv3.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv3.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv3.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv3.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv3.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv3.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_15.lv3.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_15.lv3.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "SM拷問室", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - } - ], - "actual_required_asset_count": null, - "actual_required_asset_count_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false - }, - { - "original_id": "original_facility_16", - "original": { - "section": "10.4", - "name": "闇市場", - "definition_id": "black_market", - "original_size": "4x2", - "original_layer_zone": "FRONT地下" - }, - "mapping_observation": { - "status": "unverified", - "accepted": false, - "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", - "evidence": [ - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [ - { - "line": 81, - "text": "\t&\"black_market\"," - }, - { - "line": 100, - "text": "\t\"res://data/facilities/expansion/black_market.tres\"," - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/cafeteria.tres", - "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [ - { - "line": 7, - "text": "id = &\"black_market\"" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/chapel.tres", - "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cleaning_room.tres", - "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/clinic.tres", - "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cold_storage.tres", - "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/general_store.tres", - "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/guild_counter.tres", - "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/laundry.tres", - "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/maintenance_workshop.tres", - "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/mana_control_room.tres", - "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/premium_room.tres", - "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/private_bath.tres", - "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/secret_tavern.tres", - "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/staff_dormitory.tres", - "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/tea_lounge.tres", - "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/underground_guest_room.tres", - "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/vip_private_salon.tres", - "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/waste_processing.tres", - "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_corridor.tres", - "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_elevator.tres", - "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/guest_stairs.tres", - "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/service_stairs.tres", - "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/kitchen.tres", - "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/massage_room.tres", - "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/public_bath.tres", - "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/reception.tres", - "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/rescue/infirmary.tres", - "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/security_station.tres", - "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_corridor.tres", - "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_elevator.tres", - "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_door.tres", - "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_waiting_room.tres", - "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/standard_room.tres", - "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/tavern.tres", - "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/warehouse.tres", - "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "current_definition_ids": [ - "black_market" - ], - "current_definition_paths": [ - "data/facilities/expansion/black_market.tres" - ], - "connections": { - "normal_entry": { - "status": "unverified", - "accepted": false, - "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", - "evidence": [ - { - "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [ - { - "line": 81, - "text": "\t&\"black_market\"," - }, - { - "line": 100, - "text": "\t\"res://data/facilities/expansion/black_market.tres\"," - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "runtime": { - "status": "unverified", - "accepted": false, - "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "闇市場", - "black_market", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 437, - "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "闇市場", - "black_market", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 81, - "text": "\t&\"black_market\"," - }, - { - "line": 100, - "text": "\t\"res://data/facilities/expansion/black_market.tres\"," - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "searched_tokens": [ - "闇市場", - "black_market", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 7, - "text": "id = &\"black_market\"" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "event_state": { - "status": "unverified", - "accepted": false, - "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "save": { - "status": "unverified", - "accepted": false, - "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "闇市場", - "black_market", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 555, - "text": "\t\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2012, - "text": "\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2221, - "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" - }, - { - "line": 4602, - "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/core/save_service.gd", - "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", - "searched_tokens": [ - "闇市場", - "black_market", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 29, - "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" - }, - { - "line": 37, - "text": "\tvar result := _save_snapshot_absolute(" - }, - { - "line": 145, - "text": "\tvar candidate := _save_snapshot_absolute(" - }, - { - "line": 673, - "text": "static func _save_snapshot_absolute(" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "test": { - "status": "unverified", - "accepted": false, - "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", - "evidence": [ - { - "path": "tests/s6/test_runtime_snapshot_serialization.gd", - "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s2/test_facility_service.gd", - "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s4/test_runtime_relationship_events.gd", - "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", - "searched_tokens": [ - "闇市場", - "black_market" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - "media_usage_slots": [ - { - "slot_id": "black_market.lv1.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv1.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 1, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv1.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv1.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 1, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv1.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv1.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 1, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv1.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv1.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 1, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv2.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv2.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 2, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv2.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv2.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 2, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv2.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv2.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 2, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv2.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv2.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 2, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv3.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv3.front.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 3, - "layer": "front", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv3.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv3.front.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 3, - "layer": "front", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv3.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv3.back.exterior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 3, - "layer": "back", - "surface": "exterior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "black_market.lv3.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "black_market.lv3.back.interior", - "requirement": [ - "B-13.3", - "B-10.4" - ], - "facility_name": "闇市場", - "definition_id": "black_market", - "level": 3, - "layer": "back", - "surface": "interior", - "original_placement": "FRONT地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - } - ], - "actual_required_asset_count": null, - "actual_required_asset_count_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false - }, - { - "original_id": "original_facility_24", - "original": { - "section": "10.6", - "name": "覗き部屋", - "definition_id": null, - "original_size": "2x1", - "original_layer_zone": "BACK" - }, - "mapping_observation": { - "status": "unverified", - "accepted": false, - "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", - "evidence": [ - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/cafeteria.tres", - "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/chapel.tres", - "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cleaning_room.tres", - "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/clinic.tres", - "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cold_storage.tres", - "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/general_store.tres", - "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/guild_counter.tres", - "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/laundry.tres", - "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/maintenance_workshop.tres", - "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/mana_control_room.tres", - "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/premium_room.tres", - "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/private_bath.tres", - "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/secret_tavern.tres", - "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/staff_dormitory.tres", - "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/tea_lounge.tres", - "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/underground_guest_room.tres", - "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/vip_private_salon.tres", - "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/waste_processing.tres", - "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_corridor.tres", - "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_elevator.tres", - "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/guest_stairs.tres", - "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/service_stairs.tres", - "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/kitchen.tres", - "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/massage_room.tres", - "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/public_bath.tres", - "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/reception.tres", - "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/rescue/infirmary.tres", - "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/security_station.tres", - "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_corridor.tres", - "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_elevator.tres", - "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_door.tres", - "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_waiting_room.tres", - "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/standard_room.tres", - "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/tavern.tres", - "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/warehouse.tres", - "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "current_definition_ids": [], - "current_definition_paths": [], - "connections": { - "normal_entry": { - "status": "unverified", - "accepted": false, - "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", - "evidence": [ - { - "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "runtime": { - "status": "unverified", - "accepted": false, - "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "覗き部屋", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 437, - "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "覗き部屋", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "event_state": { - "status": "unverified", - "accepted": false, - "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "save": { - "status": "unverified", - "accepted": false, - "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "覗き部屋", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 555, - "text": "\t\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2012, - "text": "\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2221, - "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" - }, - { - "line": 4602, - "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/core/save_service.gd", - "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", - "searched_tokens": [ - "覗き部屋", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 29, - "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" - }, - { - "line": 37, - "text": "\tvar result := _save_snapshot_absolute(" - }, - { - "line": 145, - "text": "\tvar candidate := _save_snapshot_absolute(" - }, - { - "line": 673, - "text": "static func _save_snapshot_absolute(" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "test": { - "status": "unverified", - "accepted": false, - "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", - "evidence": [ - { - "path": "tests/s6/test_runtime_snapshot_serialization.gd", - "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s2/test_facility_service.gd", - "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s4/test_runtime_relationship_events.gd", - "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", - "searched_tokens": [ - "覗き部屋" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - "media_usage_slots": [ - { - "slot_id": "original_facility_24.lv1.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv1.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv1.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv1.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "interior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv1.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv1.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv1.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv1.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "interior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv2.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv2.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv2.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv2.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "interior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv2.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv2.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv2.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv2.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "interior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv3.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv3.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv3.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv3.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "interior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv3.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv3.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_24.lv3.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_24.lv3.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "覗き部屋", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "interior", - "original_placement": "BACK", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - } - ], - "actual_required_asset_count": null, - "actual_required_asset_count_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false - }, - { - "original_id": "original_facility_25", - "original": { - "section": "10.6", - "name": "地下牢", - "definition_id": null, - "original_size": "4x2", - "original_layer_zone": "BACK地下" - }, - "mapping_observation": { - "status": "unverified", - "accepted": false, - "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", - "evidence": [ - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/cafeteria.tres", - "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/chapel.tres", - "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cleaning_room.tres", - "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/clinic.tres", - "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cold_storage.tres", - "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/general_store.tres", - "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/guild_counter.tres", - "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/laundry.tres", - "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/maintenance_workshop.tres", - "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/mana_control_room.tres", - "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/premium_room.tres", - "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/private_bath.tres", - "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/secret_tavern.tres", - "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/staff_dormitory.tres", - "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/tea_lounge.tres", - "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/underground_guest_room.tres", - "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/vip_private_salon.tres", - "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/waste_processing.tres", - "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_corridor.tres", - "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_elevator.tres", - "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/guest_stairs.tres", - "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/service_stairs.tres", - "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/kitchen.tres", - "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/massage_room.tres", - "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/public_bath.tres", - "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/reception.tres", - "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/rescue/infirmary.tres", - "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/security_station.tres", - "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_corridor.tres", - "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_elevator.tres", - "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_door.tres", - "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_waiting_room.tres", - "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/standard_room.tres", - "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/tavern.tres", - "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/warehouse.tres", - "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "current_definition_ids": [], - "current_definition_paths": [], - "connections": { - "normal_entry": { - "status": "unverified", - "accepted": false, - "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", - "evidence": [ - { - "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "runtime": { - "status": "unverified", - "accepted": false, - "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "地下牢", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 437, - "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "地下牢", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "event_state": { - "status": "unverified", - "accepted": false, - "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "save": { - "status": "unverified", - "accepted": false, - "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "地下牢", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 555, - "text": "\t\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2012, - "text": "\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2221, - "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" - }, - { - "line": 4602, - "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/core/save_service.gd", - "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", - "searched_tokens": [ - "地下牢", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 29, - "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" - }, - { - "line": 37, - "text": "\tvar result := _save_snapshot_absolute(" - }, - { - "line": 145, - "text": "\tvar candidate := _save_snapshot_absolute(" - }, - { - "line": 673, - "text": "static func _save_snapshot_absolute(" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "test": { - "status": "unverified", - "accepted": false, - "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", - "evidence": [ - { - "path": "tests/s6/test_runtime_snapshot_serialization.gd", - "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s2/test_facility_service.gd", - "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s4/test_runtime_relationship_events.gd", - "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", - "searched_tokens": [ - "地下牢" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - "media_usage_slots": [ - { - "slot_id": "original_facility_25.lv1.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv1.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv1.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv1.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv1.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv1.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv1.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv1.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv2.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv2.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv2.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv2.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv2.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv2.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv2.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv2.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv3.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv3.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv3.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv3.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv3.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv3.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_25.lv3.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_25.lv3.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "地下牢", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - } - ], - "actual_required_asset_count": null, - "actual_required_asset_count_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false - }, - { - "original_id": "original_facility_26", - "original": { - "section": "10.6", - "name": "マナ炉", - "definition_id": null, - "original_size": "6x3", - "original_layer_zone": "BACK地下" - }, - "mapping_observation": { - "status": "unverified", - "accepted": false, - "note": "Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.", - "evidence": [ - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/adult_private_room.tres", - "sha256": "d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/cafeteria.tres", - "sha256": "86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/black_market.tres", - "sha256": "c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/chapel.tres", - "sha256": "9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cleaning_room.tres", - "sha256": "ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/clinic.tres", - "sha256": "339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/cold_storage.tres", - "sha256": "1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/general_store.tres", - "sha256": "76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/guild_counter.tres", - "sha256": "93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/laundry.tres", - "sha256": "2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/maintenance_workshop.tres", - "sha256": "8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/mana_control_room.tres", - "sha256": "55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/premium_room.tres", - "sha256": "6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/private_bath.tres", - "sha256": "241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/secret_tavern.tres", - "sha256": "f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/staff_dormitory.tres", - "sha256": "8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/tea_lounge.tres", - "sha256": "77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/underground_guest_room.tres", - "sha256": "cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/vip_private_salon.tres", - "sha256": "1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/expansion/waste_processing.tres", - "sha256": "9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_corridor.tres", - "sha256": "d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/guest_elevator.tres", - "sha256": "ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/guest_stairs.tres", - "sha256": "757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/infrastructure/service_stairs.tres", - "sha256": "637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/kitchen.tres", - "sha256": "38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/massage_room.tres", - "sha256": "75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/public_bath.tres", - "sha256": "8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/reception.tres", - "sha256": "bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/rescue/infirmary.tres", - "sha256": "c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/security_station.tres", - "sha256": "69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_corridor.tres", - "sha256": "5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/service_elevator.tres", - "sha256": "35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_door.tres", - "sha256": "a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/staff_waiting_room.tres", - "sha256": "5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/standard_room.tres", - "sha256": "89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/tavern.tres", - "sha256": "eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "data/facilities/warehouse.tres", - "sha256": "d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "current_definition_ids": [], - "current_definition_paths": [], - "connections": { - "normal_entry": { - "status": "unverified", - "accepted": false, - "note": "adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.", - "evidence": [ - { - "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "runtime": { - "status": "unverified", - "accepted": false, - "note": "Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "マナ炉", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [ - { - "line": 437, - "text": "\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/data/facility_catalog.gd", - "sha256": "7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29", - "searched_tokens": [ - "マナ炉", - "FacilityCatalog.FACILITY_PATHS" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "event_state": { - "status": "unverified", - "accepted": false, - "note": "No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "save": { - "status": "unverified", - "accepted": false, - "note": "Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.", - "evidence": [ - { - "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "searched_tokens": [ - "マナ炉", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 555, - "text": "\t\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2012, - "text": "\t\t&\"events\": event_service.create_snapshot()," - }, - { - "line": 2221, - "text": "\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\" - }, - { - "line": 4602, - "text": "\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/core/save_service.gd", - "sha256": "0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617", - "searched_tokens": [ - "マナ炉", - "event_service.create_snapshot()", - "save_snapshot" - ], - "matches": [ - { - "line": 29, - "text": "static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:" - }, - { - "line": 37, - "text": "\tvar result := _save_snapshot_absolute(" - }, - { - "line": 145, - "text": "\tvar candidate := _save_snapshot_absolute(" - }, - { - "line": 673, - "text": "static func _save_snapshot_absolute(" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - }, - "test": { - "status": "unverified", - "accepted": false, - "note": "Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.", - "evidence": [ - { - "path": "tests/s6/test_runtime_snapshot_serialization.gd", - "sha256": "d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s2/test_facility_service.gd", - "sha256": "4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "tests/s4/test_runtime_relationship_events.gd", - "sha256": "466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3", - "searched_tokens": [ - "マナ炉" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - "media_usage_slots": [ - { - "slot_id": "original_facility_26.lv1.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv1.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv1.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv1.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 1, - "layer": "front", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv1.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv1.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv1.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv1.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 1, - "layer": "back", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv2.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv2.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv2.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv2.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 2, - "layer": "front", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv2.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv2.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv2.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv2.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 2, - "layer": "back", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv3.front.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv3.front.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv3.front.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv3.front.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 3, - "layer": "front", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv3.back.exterior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv3.back.exterior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "exterior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - }, - { - "slot_id": "original_facility_26.lv3.back.interior", - "source_path": "docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json", - "source_sha256": "56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491", - "source_record": { - "slot_id": "original_facility_26.lv3.back.interior", - "requirement": [ - "B-13.3", - "B-10.6" - ], - "facility_name": "マナ炉", - "definition_id": null, - "level": 3, - "layer": "back", - "surface": "interior", - "original_placement": "BACK地下", - "creator": "unassigned", - "status": "unverified_required_slot", - "approved_asset": null, - "existing_candidate": null, - "note": "Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count." - }, - "status": "unverified_required_slot", - "approved_asset": null, - "content_complete": false - } - ], - "actual_required_asset_count": null, - "actual_required_asset_count_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false - } - ], - "nonfacility_differences": [ - { - "difference_id": "P13-03.event", - "category": "event", - "requirement_ids": [ - "B-1.6", - "B-2.5", - "B-8.2", - "B-8.3" - ], - "authority_path": "docs/traceability/original/BASELINE.txt", - "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", - "related_original_sections": [ - "1.6", - "2.5", - "8.2", - "8.3", - "10.4", - "10.6", - "13", - "14" - ], - "content_ids": null, - "content_ids_status": "unknown", - "quantity": null, - "quantity_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false, - "decisions": [ - "D08", - "D09" - ], - "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", - "technical_observation": { - "status": "unverified", - "accepted": false, - "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", - "evidence": [ - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "event" - ], - "matches": [ - { - "line": 4, - "text": "## Deterministic event candidate queue, foreground actor locking and transactional" - }, - { - "line": 11, - "text": "signal event_registered(definition: EventDefinition)" - }, - { - "line": 12, - "text": "signal event_enqueued(instance: EventInstance)" - }, - { - "line": 13, - "text": "signal event_started(instance: EventInstance)" - }, - { - "line": 14, - "text": "signal event_finished(instance: EventInstance)" - }, - { - "line": 15, - "text": "signal event_cancelled(instance: EventInstance, reason: StringName)" - }, - { - "line": 18, - "text": "const EventDefinitionType = preload(\"res://scripts/events/event_definition.gd\")" - }, - { - "line": 19, - "text": "const EventInstanceType = preload(\"res://scripts/events/event_instance.gd\")" - }, - { - "line": 20, - "text": "const EventActionType = preload(\"res://scripts/events/event_action.gd\")" - }, - { - "line": 39, - "text": "var _next_event_sequence := 1" - }, - { - "line": 78, - "text": "## a queued event acquires actors or executes actions. It is rebuilt on restore." - }, - { - "line": 125, - "text": "\tif _definitions.has(definition.event_id):" - }, - { - "line": 126, - "text": "\t\treturn _invalid(\"Duplicate EventDefinition: %s\" % definition.event_id)" - }, - { - "line": 127, - "text": "\t_definitions[definition.event_id] = definition" - }, - { - "line": 128, - "text": "\tevent_registered.emit(definition)" - }, - { - "line": 130, - "text": "\treturn _success({&\"event_id\": definition.event_id})" - }, - { - "line": 133, - "text": "func create_definition(event_id: StringName, options: Dictionary = {}) -> CommandResult:" - }, - { - "line": 134, - "text": "\treturn register_definition(EventDefinitionType.new().configure(event_id, options))" - }, - { - "line": 137, - "text": "func get_definition(event_id: StringName) -> EventDefinition:" - }, - { - "line": 138, - "text": "\treturn _definitions.get(event_id) as EventDefinition" - }, - { - "line": 143, - "text": "\tfor event_id: StringName in _sorted_name_keys(_definitions):" - }, - { - "line": 144, - "text": "\t\tresult.append(_definitions[event_id])" - }, - { - "line": 152, - "text": "\t\t\terrors.append(\"Invalid definition: %s\" % definition.event_id)" - }, - { - "line": 154, - "text": "\t\t\tif not _definitions.has(definition.replacement_event_id):" - }, - { - "line": 155, - "text": "\t\t\t\terrors.append(\"Replacement missing: %s -> %s\" % [definition.event_id, definition.replacement_event_id])" - }, - { - "line": 156, - "text": "\t\t\telif _replacement_cycle_exists(definition.event_id):" - }, - { - "line": 157, - "text": "\t\t\t\terrors.append(\"Replacement cycle: %s\" % definition.event_id)" - }, - { - "line": 161, - "text": "func resolve_content_event(event_id: StringName) -> Dictionary:" - }, - { - "line": 162, - "text": "\tvar source := get_definition(event_id)" - }, - { - "line": 168, - "text": "\t\t\t&\"event_id\": event_id," - }, - { - "line": 178, - "text": "\t\t\t\t&\"event_id\": event_id," - }, - { - "line": 182, - "text": "\t\t\tvar replacement := get_definition(source.replacement_event_id)" - }, - { - "line": 183, - "text": "\t\t\tif replacement == null or replacement.event_id == source.event_id:" - }, - { - "line": 189, - "text": "\t\t\t\t&\"event_id\": replacement.event_id," - }, - { - "line": 198, - "text": "\tevent_id: StringName," - }, - { - "line": 203, - "text": "\tvar source := get_definition(event_id)" - }, - { - "line": 205, - "text": "\t\treturn _not_found(\"EventDefinition\", event_id)" - }, - { - "line": 208, - "text": "\tvar content_resolution := resolve_content_event(event_id)" - }, - { - "line": 211, - "text": "\tvar resolved_event_id := StringName(content_resolution[&\"event_id\"])" - }, - { - "line": 212, - "text": "\tvar definition := get_definition(resolved_event_id)" - }, - { - "line": 219, - "text": "\t\t_default_deduplication_key(event_id, normalized_actor_ids)" - }, - { - "line": 228, - "text": "\tvar instance_id := StringName(_value(options, &\"event_instance_id\", &\"\"))" - }, - { - "line": 231, - "text": "\t\tinstance_id = StringName(\"event_instance_%08d\" % _next_event_sequence)" - }, - { - "line": 243, - "text": "\t\treturn _invalid(\"Event candidate is prevented by placement protection.\", {&\"reason\": &\"PLACEMENT_PROTECTION\"})" - }, - { - "line": 246, - "text": "\t\tevent_id," - }, - { - "line": 247, - "text": "\t\tresolved_event_id," - }, - { - "line": 262, - "text": "\t\t_next_event_sequence += 1" - }, - { - "line": 264, - "text": "\tevent_enqueued.emit(instance)" - }, - { - "line": 267, - "text": "\t\t&\"event_instance_id\": instance_id," - }, - { - "line": 268, - "text": "\t\t&\"resolved_event_id\": resolved_event_id," - }, - { - "line": 273, - "text": "func start_next_event(absolute_minute: int, extra_context: Dictionary = {}) -> CommandResult:" - }, - { - "line": 282, - "text": "\t\t\t&\"event_instance_id\": _foreground_instance_id," - }, - { - "line": 290, - "text": "\t\tvar definition := get_definition(instance.resolved_event_id)" - }, - { - "line": 301, - "text": "\t\tvar original_definition := get_definition(instance.source_event_id)" - }, - { - "line": 310, - "text": "\t\t\t_foreground_instance_id = instance.event_instance_id" - }, - { - "line": 311, - "text": "\t\tevent_started.emit(instance)" - }, - { - "line": 337, - "text": "\t\t\t\t&\"event_instance_id\": instance.event_instance_id," - }, - { - "line": 346, - "text": "\t\t\t&\"event_instance_id\": instance.event_instance_id," - }, - { - "line": 358, - "text": "\t\tvar definition := get_definition(instance.resolved_event_id)" - }, - { - "line": 370, - "text": "\t\t\t&\"event_instance_id\": instance_id," - }, - { - "line": 379, - "text": "\tevent_instance_id: StringName," - }, - { - "line": 385, - "text": "\tvar result := _reserve_choice_cost_inside_transaction(event_instance_id, choice_id, absolute_minute, extra_context)" - }, - { - "line": 391, - "text": "\tevent_instance_id: StringName," - }, - { - "line": 396, - "text": "\tvar instance := get_instance(event_instance_id)" - }, - { - "line": 398, - "text": "\t\treturn _not_found(\"EventInstance\", event_instance_id)" - }, - { - "line": 401, - "text": "\tvar definition := get_definition(instance.resolved_event_id)" - }, - { - "line": 430, - "text": "\tevent_instance_id: StringName," - }, - { - "line": 437, - "text": "\tvar result := _submit_choice_inside_transaction(event_instance_id, choice_instance_id, choice_id, absolute_minute, extra_context)" - }, - { - "line": 443, - "text": "\tevent_instance_id: StringName," - }, - { - "line": 453, - "text": "\tvar instance := get_instance(event_instance_id)" - }, - { - "line": 455, - "text": "\t\treturn _not_found(\"EventInstance\", event_instance_id)" - }, - { - "line": 460, - "text": "\tvar definition := get_definition(instance.resolved_event_id)" - }, - { - "line": 477, - "text": "\t\tvar reserve_result := reserve_choice_cost(event_instance_id, choice_id, absolute_minute, extra_context)" - }, - { - "line": 543, - "text": "\t\t&\"event_instance_id\": event_instance_id," - }, - { - "line": 551, - "text": "\tchoice_resolved.emit(event_instance_id, choice_id, result.to_dictionary())" - }, - { - "line": 564, - "text": "\t\tvar definition := get_definition(instance.resolved_event_id)" - }, - { - "line": 567, - "text": "\t\t\t&\"event_instance_id\": instance.event_instance_id," - }, - { - "line": 574, - "text": "func cancel_event(event_instance_id: StringName, reason: StringName = &\"CANCELLED\") -> CommandResult:" - }, - { - "line": 575, - "text": "\tvar instance := get_instance(event_instance_id)" - }, - { - "line": 577, - "text": "\t\treturn _not_found(\"EventInstance\", event_instance_id)" - }, - { - "line": 584, - "text": "\treturn _success({&\"event_instance_id\": event_instance_id})" - }, - { - "line": 587, - "text": "func get_instance(event_instance_id: StringName) -> EventInstance:" - }, - { - "line": 588, - "text": "\treturn _instances.get(event_instance_id) as EventInstance" - }, - { - "line": 631, - "text": "\t\tif not instance.is_valid() or not _definitions.has(instance.resolved_event_id):" - }, - { - "line": 632, - "text": "\t\t\terrors.append(\"Invalid EventInstance: %s\" % instance.event_instance_id)" - }, - { - "line": 663, - "text": "\t\t&\"next_event_sequence\": _next_event_sequence," - }, - { - "line": 685, - "text": "\t_next_event_sequence = parsed[&\"next_event_sequence\"]" - }, - { - "line": 698, - "text": "## this routine never invents actors, events, choices, or route ownership." - }, - { - "line": 716, - "text": "\t\tif raw_instance is Dictionary and StringName(_value(raw_instance, &\"event_instance_id\", &\"\")) == foreground_id:" - }, - { - "line": 784, - "text": "\t\tif not instance.is_valid() or instances.has(instance.event_instance_id) or not _definitions.has(instance.resolved_event_id):" - }, - { - "line": 786, - "text": "\t\tinstances[instance.event_instance_id] = instance" - }, - { - "line": 820, - "text": "\tvar next_event := int(_value(snapshot, &\"next_event_sequence\", 0))" - }, - { - "line": 822, - "text": "\tif next_event < 1 or next_choice < 1:" - }, - { - "line": 851, - "text": "\t\t&\"next_event_sequence\": next_event," - }, - { - "line": 986, - "text": "\t\t\tvar event_id := StringName(_value(action.payload, &\"event_id\", &\"\"))" - }, - { - "line": 987, - "text": "\t\t\tif event_id.is_empty() or not _definitions.has(event_id):" - }, - { - "line": 988, - "text": "\t\t\t\treturn {&\"ok\": false, &\"error\": \"SCHEDULE_EVENT references an unknown event.\"}" - }, - { - "line": 993, - "text": "\t\t\t\t\tevent_id," - }, - { - "line": 998, - "text": "\t\t\t\treturn {&\"ok\": result.is_success(), &\"error\": result.message, &\"token\": result.details.get(&\"event_instance_id\", &\"\")}" - }, - { - "line": 1051, - "text": "\t\t\t\tbool(_value(action.payload, &\"irreversible_event\", false))" - }, - { - "line": 1087, - "text": "\t\t\t\t_actor_locks[replacement_id] = instance.event_instance_id" - }, - { - "line": 1113, - "text": "\t\t_actor_locks[actor_id] = instance.event_instance_id" - }, - { - "line": 1119, - "text": "\t\tif _actor_locks.get(actor_id, &\"\") == instance.event_instance_id:" - }, - { - "line": 1121, - "text": "\tif _foreground_instance_id == instance.event_instance_id:" - }, - { - "line": 1127, - "text": "\t_queue.erase(instance.event_instance_id)" - }, - { - "line": 1147, - "text": "\t\tvar source := get_definition(instance.source_event_id)" - }, - { - "line": 1151, - "text": "\t\t\t\t_completed_scope_keys[scope_key] = instance.event_instance_id" - }, - { - "line": 1152, - "text": "\t\tevent_finished.emit(instance)" - }, - { - "line": 1160, - "text": "\t\tevent_cancelled.emit(instance, &\"COST_RELEASE_FAILED\")" - }, - { - "line": 1165, - "text": "\tevent_cancelled.emit(instance, reason)" - }, - { - "line": 1243, - "text": "\tresult[&\"event_instance_id\"] = instance.event_instance_id" - }, - { - "line": 1257, - "text": "func _replacement_cycle_exists(event_id: StringName) -> bool:" - }, - { - "line": 1259, - "text": "\tvar current_id := event_id" - }, - { - "line": 1267, - "text": "\t\tcurrent_id = definition.replacement_event_id" - }, - { - "line": 1274, - "text": "\t\t\treturn StringName(\"save:%s\" % definition.event_id)" - }, - { - "line": 1276, - "text": "\t\t\treturn StringName(\"day:%s:%d\" % [definition.event_id, absolute_minute / 1_440])" - }, - { - "line": 1278, - "text": "\t\t\treturn StringName(\"pair:%s:%s\" % [definition.event_id, \",\".join(_names_to_strings(actor_ids))])" - }, - { - "line": 1297, - "text": "\t\t\treturn String(a.event_instance_id) < String(b.event_instance_id)" - }, - { - "line": 1301, - "text": "static func _default_deduplication_key(event_id: StringName, actor_ids: Array[StringName]) -> StringName:" - }, - { - "line": 1302, - "text": "\treturn StringName(\"%s:%s\" % [event_id, \",\".join(_names_to_strings(actor_ids))])" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_definition.gd", - "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", - "searched_tokens": [ - "event" - ], - "matches": [ - { - "line": 4, - "text": "const EventConditionType = preload(\"res://scripts/events/event_condition.gd\")" - }, - { - "line": 5, - "text": "const EventActionType = preload(\"res://scripts/events/event_action.gd\")" - }, - { - "line": 6, - "text": "const EventChoiceType = preload(\"res://scripts/events/event_choice.gd\")" - }, - { - "line": 41, - "text": "var event_id: StringName = &\"\"" - }, - { - "line": 55, - "text": "var replacement_event_id: StringName = &\"\"" - }, - { - "line": 64, - "text": "func configure(p_event_id: StringName, options: Dictionary = {}) -> EventDefinition:" - }, - { - "line": 65, - "text": "\tevent_id = p_event_id" - }, - { - "line": 79, - "text": "\treplacement_event_id = StringName(_value(options, &\"replacement_event_id\", &\"\"))" - }, - { - "line": 90, - "text": "\tif event_id.is_empty() or category.is_empty():" - }, - { - "line": 92, - "text": "\tif filter_behavior == FilterBehavior.REPLACE and replacement_event_id.is_empty():" - }, - { - "line": 94, - "text": "\tif replacement_event_id == event_id:" - }, - { - "line": 129, - "text": "\t\t&\"event_id\": String(event_id)," - }, - { - "line": 143, - "text": "\t\t&\"replacement_event_id\": String(replacement_event_id)," - }, - { - "line": 174, - "text": "\t\tStringName(_value(raw_value, &\"event_id\", &\"\"))," - } - ], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/ui/event_log_dialog.gd", - "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", - "searched_tokens": [ - "event" - ], - "matches": [ - { - "line": 4, - "text": "## View the existing retained event stream. No catalog membership, unlock," - }, - { - "line": 100, - "text": "var _event_list: ItemList" - }, - { - "line": 105, - "text": "var _selected_event_id := \"\"" - }, - { - "line": 124, - "text": "\t_event_list = ItemList.new()" - }, - { - "line": 125, - "text": "\t_event_list.name = \"EventLogList\"" - }, - { - "line": 126, - "text": "\t_event_list.custom_minimum_size.y = 150" - }, - { - "line": 127, - "text": "\t_event_list.size_flags_vertical = Control.SIZE_EXPAND_FILL" - }, - { - "line": 128, - "text": "\t_event_list.item_selected.connect(_select_row)" - }, - { - "line": 129, - "text": "\tcolumn.add_child(_event_list)" - }, - { - "line": 147, - "text": "func show_events() -> void:" - }, - { - "line": 154, - "text": "func get_event_rows() -> Array[Dictionary]:" - }, - { - "line": 158, - "text": "\tvar stream: Variant = _runtime.get(\"domain_events\")" - }, - { - "line": 159, - "text": "\tif stream == null or not stream.has_method(\"recent_events\"):" - }, - { - "line": 161, - "text": "\tfor event: SimulationDomainEvent in stream.recent_events():" - }, - { - "line": 162, - "text": "\t\trows.append(event.to_dictionary())" - }, - { - "line": 166, - "text": "func get_selected_event() -> Dictionary:" - }, - { - "line": 168, - "text": "\t\tif String(row[\"event_id\"]) == _selected_event_id:" - }, - { - "line": 174, - "text": "\tif _event_list == null:" - }, - { - "line": 176, - "text": "\t_rows = get_event_rows()" - }, - { - "line": 177, - "text": "\t_event_list.clear()" - }, - { - "line": 181, - "text": "\t\tvar presentation := get_event_presentation(row)" - }, - { - "line": 182, - "text": "\t\t_event_list.add_item(\"%s %s — %s\" % [presentation[&\"time\"], presentation[&\"title\"], presentation[&\"targets\"]])" - }, - { - "line": 183, - "text": "\t\t_event_list.set_item_tooltip(index, presentation[&\"supplement\"])" - }, - { - "line": 184, - "text": "\t\t_event_list.set_item_metadata(index, String(row[\"event_id\"]))" - }, - { - "line": 185, - "text": "\t\tif String(row[\"event_id\"]) == _selected_event_id:" - }, - { - "line": 191, - "text": "\t\t_event_list.select(selected_index)" - }, - { - "line": 194, - "text": "\t\t_selected_event_id = \"\"" - }, - { - "line": 202, - "text": "\t_selected_event_id = String(row[\"event_id\"])" - }, - { - "line": 203, - "text": "\tvar presentation := get_event_presentation(row)" - }, - { - "line": 214, - "text": "func get_event_presentation(row: Dictionary) -> Dictionary:" - }, - { - "line": 229, - "text": "\t\t&\"title\": String(EVENT_NAMES.get(StringName(row.get(\"event_type\", \"\")), \"未識別の記録\"))," - }, - { - "line": 233, - "text": "\t\t\trow.get(\"event_id\", \"\"), row.get(\"event_type\", \"\")," - }, - { - "line": 279, - "text": "\t_event_list.add_theme_stylebox_override(\"panel\", _skin_box(Color(\"f4e3bd\"), &\"panel_parchment\"))" - }, - { - "line": 282, - "text": "\t\t_event_list.add_theme_stylebox_override(key, _skin_box(Color(\"65452d\"), &\"button_pressed\"))" - }, - { - "line": 312, - "text": "\tif _event_list != null:" - }, - { - "line": 313, - "text": "\t\t_event_list.add_theme_color_override(\"font_color\", Color(\"d8eeea\") if layer == 1 else Color(\"55371e\"))" - }, - { - "line": 314, - "text": "\t\t_event_list.add_theme_color_override(\"font_selected_color\", Color(\"fff0cf\"))" - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - { - "difference_id": "P13-03.overlay", - "category": "overlay", - "requirement_ids": [ - "B-2.5" - ], - "authority_path": "docs/traceability/original/BASELINE.txt", - "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", - "related_original_sections": [ - "1.6", - "2.5", - "8.2", - "8.3", - "10.4", - "10.6", - "13", - "14" - ], - "content_ids": null, - "content_ids_status": "unknown", - "quantity": null, - "quantity_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false, - "decisions": [ - "D08", - "D09" - ], - "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", - "technical_observation": { - "status": "unverified", - "accepted": false, - "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", - "evidence": [ - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "overlay" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_definition.gd", - "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", - "searched_tokens": [ - "overlay" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/ui/event_log_dialog.gd", - "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", - "searched_tokens": [ - "overlay" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - { - "difference_id": "P13-03.history", - "category": "history", - "requirement_ids": [ - "B-1.6" - ], - "authority_path": "docs/traceability/original/BASELINE.txt", - "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", - "related_original_sections": [ - "1.6", - "2.5", - "8.2", - "8.3", - "10.4", - "10.6", - "13", - "14" - ], - "content_ids": null, - "content_ids_status": "unknown", - "quantity": null, - "quantity_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false, - "decisions": [ - "D08", - "D09" - ], - "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", - "technical_observation": { - "status": "unverified", - "accepted": false, - "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", - "evidence": [ - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "history" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_definition.gd", - "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", - "searched_tokens": [ - "history" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/ui/event_log_dialog.gd", - "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", - "searched_tokens": [ - "history" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - { - "difference_id": "P13-03.story", - "category": "story", - "requirement_ids": [ - "B-1.6" - ], - "authority_path": "docs/traceability/original/BASELINE.txt", - "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", - "related_original_sections": [ - "1.6", - "2.5", - "8.2", - "8.3", - "10.4", - "10.6", - "13", - "14" - ], - "content_ids": null, - "content_ids_status": "unknown", - "quantity": null, - "quantity_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false, - "decisions": [ - "D08", - "D09" - ], - "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", - "technical_observation": { - "status": "unverified", - "accepted": false, - "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", - "evidence": [ - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "story" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_definition.gd", - "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", - "searched_tokens": [ - "story" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/ui/event_log_dialog.gd", - "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", - "searched_tokens": [ - "story" - ], - "matches": [ - { - "line": 211, - "text": "## This is presentation of existing notification facts, not a story catalog." - } - ], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - { - "difference_id": "P13-03.voice", - "category": "voice", - "requirement_ids": [ - "B-1.6" - ], - "authority_path": "docs/traceability/original/BASELINE.txt", - "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", - "related_original_sections": [ - "1.6", - "2.5", - "8.2", - "8.3", - "10.4", - "10.6", - "13", - "14" - ], - "content_ids": null, - "content_ids_status": "unknown", - "quantity": null, - "quantity_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false, - "decisions": [ - "D08", - "D09" - ], - "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", - "technical_observation": { - "status": "unverified", - "accepted": false, - "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", - "evidence": [ - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "voice" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_definition.gd", - "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", - "searched_tokens": [ - "voice" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/ui/event_log_dialog.gd", - "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", - "searched_tokens": [ - "voice" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - }, - { - "difference_id": "P13-03.scene", - "category": "scene", - "requirement_ids": [ - "B-1.6" - ], - "authority_path": "docs/traceability/original/BASELINE.txt", - "authority_sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a", - "related_original_sections": [ - "1.6", - "2.5", - "8.2", - "8.3", - "10.4", - "10.6", - "13", - "14" - ], - "content_ids": null, - "content_ids_status": "unknown", - "quantity": null, - "quantity_status": "unknown", - "completed_asset_acceptance": "unverified", - "original_content_completion": "unverified", - "technical_as_content_credit": false, - "decisions": [ - "D08", - "D09" - ], - "difference": "Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.", - "technical_observation": { - "status": "unverified", - "accepted": false, - "note": "Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.", - "evidence": [ - { - "path": "scripts/events/event_service.gd", - "sha256": "d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103", - "searched_tokens": [ - "scene" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/events/event_definition.gd", - "sha256": "4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2", - "searched_tokens": [ - "scene" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - }, - { - "path": "scripts/ui/event_log_dialog.gd", - "sha256": "62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290", - "searched_tokens": [ - "scene" - ], - "matches": [], - "scope": "Static search of this file only; no execution or acceptance." - } - ] - } - } - ], - "unknowns": { - "D08": "unknown", - "D09": "unknown", - "final_content_ids": null, - "final_content_quantity": null, - "final_actual_asset_count": null - }, - "accounting": { - "packages": 30, - "delivery_units": 88, - "no_partial_credit": true, - "package_completion_inferred": false, - "original_views_edited": false, - "content_completion_inferred": false, - "technical_as_content_credit": false - }, - "asset_policy": "Usage slots are not image counts. Fallback, Kenney pack, mockup, candidate token, file existence and technical tests confer no content credit.", - "test_applicability": { - "runtime": { - "status": "not_applicable", - "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." - }, - "native": { - "status": "not_applicable", - "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." - }, - "Windows": { - "status": "not_applicable", - "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." - }, - "engine": { - "status": "not_applicable", - "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." - }, - "full_game_regression": { - "status": "not_applicable", - "reason": "Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed." - } - }, - "formal_validation": "pending_runner", - "formal_claude_review": "pending_runner", - "integration_gate": "Required p13-difference validator and separate formal Claude review must pass before integration." -} +{"schema_version":2,"task_id":"P13-03","acceptance_ids":["P13-03"],"requirement_ids":["B-1.6","B-2.5","B-8.2","B-8.3","B-10.4","B-10.6"],"validation_ids":["p13-difference"],"base_commit":"e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1","spec_raw_sha256":{"text_ref":"text_0001"},"spec_runner_text_sha256":{"text_ref":"text_0002"},"scope":{"text_ref":"text_0003"},"sources":[{"path":"docs/traceability/original/BASELINE.txt","sha256":{"text_ref":"text_0004"},"applicability":"current_checkout"},{"path":"docs/plans/original-completion-2026-10-02/work_packages.json","sha256":{"text_ref":"text_0005"},"applicability":"base_git_blob","commit":"e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1","scope":{"text_ref":"text_0006"}},{"path":{"text_ref":"text_0007"},"sha256":{"text_ref":"text_0008"},"applicability":"current_checkout"},{"path":{"text_ref":"text_0009"},"sha256":{"text_ref":"text_0010"},"applicability":"current_checkout"},{"path":{"text_ref":"text_0011"},"sha256":{"text_ref":"text_0012"},"applicability":"current_checkout"},{"path":"docs/plans/original-completion-2026-10-02/decisions.json","sha256":{"text_ref":"text_0013"},"applicability":"current_checkout"},{"path":"autoload/simulation_runtime.gd","sha256":{"text_ref":"text_0014"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/adult_private_room.tres","sha256":{"text_ref":"text_0016"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/cafeteria.tres","sha256":{"text_ref":"text_0017"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/black_market.tres","sha256":{"text_ref":"text_0018"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/chapel.tres","sha256":{"text_ref":"text_0019"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/cleaning_room.tres","sha256":{"text_ref":"text_0020"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/clinic.tres","sha256":{"text_ref":"text_0021"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/cold_storage.tres","sha256":{"text_ref":"text_0022"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/general_store.tres","sha256":{"text_ref":"text_0023"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/guild_counter.tres","sha256":{"text_ref":"text_0024"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/laundry.tres","sha256":{"text_ref":"text_0025"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/maintenance_workshop.tres","sha256":{"text_ref":"text_0026"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/mana_control_room.tres","sha256":{"text_ref":"text_0027"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/premium_room.tres","sha256":{"text_ref":"text_0028"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/private_bath.tres","sha256":{"text_ref":"text_0029"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/secret_tavern.tres","sha256":{"text_ref":"text_0030"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/staff_dormitory.tres","sha256":{"text_ref":"text_0031"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/tea_lounge.tres","sha256":{"text_ref":"text_0032"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/underground_guest_room.tres","sha256":{"text_ref":"text_0033"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/vip_private_salon.tres","sha256":{"text_ref":"text_0034"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/waste_processing.tres","sha256":{"text_ref":"text_0035"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/guest_corridor.tres","sha256":{"text_ref":"text_0036"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/guest_elevator.tres","sha256":{"text_ref":"text_0037"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/infrastructure/guest_stairs.tres","sha256":{"text_ref":"text_0038"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/infrastructure/service_stairs.tres","sha256":{"text_ref":"text_0039"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/kitchen.tres","sha256":{"text_ref":"text_0040"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/massage_room.tres","sha256":{"text_ref":"text_0041"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/public_bath.tres","sha256":{"text_ref":"text_0042"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/reception.tres","sha256":{"text_ref":"text_0043"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/rescue/infirmary.tres","sha256":{"text_ref":"text_0044"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/security_station.tres","sha256":{"text_ref":"text_0045"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/service_corridor.tres","sha256":{"text_ref":"text_0046"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/service_elevator.tres","sha256":{"text_ref":"text_0047"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/staff_door.tres","sha256":{"text_ref":"text_0048"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/staff_waiting_room.tres","sha256":{"text_ref":"text_0049"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/standard_room.tres","sha256":{"text_ref":"text_0050"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/tavern.tres","sha256":{"text_ref":"text_0051"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/warehouse.tres","sha256":{"text_ref":"text_0052"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scenes/main/main.gd","sha256":{"text_ref":"text_0053"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/core/save_service.gd","sha256":{"text_ref":"text_0054"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/data/facility_catalog.gd","sha256":{"text_ref":"text_0055"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/events/event_definition.gd","sha256":{"text_ref":"text_0056"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/events/event_service.gd","sha256":{"text_ref":"text_0057"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/ui/event_log_dialog.gd","sha256":{"text_ref":"text_0058"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s2/test_facility_service.gd","sha256":{"text_ref":"text_0059"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s4/test_runtime_relationship_events.gd","sha256":{"text_ref":"text_0060"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s6/test_runtime_snapshot_serialization.gd","sha256":{"text_ref":"text_0061"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}}],"facilities":[{"original_id":"original_facility_13","original":{"section":"10.4","name":"風俗個室","definition_id":"adult_private_room","original_size":"2x1","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0001"},{"evidence_ref":"evidence_0002"},{"evidence_ref":"evidence_0003"},{"evidence_ref":"evidence_0004"},{"evidence_ref":"evidence_0005"},{"evidence_ref":"evidence_0006"},{"evidence_ref":"evidence_0007"},{"evidence_ref":"evidence_0008"},{"evidence_ref":"evidence_0009"},{"evidence_ref":"evidence_0010"},{"evidence_ref":"evidence_0011"},{"evidence_ref":"evidence_0012"},{"evidence_ref":"evidence_0013"},{"evidence_ref":"evidence_0014"},{"evidence_ref":"evidence_0015"},{"evidence_ref":"evidence_0016"},{"evidence_ref":"evidence_0017"},{"evidence_ref":"evidence_0018"},{"evidence_ref":"evidence_0019"},{"evidence_ref":"evidence_0020"},{"evidence_ref":"evidence_0021"},{"evidence_ref":"evidence_0022"},{"evidence_ref":"evidence_0023"},{"evidence_ref":"evidence_0024"},{"evidence_ref":"evidence_0025"},{"evidence_ref":"evidence_0026"},{"evidence_ref":"evidence_0027"},{"evidence_ref":"evidence_0028"},{"evidence_ref":"evidence_0029"},{"evidence_ref":"evidence_0030"},{"evidence_ref":"evidence_0031"},{"evidence_ref":"evidence_0032"},{"evidence_ref":"evidence_0033"},{"evidence_ref":"evidence_0034"},{"evidence_ref":"evidence_0035"},{"evidence_ref":"evidence_0036"},{"evidence_ref":"evidence_0037"},{"evidence_ref":"evidence_0038"}]},"current_definition_ids":["adult_private_room"],"current_definition_paths":["data/facilities/adult_private_room.tres"],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0039"},{"evidence_ref":"evidence_0001"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0040"},{"evidence_ref":"evidence_0041"},{"evidence_ref":"evidence_0042"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0043"},{"evidence_ref":"evidence_0044"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0045"},{"evidence_ref":"evidence_0046"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0047"},{"evidence_ref":"evidence_0048"},{"evidence_ref":"evidence_0049"}]}},"media_usage_slots":[{"slot_id":"adult_private_room.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_14","original":{"section":"10.4","name":"高級ソープ","definition_id":null,"original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0050"},{"evidence_ref":"evidence_0051"},{"evidence_ref":"evidence_0052"},{"evidence_ref":"evidence_0053"},{"evidence_ref":"evidence_0054"},{"evidence_ref":"evidence_0055"},{"evidence_ref":"evidence_0056"},{"evidence_ref":"evidence_0057"},{"evidence_ref":"evidence_0058"},{"evidence_ref":"evidence_0059"},{"evidence_ref":"evidence_0060"},{"evidence_ref":"evidence_0061"},{"evidence_ref":"evidence_0062"},{"evidence_ref":"evidence_0063"},{"evidence_ref":"evidence_0064"},{"evidence_ref":"evidence_0065"},{"evidence_ref":"evidence_0066"},{"evidence_ref":"evidence_0067"},{"evidence_ref":"evidence_0068"},{"evidence_ref":"evidence_0069"},{"evidence_ref":"evidence_0070"},{"evidence_ref":"evidence_0071"},{"evidence_ref":"evidence_0072"},{"evidence_ref":"evidence_0073"},{"evidence_ref":"evidence_0074"},{"evidence_ref":"evidence_0075"},{"evidence_ref":"evidence_0076"},{"evidence_ref":"evidence_0077"},{"evidence_ref":"evidence_0078"},{"evidence_ref":"evidence_0079"},{"evidence_ref":"evidence_0080"},{"evidence_ref":"evidence_0081"},{"evidence_ref":"evidence_0082"},{"evidence_ref":"evidence_0083"},{"evidence_ref":"evidence_0084"},{"evidence_ref":"evidence_0085"},{"evidence_ref":"evidence_0086"},{"evidence_ref":"evidence_0087"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0088"},{"evidence_ref":"evidence_0050"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0089"},{"evidence_ref":"evidence_0090"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0091"},{"evidence_ref":"evidence_0092"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0093"},{"evidence_ref":"evidence_0094"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0095"},{"evidence_ref":"evidence_0096"},{"evidence_ref":"evidence_0097"}]}},"media_usage_slots":[{"slot_id":"original_facility_14.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_15","original":{"section":"10.4","name":"SM拷問室","definition_id":null,"original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0098"},{"evidence_ref":"evidence_0099"},{"evidence_ref":"evidence_0100"},{"evidence_ref":"evidence_0101"},{"evidence_ref":"evidence_0102"},{"evidence_ref":"evidence_0103"},{"evidence_ref":"evidence_0104"},{"evidence_ref":"evidence_0105"},{"evidence_ref":"evidence_0106"},{"evidence_ref":"evidence_0107"},{"evidence_ref":"evidence_0108"},{"evidence_ref":"evidence_0109"},{"evidence_ref":"evidence_0110"},{"evidence_ref":"evidence_0111"},{"evidence_ref":"evidence_0112"},{"evidence_ref":"evidence_0113"},{"evidence_ref":"evidence_0114"},{"evidence_ref":"evidence_0115"},{"evidence_ref":"evidence_0116"},{"evidence_ref":"evidence_0117"},{"evidence_ref":"evidence_0118"},{"evidence_ref":"evidence_0119"},{"evidence_ref":"evidence_0120"},{"evidence_ref":"evidence_0121"},{"evidence_ref":"evidence_0122"},{"evidence_ref":"evidence_0123"},{"evidence_ref":"evidence_0124"},{"evidence_ref":"evidence_0125"},{"evidence_ref":"evidence_0126"},{"evidence_ref":"evidence_0127"},{"evidence_ref":"evidence_0128"},{"evidence_ref":"evidence_0129"},{"evidence_ref":"evidence_0130"},{"evidence_ref":"evidence_0131"},{"evidence_ref":"evidence_0132"},{"evidence_ref":"evidence_0133"},{"evidence_ref":"evidence_0134"},{"evidence_ref":"evidence_0135"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0136"},{"evidence_ref":"evidence_0098"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0137"},{"evidence_ref":"evidence_0138"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0139"},{"evidence_ref":"evidence_0140"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0141"},{"evidence_ref":"evidence_0142"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0143"},{"evidence_ref":"evidence_0144"},{"evidence_ref":"evidence_0145"}]}},"media_usage_slots":[{"slot_id":"original_facility_15.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_16","original":{"section":"10.4","name":"闇市場","definition_id":"black_market","original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0146"},{"evidence_ref":"evidence_0147"},{"evidence_ref":"evidence_0148"},{"evidence_ref":"evidence_0149"},{"evidence_ref":"evidence_0150"},{"evidence_ref":"evidence_0151"},{"evidence_ref":"evidence_0152"},{"evidence_ref":"evidence_0153"},{"evidence_ref":"evidence_0154"},{"evidence_ref":"evidence_0155"},{"evidence_ref":"evidence_0156"},{"evidence_ref":"evidence_0157"},{"evidence_ref":"evidence_0158"},{"evidence_ref":"evidence_0159"},{"evidence_ref":"evidence_0160"},{"evidence_ref":"evidence_0161"},{"evidence_ref":"evidence_0162"},{"evidence_ref":"evidence_0163"},{"evidence_ref":"evidence_0164"},{"evidence_ref":"evidence_0165"},{"evidence_ref":"evidence_0166"},{"evidence_ref":"evidence_0167"},{"evidence_ref":"evidence_0168"},{"evidence_ref":"evidence_0169"},{"evidence_ref":"evidence_0170"},{"evidence_ref":"evidence_0171"},{"evidence_ref":"evidence_0172"},{"evidence_ref":"evidence_0173"},{"evidence_ref":"evidence_0174"},{"evidence_ref":"evidence_0175"},{"evidence_ref":"evidence_0176"},{"evidence_ref":"evidence_0177"},{"evidence_ref":"evidence_0178"},{"evidence_ref":"evidence_0179"},{"evidence_ref":"evidence_0180"},{"evidence_ref":"evidence_0181"},{"evidence_ref":"evidence_0182"},{"evidence_ref":"evidence_0183"}]},"current_definition_ids":["black_market"],"current_definition_paths":["data/facilities/expansion/black_market.tres"],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0184"},{"evidence_ref":"evidence_0146"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0185"},{"evidence_ref":"evidence_0186"},{"evidence_ref":"evidence_0187"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0188"},{"evidence_ref":"evidence_0189"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0190"},{"evidence_ref":"evidence_0191"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0192"},{"evidence_ref":"evidence_0193"},{"evidence_ref":"evidence_0194"}]}},"media_usage_slots":[{"slot_id":"black_market.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_24","original":{"section":"10.6","name":"覗き部屋","definition_id":null,"original_size":"2x1","original_layer_zone":"BACK"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0195"},{"evidence_ref":"evidence_0196"},{"evidence_ref":"evidence_0197"},{"evidence_ref":"evidence_0198"},{"evidence_ref":"evidence_0199"},{"evidence_ref":"evidence_0200"},{"evidence_ref":"evidence_0201"},{"evidence_ref":"evidence_0202"},{"evidence_ref":"evidence_0203"},{"evidence_ref":"evidence_0204"},{"evidence_ref":"evidence_0205"},{"evidence_ref":"evidence_0206"},{"evidence_ref":"evidence_0207"},{"evidence_ref":"evidence_0208"},{"evidence_ref":"evidence_0209"},{"evidence_ref":"evidence_0210"},{"evidence_ref":"evidence_0211"},{"evidence_ref":"evidence_0212"},{"evidence_ref":"evidence_0213"},{"evidence_ref":"evidence_0214"},{"evidence_ref":"evidence_0215"},{"evidence_ref":"evidence_0216"},{"evidence_ref":"evidence_0217"},{"evidence_ref":"evidence_0218"},{"evidence_ref":"evidence_0219"},{"evidence_ref":"evidence_0220"},{"evidence_ref":"evidence_0221"},{"evidence_ref":"evidence_0222"},{"evidence_ref":"evidence_0223"},{"evidence_ref":"evidence_0224"},{"evidence_ref":"evidence_0225"},{"evidence_ref":"evidence_0226"},{"evidence_ref":"evidence_0227"},{"evidence_ref":"evidence_0228"},{"evidence_ref":"evidence_0229"},{"evidence_ref":"evidence_0230"},{"evidence_ref":"evidence_0231"},{"evidence_ref":"evidence_0232"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0233"},{"evidence_ref":"evidence_0195"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0234"},{"evidence_ref":"evidence_0235"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0236"},{"evidence_ref":"evidence_0237"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0238"},{"evidence_ref":"evidence_0239"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0240"},{"evidence_ref":"evidence_0241"},{"evidence_ref":"evidence_0242"}]}},"media_usage_slots":[{"slot_id":"original_facility_24.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_25","original":{"section":"10.6","name":"地下牢","definition_id":null,"original_size":"4x2","original_layer_zone":"BACK地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0243"},{"evidence_ref":"evidence_0244"},{"evidence_ref":"evidence_0245"},{"evidence_ref":"evidence_0246"},{"evidence_ref":"evidence_0247"},{"evidence_ref":"evidence_0248"},{"evidence_ref":"evidence_0249"},{"evidence_ref":"evidence_0250"},{"evidence_ref":"evidence_0251"},{"evidence_ref":"evidence_0252"},{"evidence_ref":"evidence_0253"},{"evidence_ref":"evidence_0254"},{"evidence_ref":"evidence_0255"},{"evidence_ref":"evidence_0256"},{"evidence_ref":"evidence_0257"},{"evidence_ref":"evidence_0258"},{"evidence_ref":"evidence_0259"},{"evidence_ref":"evidence_0260"},{"evidence_ref":"evidence_0261"},{"evidence_ref":"evidence_0262"},{"evidence_ref":"evidence_0263"},{"evidence_ref":"evidence_0264"},{"evidence_ref":"evidence_0265"},{"evidence_ref":"evidence_0266"},{"evidence_ref":"evidence_0267"},{"evidence_ref":"evidence_0268"},{"evidence_ref":"evidence_0269"},{"evidence_ref":"evidence_0270"},{"evidence_ref":"evidence_0271"},{"evidence_ref":"evidence_0272"},{"evidence_ref":"evidence_0273"},{"evidence_ref":"evidence_0274"},{"evidence_ref":"evidence_0275"},{"evidence_ref":"evidence_0276"},{"evidence_ref":"evidence_0277"},{"evidence_ref":"evidence_0278"},{"evidence_ref":"evidence_0279"},{"evidence_ref":"evidence_0280"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0281"},{"evidence_ref":"evidence_0243"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0282"},{"evidence_ref":"evidence_0283"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0284"},{"evidence_ref":"evidence_0285"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0286"},{"evidence_ref":"evidence_0287"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0288"},{"evidence_ref":"evidence_0289"},{"evidence_ref":"evidence_0290"}]}},"media_usage_slots":[{"slot_id":"original_facility_25.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_26","original":{"section":"10.6","name":"マナ炉","definition_id":null,"original_size":"6x3","original_layer_zone":"BACK地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0291"},{"evidence_ref":"evidence_0292"},{"evidence_ref":"evidence_0293"},{"evidence_ref":"evidence_0294"},{"evidence_ref":"evidence_0295"},{"evidence_ref":"evidence_0296"},{"evidence_ref":"evidence_0297"},{"evidence_ref":"evidence_0298"},{"evidence_ref":"evidence_0299"},{"evidence_ref":"evidence_0300"},{"evidence_ref":"evidence_0301"},{"evidence_ref":"evidence_0302"},{"evidence_ref":"evidence_0303"},{"evidence_ref":"evidence_0304"},{"evidence_ref":"evidence_0305"},{"evidence_ref":"evidence_0306"},{"evidence_ref":"evidence_0307"},{"evidence_ref":"evidence_0308"},{"evidence_ref":"evidence_0309"},{"evidence_ref":"evidence_0310"},{"evidence_ref":"evidence_0311"},{"evidence_ref":"evidence_0312"},{"evidence_ref":"evidence_0313"},{"evidence_ref":"evidence_0314"},{"evidence_ref":"evidence_0315"},{"evidence_ref":"evidence_0316"},{"evidence_ref":"evidence_0317"},{"evidence_ref":"evidence_0318"},{"evidence_ref":"evidence_0319"},{"evidence_ref":"evidence_0320"},{"evidence_ref":"evidence_0321"},{"evidence_ref":"evidence_0322"},{"evidence_ref":"evidence_0323"},{"evidence_ref":"evidence_0324"},{"evidence_ref":"evidence_0325"},{"evidence_ref":"evidence_0326"},{"evidence_ref":"evidence_0327"},{"evidence_ref":"evidence_0328"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0329"},{"evidence_ref":"evidence_0291"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0330"},{"evidence_ref":"evidence_0331"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0332"},{"evidence_ref":"evidence_0333"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0334"},{"evidence_ref":"evidence_0335"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0336"},{"evidence_ref":"evidence_0337"},{"evidence_ref":"evidence_0338"}]}},"media_usage_slots":[{"slot_id":"original_facility_26.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false}],"nonfacility_differences":[{"difference_id":"P13-03.event","category":"event","requirement_ids":["B-1.6","B-2.5","B-8.2","B-8.3"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0339"},{"evidence_ref":"evidence_0340"},{"evidence_ref":"evidence_0341"}]}},{"difference_id":"P13-03.overlay","category":"overlay","requirement_ids":["B-2.5"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0342"},{"evidence_ref":"evidence_0343"},{"evidence_ref":"evidence_0344"}]}},{"difference_id":"P13-03.history","category":"history","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0345"},{"evidence_ref":"evidence_0346"},{"evidence_ref":"evidence_0347"}]}},{"difference_id":"P13-03.story","category":"story","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0348"},{"evidence_ref":"evidence_0349"},{"evidence_ref":"evidence_0350"}]}},{"difference_id":"P13-03.voice","category":"voice","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0351"},{"evidence_ref":"evidence_0352"},{"evidence_ref":"evidence_0353"}]}},{"difference_id":"P13-03.scene","category":"scene","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0354"},{"evidence_ref":"evidence_0355"},{"evidence_ref":"evidence_0356"}]}}],"unknowns":{"D08":"unknown","D09":"unknown","final_content_ids":null,"final_content_quantity":null,"final_actual_asset_count":null},"accounting":{"packages":30,"delivery_units":88,"no_partial_credit":true,"package_completion_inferred":false,"original_views_edited":false,"content_completion_inferred":false,"technical_as_content_credit":false},"asset_policy":{"text_ref":"text_0131"},"test_applicability":{"runtime":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"native":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"Windows":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"engine":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"full_game_regression":{"status":"not_applicable","reason":{"text_ref":"text_0132"}}},"formal_validation":"pending_runner","formal_claude_review":"pending_runner","integration_gate":{"text_ref":"text_0133"},"shared_text":{"text_0001":"917cf1504bbfc700e0da42b2db496b42486fe3c36c680f301f58cf34c95267b6","text_0002":"e1255835c1227e02bac42eb99b026b0fcbe69c272f9ed0b36199a2daf8d55c53","text_0003":"Existing original P13-03 documentation/accounting delivery. This does not implement or accept P13-01/P13-02, sexual scenes, original game completion, numerical mana choices or Windows acceptance.","text_0004":"75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a","text_0005":"bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af","text_0006":"Frozen contract input. Live plan state is maintained separately and is not content completion evidence.","text_0007":"docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json","text_0008":"df0c933220449c8bb3e0fd942ad6f1dee49075abdd6587c4856022e12e3665cf","text_0009":"docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json","text_0010":"56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491","text_0011":"docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json","text_0012":"298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9","text_0013":"ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9","text_0014":"d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39","text_0015":"Bounded static observation; no executed connection/content acceptance.","text_0016":"d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d","text_0017":"86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a","text_0018":"c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42","text_0019":"9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb","text_0020":"ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8","text_0021":"339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16","text_0022":"1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99","text_0023":"76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1","text_0024":"93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b","text_0025":"2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4","text_0026":"8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b","text_0027":"55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25","text_0028":"6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98","text_0029":"241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c","text_0030":"f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62","text_0031":"8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271","text_0032":"77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67","text_0033":"cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e","text_0034":"1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7","text_0035":"9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d","text_0036":"d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b","text_0037":"ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7","text_0038":"757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6","text_0039":"637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c","text_0040":"38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3","text_0041":"75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85","text_0042":"8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778","text_0043":"bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f","text_0044":"c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943","text_0045":"69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3","text_0046":"5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254","text_0047":"35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132","text_0048":"a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752","text_0049":"5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f","text_0050":"89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336","text_0051":"eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c","text_0052":"d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791","text_0053":"a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3","text_0054":"0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617","text_0055":"7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29","text_0056":"4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2","text_0057":"d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103","text_0058":"62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290","text_0059":"4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690","text_0060":"466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3","text_0061":"d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84","text_0062":"Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.","text_0063":"adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.","text_0064":"Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.","text_0065":"\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)","text_0066":"No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.","text_0067":"Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.","text_0068":"\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\","text_0069":"\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)","text_0070":"static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:","text_0071":"Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.","text_0072":"Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count.","text_0073":"Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.","text_0074":"Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.","text_0075":"## Deterministic event candidate queue, foreground actor locking and transactional","text_0076":"signal event_cancelled(instance: EventInstance, reason: StringName)","text_0077":"const EventDefinitionType = preload(\"res://scripts/events/event_definition.gd\")","text_0078":"const EventInstanceType = preload(\"res://scripts/events/event_instance.gd\")","text_0079":"const EventActionType = preload(\"res://scripts/events/event_action.gd\")","text_0080":"## a queued event acquires actors or executes actions. It is rebuilt on restore.","text_0081":"\t\treturn _invalid(\"Duplicate EventDefinition: %s\" % definition.event_id)","text_0082":"func create_definition(event_id: StringName, options: Dictionary = {}) -> CommandResult:","text_0083":"\treturn register_definition(EventDefinitionType.new().configure(event_id, options))","text_0084":"\t\t\terrors.append(\"Invalid definition: %s\" % definition.event_id)","text_0085":"\t\t\t\terrors.append(\"Replacement missing: %s -> %s\" % [definition.event_id, definition.replacement_event_id])","text_0086":"\t\t\t\terrors.append(\"Replacement cycle: %s\" % definition.event_id)","text_0087":"\t\t\tvar replacement := get_definition(source.replacement_event_id)","text_0088":"\t\t\tif replacement == null or replacement.event_id == source.event_id:","text_0089":"\tvar resolved_event_id := StringName(content_resolution[&\"event_id\"])","text_0090":"\tvar instance_id := StringName(_value(options, &\"event_instance_id\", &\"\"))","text_0091":"\t\tinstance_id = StringName(\"event_instance_%08d\" % _next_event_sequence)","text_0092":"\t\treturn _invalid(\"Event candidate is prevented by placement protection.\", {&\"reason\": &\"PLACEMENT_PROTECTION\"})","text_0093":"func start_next_event(absolute_minute: int, extra_context: Dictionary = {}) -> CommandResult:","text_0094":"\t\tvar original_definition := get_definition(instance.source_event_id)","text_0095":"\tvar result := _reserve_choice_cost_inside_transaction(event_instance_id, choice_id, absolute_minute, extra_context)","text_0096":"\tvar result := _submit_choice_inside_transaction(event_instance_id, choice_instance_id, choice_id, absolute_minute, extra_context)","text_0097":"\t\tvar reserve_result := reserve_choice_cost(event_instance_id, choice_id, absolute_minute, extra_context)","text_0098":"\tchoice_resolved.emit(event_instance_id, choice_id, result.to_dictionary())","text_0099":"func cancel_event(event_instance_id: StringName, reason: StringName = &\"CANCELLED\") -> CommandResult:","text_0100":"func get_instance(event_instance_id: StringName) -> EventInstance:","text_0101":"\t\tif not instance.is_valid() or not _definitions.has(instance.resolved_event_id):","text_0102":"\t\t\terrors.append(\"Invalid EventInstance: %s\" % instance.event_instance_id)","text_0103":"## this routine never invents actors, events, choices, or route ownership.","text_0104":"\t\tif raw_instance is Dictionary and StringName(_value(raw_instance, &\"event_instance_id\", &\"\")) == foreground_id:","text_0105":"\t\tif not instance.is_valid() or instances.has(instance.event_instance_id) or not _definitions.has(instance.resolved_event_id):","text_0106":"\tvar next_event := int(_value(snapshot, &\"next_event_sequence\", 0))","text_0107":"\t\t\tvar event_id := StringName(_value(action.payload, &\"event_id\", &\"\"))","text_0108":"\t\t\t\treturn {&\"ok\": false, &\"error\": \"SCHEDULE_EVENT references an unknown event.\"}","text_0109":"\t\t\t\treturn {&\"ok\": result.is_success(), &\"error\": result.message, &\"token\": result.details.get(&\"event_instance_id\", &\"\")}","text_0110":"\t\tif _actor_locks.get(actor_id, &\"\") == instance.event_instance_id:","text_0111":"\t\t\t\t_completed_scope_keys[scope_key] = instance.event_instance_id","text_0112":"\t\t\treturn StringName(\"day:%s:%d\" % [definition.event_id, absolute_minute / 1_440])","text_0113":"\t\t\treturn StringName(\"pair:%s:%s\" % [definition.event_id, \",\".join(_names_to_strings(actor_ids))])","text_0114":"\t\t\treturn String(a.event_instance_id) < String(b.event_instance_id)","text_0115":"static func _default_deduplication_key(event_id: StringName, actor_ids: Array[StringName]) -> StringName:","text_0116":"\treturn StringName(\"%s:%s\" % [event_id, \",\".join(_names_to_strings(actor_ids))])","text_0117":"const EventConditionType = preload(\"res://scripts/events/event_condition.gd\")","text_0118":"const EventChoiceType = preload(\"res://scripts/events/event_choice.gd\")","text_0119":"func configure(p_event_id: StringName, options: Dictionary = {}) -> EventDefinition:","text_0120":"\treplacement_event_id = StringName(_value(options, &\"replacement_event_id\", &\"\"))","text_0121":"\tif filter_behavior == FilterBehavior.REPLACE and replacement_event_id.is_empty():","text_0122":"## View the existing retained event stream. No catalog membership, unlock,","text_0123":"\t\t_event_list.add_item(\"%s %s — %s\" % [presentation[&\"time\"], presentation[&\"title\"], presentation[&\"targets\"]])","text_0124":"\t\t_event_list.set_item_tooltip(index, presentation[&\"supplement\"])","text_0125":"\t\t&\"title\": String(EVENT_NAMES.get(StringName(row.get(\"event_type\", \"\")), \"未識別の記録\")),","text_0126":"\t_event_list.add_theme_stylebox_override(\"panel\", _skin_box(Color(\"f4e3bd\"), &\"panel_parchment\"))","text_0127":"\t\t_event_list.add_theme_stylebox_override(key, _skin_box(Color(\"65452d\"), &\"button_pressed\"))","text_0128":"\t\t_event_list.add_theme_color_override(\"font_color\", Color(\"d8eeea\") if layer == 1 else Color(\"55371e\"))","text_0129":"\t\t_event_list.add_theme_color_override(\"font_selected_color\", Color(\"fff0cf\"))","text_0130":"## This is presentation of existing notification facts, not a story catalog.","text_0131":"Usage slots are not image counts. Fallback, Kenney pack, mockup, candidate token, file existence and technical tests confer no content credit.","text_0132":"Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed.","text_0133":"Required p13-difference validator and separate formal Claude review must pass before integration."},"shared_evidence":{"evidence_0001":{"source_ref":"context_0001","search_ref":"context_0002","matches":[{"line":25,"text":"\t&\"adult_private_room\","},{"line":44,"text":"\t\"res://data/facilities/adult_private_room.tres\","}]},"evidence_0002":{"source_ref":"context_0003","search_ref":"context_0002","matches":[{"line":8,"text":"id = &\"adult_private_room\""}]},"evidence_0003":{"source_ref":"context_0004","search_ref":"context_0002","matches":[]},"evidence_0004":{"source_ref":"context_0005","search_ref":"context_0002","matches":[]},"evidence_0005":{"source_ref":"context_0006","search_ref":"context_0002","matches":[]},"evidence_0006":{"source_ref":"context_0007","search_ref":"context_0002","matches":[]},"evidence_0007":{"source_ref":"context_0008","search_ref":"context_0002","matches":[]},"evidence_0008":{"source_ref":"context_0009","search_ref":"context_0002","matches":[]},"evidence_0009":{"source_ref":"context_0010","search_ref":"context_0002","matches":[]},"evidence_0010":{"source_ref":"context_0011","search_ref":"context_0002","matches":[]},"evidence_0011":{"source_ref":"context_0012","search_ref":"context_0002","matches":[]},"evidence_0012":{"source_ref":"context_0013","search_ref":"context_0002","matches":[]},"evidence_0013":{"source_ref":"context_0014","search_ref":"context_0002","matches":[]},"evidence_0014":{"source_ref":"context_0015","search_ref":"context_0002","matches":[]},"evidence_0015":{"source_ref":"context_0016","search_ref":"context_0002","matches":[]},"evidence_0016":{"source_ref":"context_0017","search_ref":"context_0002","matches":[]},"evidence_0017":{"source_ref":"context_0018","search_ref":"context_0002","matches":[]},"evidence_0018":{"source_ref":"context_0019","search_ref":"context_0002","matches":[]},"evidence_0019":{"source_ref":"context_0020","search_ref":"context_0002","matches":[]},"evidence_0020":{"source_ref":"context_0021","search_ref":"context_0002","matches":[]},"evidence_0021":{"source_ref":"context_0022","search_ref":"context_0002","matches":[]},"evidence_0022":{"source_ref":"context_0023","search_ref":"context_0002","matches":[]},"evidence_0023":{"source_ref":"context_0024","search_ref":"context_0002","matches":[]},"evidence_0024":{"source_ref":"context_0025","search_ref":"context_0002","matches":[]},"evidence_0025":{"source_ref":"context_0026","search_ref":"context_0002","matches":[]},"evidence_0026":{"source_ref":"context_0027","search_ref":"context_0002","matches":[]},"evidence_0027":{"source_ref":"context_0028","search_ref":"context_0002","matches":[]},"evidence_0028":{"source_ref":"context_0029","search_ref":"context_0002","matches":[]},"evidence_0029":{"source_ref":"context_0030","search_ref":"context_0002","matches":[]},"evidence_0030":{"source_ref":"context_0031","search_ref":"context_0002","matches":[]},"evidence_0031":{"source_ref":"context_0032","search_ref":"context_0002","matches":[]},"evidence_0032":{"source_ref":"context_0033","search_ref":"context_0002","matches":[]},"evidence_0033":{"source_ref":"context_0034","search_ref":"context_0002","matches":[]},"evidence_0034":{"source_ref":"context_0035","search_ref":"context_0002","matches":[]},"evidence_0035":{"source_ref":"context_0036","search_ref":"context_0002","matches":[]},"evidence_0036":{"source_ref":"context_0037","search_ref":"context_0002","matches":[]},"evidence_0037":{"source_ref":"context_0038","search_ref":"context_0002","matches":[]},"evidence_0038":{"source_ref":"context_0039","search_ref":"context_0002","matches":[]},"evidence_0039":{"source_ref":"context_0040","search_ref":"context_0002","matches":[{"line":53,"text":"\t&\"adult_private_room\","}]},"evidence_0040":{"source_ref":"context_0041","search_ref":"context_0042","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0041":{"source_ref":"context_0001","search_ref":"context_0042","matches":[{"line":25,"text":"\t&\"adult_private_room\","},{"line":44,"text":"\t\"res://data/facilities/adult_private_room.tres\","}]},"evidence_0042":{"source_ref":"context_0003","search_ref":"context_0042","matches":[{"line":8,"text":"id = &\"adult_private_room\""}]},"evidence_0043":{"source_ref":"context_0041","search_ref":"context_0002","matches":[]},"evidence_0044":{"source_ref":"context_0043","search_ref":"context_0002","matches":[]},"evidence_0045":{"source_ref":"context_0041","search_ref":"context_0044","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0046":{"source_ref":"context_0045","search_ref":"context_0044","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0047":{"source_ref":"context_0046","search_ref":"context_0002","matches":[]},"evidence_0048":{"source_ref":"context_0047","search_ref":"context_0002","matches":[]},"evidence_0049":{"source_ref":"context_0048","search_ref":"context_0002","matches":[]},"evidence_0050":{"source_ref":"context_0001","search_ref":"context_0049","matches":[]},"evidence_0051":{"source_ref":"context_0003","search_ref":"context_0049","matches":[]},"evidence_0052":{"source_ref":"context_0004","search_ref":"context_0049","matches":[]},"evidence_0053":{"source_ref":"context_0005","search_ref":"context_0049","matches":[]},"evidence_0054":{"source_ref":"context_0006","search_ref":"context_0049","matches":[]},"evidence_0055":{"source_ref":"context_0007","search_ref":"context_0049","matches":[]},"evidence_0056":{"source_ref":"context_0008","search_ref":"context_0049","matches":[]},"evidence_0057":{"source_ref":"context_0009","search_ref":"context_0049","matches":[]},"evidence_0058":{"source_ref":"context_0010","search_ref":"context_0049","matches":[]},"evidence_0059":{"source_ref":"context_0011","search_ref":"context_0049","matches":[]},"evidence_0060":{"source_ref":"context_0012","search_ref":"context_0049","matches":[]},"evidence_0061":{"source_ref":"context_0013","search_ref":"context_0049","matches":[]},"evidence_0062":{"source_ref":"context_0014","search_ref":"context_0049","matches":[]},"evidence_0063":{"source_ref":"context_0015","search_ref":"context_0049","matches":[]},"evidence_0064":{"source_ref":"context_0016","search_ref":"context_0049","matches":[]},"evidence_0065":{"source_ref":"context_0017","search_ref":"context_0049","matches":[]},"evidence_0066":{"source_ref":"context_0018","search_ref":"context_0049","matches":[]},"evidence_0067":{"source_ref":"context_0019","search_ref":"context_0049","matches":[]},"evidence_0068":{"source_ref":"context_0020","search_ref":"context_0049","matches":[]},"evidence_0069":{"source_ref":"context_0021","search_ref":"context_0049","matches":[]},"evidence_0070":{"source_ref":"context_0022","search_ref":"context_0049","matches":[]},"evidence_0071":{"source_ref":"context_0023","search_ref":"context_0049","matches":[]},"evidence_0072":{"source_ref":"context_0024","search_ref":"context_0049","matches":[]},"evidence_0073":{"source_ref":"context_0025","search_ref":"context_0049","matches":[]},"evidence_0074":{"source_ref":"context_0026","search_ref":"context_0049","matches":[]},"evidence_0075":{"source_ref":"context_0027","search_ref":"context_0049","matches":[]},"evidence_0076":{"source_ref":"context_0028","search_ref":"context_0049","matches":[]},"evidence_0077":{"source_ref":"context_0029","search_ref":"context_0049","matches":[]},"evidence_0078":{"source_ref":"context_0030","search_ref":"context_0049","matches":[]},"evidence_0079":{"source_ref":"context_0031","search_ref":"context_0049","matches":[]},"evidence_0080":{"source_ref":"context_0032","search_ref":"context_0049","matches":[]},"evidence_0081":{"source_ref":"context_0033","search_ref":"context_0049","matches":[]},"evidence_0082":{"source_ref":"context_0034","search_ref":"context_0049","matches":[]},"evidence_0083":{"source_ref":"context_0035","search_ref":"context_0049","matches":[]},"evidence_0084":{"source_ref":"context_0036","search_ref":"context_0049","matches":[]},"evidence_0085":{"source_ref":"context_0037","search_ref":"context_0049","matches":[]},"evidence_0086":{"source_ref":"context_0038","search_ref":"context_0049","matches":[]},"evidence_0087":{"source_ref":"context_0039","search_ref":"context_0049","matches":[]},"evidence_0088":{"source_ref":"context_0040","search_ref":"context_0049","matches":[]},"evidence_0089":{"source_ref":"context_0041","search_ref":"context_0050","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0090":{"source_ref":"context_0001","search_ref":"context_0050","matches":[]},"evidence_0091":{"source_ref":"context_0041","search_ref":"context_0049","matches":[]},"evidence_0092":{"source_ref":"context_0043","search_ref":"context_0049","matches":[]},"evidence_0093":{"source_ref":"context_0041","search_ref":"context_0051","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0094":{"source_ref":"context_0045","search_ref":"context_0051","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0095":{"source_ref":"context_0046","search_ref":"context_0049","matches":[]},"evidence_0096":{"source_ref":"context_0047","search_ref":"context_0049","matches":[]},"evidence_0097":{"source_ref":"context_0048","search_ref":"context_0049","matches":[]},"evidence_0098":{"source_ref":"context_0001","search_ref":"context_0052","matches":[]},"evidence_0099":{"source_ref":"context_0003","search_ref":"context_0052","matches":[]},"evidence_0100":{"source_ref":"context_0004","search_ref":"context_0052","matches":[]},"evidence_0101":{"source_ref":"context_0005","search_ref":"context_0052","matches":[]},"evidence_0102":{"source_ref":"context_0006","search_ref":"context_0052","matches":[]},"evidence_0103":{"source_ref":"context_0007","search_ref":"context_0052","matches":[]},"evidence_0104":{"source_ref":"context_0008","search_ref":"context_0052","matches":[]},"evidence_0105":{"source_ref":"context_0009","search_ref":"context_0052","matches":[]},"evidence_0106":{"source_ref":"context_0010","search_ref":"context_0052","matches":[]},"evidence_0107":{"source_ref":"context_0011","search_ref":"context_0052","matches":[]},"evidence_0108":{"source_ref":"context_0012","search_ref":"context_0052","matches":[]},"evidence_0109":{"source_ref":"context_0013","search_ref":"context_0052","matches":[]},"evidence_0110":{"source_ref":"context_0014","search_ref":"context_0052","matches":[]},"evidence_0111":{"source_ref":"context_0015","search_ref":"context_0052","matches":[]},"evidence_0112":{"source_ref":"context_0016","search_ref":"context_0052","matches":[]},"evidence_0113":{"source_ref":"context_0017","search_ref":"context_0052","matches":[]},"evidence_0114":{"source_ref":"context_0018","search_ref":"context_0052","matches":[]},"evidence_0115":{"source_ref":"context_0019","search_ref":"context_0052","matches":[]},"evidence_0116":{"source_ref":"context_0020","search_ref":"context_0052","matches":[]},"evidence_0117":{"source_ref":"context_0021","search_ref":"context_0052","matches":[]},"evidence_0118":{"source_ref":"context_0022","search_ref":"context_0052","matches":[]},"evidence_0119":{"source_ref":"context_0023","search_ref":"context_0052","matches":[]},"evidence_0120":{"source_ref":"context_0024","search_ref":"context_0052","matches":[]},"evidence_0121":{"source_ref":"context_0025","search_ref":"context_0052","matches":[]},"evidence_0122":{"source_ref":"context_0026","search_ref":"context_0052","matches":[]},"evidence_0123":{"source_ref":"context_0027","search_ref":"context_0052","matches":[]},"evidence_0124":{"source_ref":"context_0028","search_ref":"context_0052","matches":[]},"evidence_0125":{"source_ref":"context_0029","search_ref":"context_0052","matches":[]},"evidence_0126":{"source_ref":"context_0030","search_ref":"context_0052","matches":[]},"evidence_0127":{"source_ref":"context_0031","search_ref":"context_0052","matches":[]},"evidence_0128":{"source_ref":"context_0032","search_ref":"context_0052","matches":[]},"evidence_0129":{"source_ref":"context_0033","search_ref":"context_0052","matches":[]},"evidence_0130":{"source_ref":"context_0034","search_ref":"context_0052","matches":[]},"evidence_0131":{"source_ref":"context_0035","search_ref":"context_0052","matches":[]},"evidence_0132":{"source_ref":"context_0036","search_ref":"context_0052","matches":[]},"evidence_0133":{"source_ref":"context_0037","search_ref":"context_0052","matches":[]},"evidence_0134":{"source_ref":"context_0038","search_ref":"context_0052","matches":[]},"evidence_0135":{"source_ref":"context_0039","search_ref":"context_0052","matches":[]},"evidence_0136":{"source_ref":"context_0040","search_ref":"context_0052","matches":[]},"evidence_0137":{"source_ref":"context_0041","search_ref":"context_0053","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0138":{"source_ref":"context_0001","search_ref":"context_0053","matches":[]},"evidence_0139":{"source_ref":"context_0041","search_ref":"context_0052","matches":[]},"evidence_0140":{"source_ref":"context_0043","search_ref":"context_0052","matches":[]},"evidence_0141":{"source_ref":"context_0041","search_ref":"context_0054","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0142":{"source_ref":"context_0045","search_ref":"context_0054","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0143":{"source_ref":"context_0046","search_ref":"context_0052","matches":[]},"evidence_0144":{"source_ref":"context_0047","search_ref":"context_0052","matches":[]},"evidence_0145":{"source_ref":"context_0048","search_ref":"context_0052","matches":[]},"evidence_0146":{"source_ref":"context_0001","search_ref":"context_0055","matches":[{"line":81,"text":"\t&\"black_market\","},{"line":100,"text":"\t\"res://data/facilities/expansion/black_market.tres\","}]},"evidence_0147":{"source_ref":"context_0003","search_ref":"context_0055","matches":[]},"evidence_0148":{"source_ref":"context_0004","search_ref":"context_0055","matches":[]},"evidence_0149":{"source_ref":"context_0005","search_ref":"context_0055","matches":[{"line":7,"text":"id = &\"black_market\""}]},"evidence_0150":{"source_ref":"context_0006","search_ref":"context_0055","matches":[]},"evidence_0151":{"source_ref":"context_0007","search_ref":"context_0055","matches":[]},"evidence_0152":{"source_ref":"context_0008","search_ref":"context_0055","matches":[]},"evidence_0153":{"source_ref":"context_0009","search_ref":"context_0055","matches":[]},"evidence_0154":{"source_ref":"context_0010","search_ref":"context_0055","matches":[]},"evidence_0155":{"source_ref":"context_0011","search_ref":"context_0055","matches":[]},"evidence_0156":{"source_ref":"context_0012","search_ref":"context_0055","matches":[]},"evidence_0157":{"source_ref":"context_0013","search_ref":"context_0055","matches":[]},"evidence_0158":{"source_ref":"context_0014","search_ref":"context_0055","matches":[]},"evidence_0159":{"source_ref":"context_0015","search_ref":"context_0055","matches":[]},"evidence_0160":{"source_ref":"context_0016","search_ref":"context_0055","matches":[]},"evidence_0161":{"source_ref":"context_0017","search_ref":"context_0055","matches":[]},"evidence_0162":{"source_ref":"context_0018","search_ref":"context_0055","matches":[]},"evidence_0163":{"source_ref":"context_0019","search_ref":"context_0055","matches":[]},"evidence_0164":{"source_ref":"context_0020","search_ref":"context_0055","matches":[]},"evidence_0165":{"source_ref":"context_0021","search_ref":"context_0055","matches":[]},"evidence_0166":{"source_ref":"context_0022","search_ref":"context_0055","matches":[]},"evidence_0167":{"source_ref":"context_0023","search_ref":"context_0055","matches":[]},"evidence_0168":{"source_ref":"context_0024","search_ref":"context_0055","matches":[]},"evidence_0169":{"source_ref":"context_0025","search_ref":"context_0055","matches":[]},"evidence_0170":{"source_ref":"context_0026","search_ref":"context_0055","matches":[]},"evidence_0171":{"source_ref":"context_0027","search_ref":"context_0055","matches":[]},"evidence_0172":{"source_ref":"context_0028","search_ref":"context_0055","matches":[]},"evidence_0173":{"source_ref":"context_0029","search_ref":"context_0055","matches":[]},"evidence_0174":{"source_ref":"context_0030","search_ref":"context_0055","matches":[]},"evidence_0175":{"source_ref":"context_0031","search_ref":"context_0055","matches":[]},"evidence_0176":{"source_ref":"context_0032","search_ref":"context_0055","matches":[]},"evidence_0177":{"source_ref":"context_0033","search_ref":"context_0055","matches":[]},"evidence_0178":{"source_ref":"context_0034","search_ref":"context_0055","matches":[]},"evidence_0179":{"source_ref":"context_0035","search_ref":"context_0055","matches":[]},"evidence_0180":{"source_ref":"context_0036","search_ref":"context_0055","matches":[]},"evidence_0181":{"source_ref":"context_0037","search_ref":"context_0055","matches":[]},"evidence_0182":{"source_ref":"context_0038","search_ref":"context_0055","matches":[]},"evidence_0183":{"source_ref":"context_0039","search_ref":"context_0055","matches":[]},"evidence_0184":{"source_ref":"context_0040","search_ref":"context_0055","matches":[]},"evidence_0185":{"source_ref":"context_0041","search_ref":"context_0056","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0186":{"source_ref":"context_0001","search_ref":"context_0056","matches":[{"line":81,"text":"\t&\"black_market\","},{"line":100,"text":"\t\"res://data/facilities/expansion/black_market.tres\","}]},"evidence_0187":{"source_ref":"context_0005","search_ref":"context_0056","matches":[{"line":7,"text":"id = &\"black_market\""}]},"evidence_0188":{"source_ref":"context_0041","search_ref":"context_0055","matches":[]},"evidence_0189":{"source_ref":"context_0043","search_ref":"context_0055","matches":[]},"evidence_0190":{"source_ref":"context_0041","search_ref":"context_0057","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0191":{"source_ref":"context_0045","search_ref":"context_0057","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0192":{"source_ref":"context_0046","search_ref":"context_0055","matches":[]},"evidence_0193":{"source_ref":"context_0047","search_ref":"context_0055","matches":[]},"evidence_0194":{"source_ref":"context_0048","search_ref":"context_0055","matches":[]},"evidence_0195":{"source_ref":"context_0001","search_ref":"context_0058","matches":[]},"evidence_0196":{"source_ref":"context_0003","search_ref":"context_0058","matches":[]},"evidence_0197":{"source_ref":"context_0004","search_ref":"context_0058","matches":[]},"evidence_0198":{"source_ref":"context_0005","search_ref":"context_0058","matches":[]},"evidence_0199":{"source_ref":"context_0006","search_ref":"context_0058","matches":[]},"evidence_0200":{"source_ref":"context_0007","search_ref":"context_0058","matches":[]},"evidence_0201":{"source_ref":"context_0008","search_ref":"context_0058","matches":[]},"evidence_0202":{"source_ref":"context_0009","search_ref":"context_0058","matches":[]},"evidence_0203":{"source_ref":"context_0010","search_ref":"context_0058","matches":[]},"evidence_0204":{"source_ref":"context_0011","search_ref":"context_0058","matches":[]},"evidence_0205":{"source_ref":"context_0012","search_ref":"context_0058","matches":[]},"evidence_0206":{"source_ref":"context_0013","search_ref":"context_0058","matches":[]},"evidence_0207":{"source_ref":"context_0014","search_ref":"context_0058","matches":[]},"evidence_0208":{"source_ref":"context_0015","search_ref":"context_0058","matches":[]},"evidence_0209":{"source_ref":"context_0016","search_ref":"context_0058","matches":[]},"evidence_0210":{"source_ref":"context_0017","search_ref":"context_0058","matches":[]},"evidence_0211":{"source_ref":"context_0018","search_ref":"context_0058","matches":[]},"evidence_0212":{"source_ref":"context_0019","search_ref":"context_0058","matches":[]},"evidence_0213":{"source_ref":"context_0020","search_ref":"context_0058","matches":[]},"evidence_0214":{"source_ref":"context_0021","search_ref":"context_0058","matches":[]},"evidence_0215":{"source_ref":"context_0022","search_ref":"context_0058","matches":[]},"evidence_0216":{"source_ref":"context_0023","search_ref":"context_0058","matches":[]},"evidence_0217":{"source_ref":"context_0024","search_ref":"context_0058","matches":[]},"evidence_0218":{"source_ref":"context_0025","search_ref":"context_0058","matches":[]},"evidence_0219":{"source_ref":"context_0026","search_ref":"context_0058","matches":[]},"evidence_0220":{"source_ref":"context_0027","search_ref":"context_0058","matches":[]},"evidence_0221":{"source_ref":"context_0028","search_ref":"context_0058","matches":[]},"evidence_0222":{"source_ref":"context_0029","search_ref":"context_0058","matches":[]},"evidence_0223":{"source_ref":"context_0030","search_ref":"context_0058","matches":[]},"evidence_0224":{"source_ref":"context_0031","search_ref":"context_0058","matches":[]},"evidence_0225":{"source_ref":"context_0032","search_ref":"context_0058","matches":[]},"evidence_0226":{"source_ref":"context_0033","search_ref":"context_0058","matches":[]},"evidence_0227":{"source_ref":"context_0034","search_ref":"context_0058","matches":[]},"evidence_0228":{"source_ref":"context_0035","search_ref":"context_0058","matches":[]},"evidence_0229":{"source_ref":"context_0036","search_ref":"context_0058","matches":[]},"evidence_0230":{"source_ref":"context_0037","search_ref":"context_0058","matches":[]},"evidence_0231":{"source_ref":"context_0038","search_ref":"context_0058","matches":[]},"evidence_0232":{"source_ref":"context_0039","search_ref":"context_0058","matches":[]},"evidence_0233":{"source_ref":"context_0040","search_ref":"context_0058","matches":[]},"evidence_0234":{"source_ref":"context_0041","search_ref":"context_0059","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0235":{"source_ref":"context_0001","search_ref":"context_0059","matches":[]},"evidence_0236":{"source_ref":"context_0041","search_ref":"context_0058","matches":[]},"evidence_0237":{"source_ref":"context_0043","search_ref":"context_0058","matches":[]},"evidence_0238":{"source_ref":"context_0041","search_ref":"context_0060","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0239":{"source_ref":"context_0045","search_ref":"context_0060","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0240":{"source_ref":"context_0046","search_ref":"context_0058","matches":[]},"evidence_0241":{"source_ref":"context_0047","search_ref":"context_0058","matches":[]},"evidence_0242":{"source_ref":"context_0048","search_ref":"context_0058","matches":[]},"evidence_0243":{"source_ref":"context_0001","search_ref":"context_0061","matches":[]},"evidence_0244":{"source_ref":"context_0003","search_ref":"context_0061","matches":[]},"evidence_0245":{"source_ref":"context_0004","search_ref":"context_0061","matches":[]},"evidence_0246":{"source_ref":"context_0005","search_ref":"context_0061","matches":[]},"evidence_0247":{"source_ref":"context_0006","search_ref":"context_0061","matches":[]},"evidence_0248":{"source_ref":"context_0007","search_ref":"context_0061","matches":[]},"evidence_0249":{"source_ref":"context_0008","search_ref":"context_0061","matches":[]},"evidence_0250":{"source_ref":"context_0009","search_ref":"context_0061","matches":[]},"evidence_0251":{"source_ref":"context_0010","search_ref":"context_0061","matches":[]},"evidence_0252":{"source_ref":"context_0011","search_ref":"context_0061","matches":[]},"evidence_0253":{"source_ref":"context_0012","search_ref":"context_0061","matches":[]},"evidence_0254":{"source_ref":"context_0013","search_ref":"context_0061","matches":[]},"evidence_0255":{"source_ref":"context_0014","search_ref":"context_0061","matches":[]},"evidence_0256":{"source_ref":"context_0015","search_ref":"context_0061","matches":[]},"evidence_0257":{"source_ref":"context_0016","search_ref":"context_0061","matches":[]},"evidence_0258":{"source_ref":"context_0017","search_ref":"context_0061","matches":[]},"evidence_0259":{"source_ref":"context_0018","search_ref":"context_0061","matches":[]},"evidence_0260":{"source_ref":"context_0019","search_ref":"context_0061","matches":[]},"evidence_0261":{"source_ref":"context_0020","search_ref":"context_0061","matches":[]},"evidence_0262":{"source_ref":"context_0021","search_ref":"context_0061","matches":[]},"evidence_0263":{"source_ref":"context_0022","search_ref":"context_0061","matches":[]},"evidence_0264":{"source_ref":"context_0023","search_ref":"context_0061","matches":[]},"evidence_0265":{"source_ref":"context_0024","search_ref":"context_0061","matches":[]},"evidence_0266":{"source_ref":"context_0025","search_ref":"context_0061","matches":[]},"evidence_0267":{"source_ref":"context_0026","search_ref":"context_0061","matches":[]},"evidence_0268":{"source_ref":"context_0027","search_ref":"context_0061","matches":[]},"evidence_0269":{"source_ref":"context_0028","search_ref":"context_0061","matches":[]},"evidence_0270":{"source_ref":"context_0029","search_ref":"context_0061","matches":[]},"evidence_0271":{"source_ref":"context_0030","search_ref":"context_0061","matches":[]},"evidence_0272":{"source_ref":"context_0031","search_ref":"context_0061","matches":[]},"evidence_0273":{"source_ref":"context_0032","search_ref":"context_0061","matches":[]},"evidence_0274":{"source_ref":"context_0033","search_ref":"context_0061","matches":[]},"evidence_0275":{"source_ref":"context_0034","search_ref":"context_0061","matches":[]},"evidence_0276":{"source_ref":"context_0035","search_ref":"context_0061","matches":[]},"evidence_0277":{"source_ref":"context_0036","search_ref":"context_0061","matches":[]},"evidence_0278":{"source_ref":"context_0037","search_ref":"context_0061","matches":[]},"evidence_0279":{"source_ref":"context_0038","search_ref":"context_0061","matches":[]},"evidence_0280":{"source_ref":"context_0039","search_ref":"context_0061","matches":[]},"evidence_0281":{"source_ref":"context_0040","search_ref":"context_0061","matches":[]},"evidence_0282":{"source_ref":"context_0041","search_ref":"context_0062","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0283":{"source_ref":"context_0001","search_ref":"context_0062","matches":[]},"evidence_0284":{"source_ref":"context_0041","search_ref":"context_0061","matches":[]},"evidence_0285":{"source_ref":"context_0043","search_ref":"context_0061","matches":[]},"evidence_0286":{"source_ref":"context_0041","search_ref":"context_0063","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0287":{"source_ref":"context_0045","search_ref":"context_0063","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0288":{"source_ref":"context_0046","search_ref":"context_0061","matches":[]},"evidence_0289":{"source_ref":"context_0047","search_ref":"context_0061","matches":[]},"evidence_0290":{"source_ref":"context_0048","search_ref":"context_0061","matches":[]},"evidence_0291":{"source_ref":"context_0001","search_ref":"context_0064","matches":[]},"evidence_0292":{"source_ref":"context_0003","search_ref":"context_0064","matches":[]},"evidence_0293":{"source_ref":"context_0004","search_ref":"context_0064","matches":[]},"evidence_0294":{"source_ref":"context_0005","search_ref":"context_0064","matches":[]},"evidence_0295":{"source_ref":"context_0006","search_ref":"context_0064","matches":[]},"evidence_0296":{"source_ref":"context_0007","search_ref":"context_0064","matches":[]},"evidence_0297":{"source_ref":"context_0008","search_ref":"context_0064","matches":[]},"evidence_0298":{"source_ref":"context_0009","search_ref":"context_0064","matches":[]},"evidence_0299":{"source_ref":"context_0010","search_ref":"context_0064","matches":[]},"evidence_0300":{"source_ref":"context_0011","search_ref":"context_0064","matches":[]},"evidence_0301":{"source_ref":"context_0012","search_ref":"context_0064","matches":[]},"evidence_0302":{"source_ref":"context_0013","search_ref":"context_0064","matches":[]},"evidence_0303":{"source_ref":"context_0014","search_ref":"context_0064","matches":[]},"evidence_0304":{"source_ref":"context_0015","search_ref":"context_0064","matches":[]},"evidence_0305":{"source_ref":"context_0016","search_ref":"context_0064","matches":[]},"evidence_0306":{"source_ref":"context_0017","search_ref":"context_0064","matches":[]},"evidence_0307":{"source_ref":"context_0018","search_ref":"context_0064","matches":[]},"evidence_0308":{"source_ref":"context_0019","search_ref":"context_0064","matches":[]},"evidence_0309":{"source_ref":"context_0020","search_ref":"context_0064","matches":[]},"evidence_0310":{"source_ref":"context_0021","search_ref":"context_0064","matches":[]},"evidence_0311":{"source_ref":"context_0022","search_ref":"context_0064","matches":[]},"evidence_0312":{"source_ref":"context_0023","search_ref":"context_0064","matches":[]},"evidence_0313":{"source_ref":"context_0024","search_ref":"context_0064","matches":[]},"evidence_0314":{"source_ref":"context_0025","search_ref":"context_0064","matches":[]},"evidence_0315":{"source_ref":"context_0026","search_ref":"context_0064","matches":[]},"evidence_0316":{"source_ref":"context_0027","search_ref":"context_0064","matches":[]},"evidence_0317":{"source_ref":"context_0028","search_ref":"context_0064","matches":[]},"evidence_0318":{"source_ref":"context_0029","search_ref":"context_0064","matches":[]},"evidence_0319":{"source_ref":"context_0030","search_ref":"context_0064","matches":[]},"evidence_0320":{"source_ref":"context_0031","search_ref":"context_0064","matches":[]},"evidence_0321":{"source_ref":"context_0032","search_ref":"context_0064","matches":[]},"evidence_0322":{"source_ref":"context_0033","search_ref":"context_0064","matches":[]},"evidence_0323":{"source_ref":"context_0034","search_ref":"context_0064","matches":[]},"evidence_0324":{"source_ref":"context_0035","search_ref":"context_0064","matches":[]},"evidence_0325":{"source_ref":"context_0036","search_ref":"context_0064","matches":[]},"evidence_0326":{"source_ref":"context_0037","search_ref":"context_0064","matches":[]},"evidence_0327":{"source_ref":"context_0038","search_ref":"context_0064","matches":[]},"evidence_0328":{"source_ref":"context_0039","search_ref":"context_0064","matches":[]},"evidence_0329":{"source_ref":"context_0040","search_ref":"context_0064","matches":[]},"evidence_0330":{"source_ref":"context_0041","search_ref":"context_0065","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0331":{"source_ref":"context_0001","search_ref":"context_0065","matches":[]},"evidence_0332":{"source_ref":"context_0041","search_ref":"context_0064","matches":[]},"evidence_0333":{"source_ref":"context_0043","search_ref":"context_0064","matches":[]},"evidence_0334":{"source_ref":"context_0041","search_ref":"context_0066","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0335":{"source_ref":"context_0045","search_ref":"context_0066","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0336":{"source_ref":"context_0046","search_ref":"context_0064","matches":[]},"evidence_0337":{"source_ref":"context_0047","search_ref":"context_0064","matches":[]},"evidence_0338":{"source_ref":"context_0048","search_ref":"context_0064","matches":[]},"evidence_0339":{"source_ref":"context_0043","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0075"}},{"line":11,"text":"signal event_registered(definition: EventDefinition)"},{"line":12,"text":"signal event_enqueued(instance: EventInstance)"},{"line":13,"text":"signal event_started(instance: EventInstance)"},{"line":14,"text":"signal event_finished(instance: EventInstance)"},{"line":15,"text":{"text_ref":"text_0076"}},{"line":18,"text":{"text_ref":"text_0077"}},{"line":19,"text":{"text_ref":"text_0078"}},{"line":20,"text":{"text_ref":"text_0079"}},{"line":39,"text":"var _next_event_sequence := 1"},{"line":78,"text":{"text_ref":"text_0080"}},{"line":125,"text":"\tif _definitions.has(definition.event_id):"},{"line":126,"text":{"text_ref":"text_0081"}},{"line":127,"text":"\t_definitions[definition.event_id] = definition"},{"line":128,"text":"\tevent_registered.emit(definition)"},{"line":130,"text":"\treturn _success({&\"event_id\": definition.event_id})"},{"line":133,"text":{"text_ref":"text_0082"}},{"line":134,"text":{"text_ref":"text_0083"}},{"line":137,"text":"func get_definition(event_id: StringName) -> EventDefinition:"},{"line":138,"text":"\treturn _definitions.get(event_id) as EventDefinition"},{"line":143,"text":"\tfor event_id: StringName in _sorted_name_keys(_definitions):"},{"line":144,"text":"\t\tresult.append(_definitions[event_id])"},{"line":152,"text":{"text_ref":"text_0084"}},{"line":154,"text":"\t\t\tif not _definitions.has(definition.replacement_event_id):"},{"line":155,"text":{"text_ref":"text_0085"}},{"line":156,"text":"\t\t\telif _replacement_cycle_exists(definition.event_id):"},{"line":157,"text":{"text_ref":"text_0086"}},{"line":161,"text":"func resolve_content_event(event_id: StringName) -> Dictionary:"},{"line":162,"text":"\tvar source := get_definition(event_id)"},{"line":168,"text":"\t\t\t&\"event_id\": event_id,"},{"line":178,"text":"\t\t\t\t&\"event_id\": event_id,"},{"line":182,"text":{"text_ref":"text_0087"}},{"line":183,"text":{"text_ref":"text_0088"}},{"line":189,"text":"\t\t\t\t&\"event_id\": replacement.event_id,"},{"line":198,"text":"\tevent_id: StringName,"},{"line":203,"text":"\tvar source := get_definition(event_id)"},{"line":205,"text":"\t\treturn _not_found(\"EventDefinition\", event_id)"},{"line":208,"text":"\tvar content_resolution := resolve_content_event(event_id)"},{"line":211,"text":{"text_ref":"text_0089"}},{"line":212,"text":"\tvar definition := get_definition(resolved_event_id)"},{"line":219,"text":"\t\t_default_deduplication_key(event_id, normalized_actor_ids)"},{"line":228,"text":{"text_ref":"text_0090"}},{"line":231,"text":{"text_ref":"text_0091"}},{"line":243,"text":{"text_ref":"text_0092"}},{"line":246,"text":"\t\tevent_id,"},{"line":247,"text":"\t\tresolved_event_id,"},{"line":262,"text":"\t\t_next_event_sequence += 1"},{"line":264,"text":"\tevent_enqueued.emit(instance)"},{"line":267,"text":"\t\t&\"event_instance_id\": instance_id,"},{"line":268,"text":"\t\t&\"resolved_event_id\": resolved_event_id,"},{"line":273,"text":{"text_ref":"text_0093"}},{"line":282,"text":"\t\t\t&\"event_instance_id\": _foreground_instance_id,"},{"line":290,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":301,"text":{"text_ref":"text_0094"}},{"line":310,"text":"\t\t\t_foreground_instance_id = instance.event_instance_id"},{"line":311,"text":"\t\tevent_started.emit(instance)"},{"line":337,"text":"\t\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":346,"text":"\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":358,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":370,"text":"\t\t\t&\"event_instance_id\": instance_id,"},{"line":379,"text":"\tevent_instance_id: StringName,"},{"line":385,"text":{"text_ref":"text_0095"}},{"line":391,"text":"\tevent_instance_id: StringName,"},{"line":396,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":398,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":401,"text":"\tvar definition := get_definition(instance.resolved_event_id)"},{"line":430,"text":"\tevent_instance_id: StringName,"},{"line":437,"text":{"text_ref":"text_0096"}},{"line":443,"text":"\tevent_instance_id: StringName,"},{"line":453,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":455,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":460,"text":"\tvar definition := get_definition(instance.resolved_event_id)"},{"line":477,"text":{"text_ref":"text_0097"}},{"line":543,"text":"\t\t&\"event_instance_id\": event_instance_id,"},{"line":551,"text":{"text_ref":"text_0098"}},{"line":564,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":567,"text":"\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":574,"text":{"text_ref":"text_0099"}},{"line":575,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":577,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":584,"text":"\treturn _success({&\"event_instance_id\": event_instance_id})"},{"line":587,"text":{"text_ref":"text_0100"}},{"line":588,"text":"\treturn _instances.get(event_instance_id) as EventInstance"},{"line":631,"text":{"text_ref":"text_0101"}},{"line":632,"text":{"text_ref":"text_0102"}},{"line":663,"text":"\t\t&\"next_event_sequence\": _next_event_sequence,"},{"line":685,"text":"\t_next_event_sequence = parsed[&\"next_event_sequence\"]"},{"line":698,"text":{"text_ref":"text_0103"}},{"line":716,"text":{"text_ref":"text_0104"}},{"line":784,"text":{"text_ref":"text_0105"}},{"line":786,"text":"\t\tinstances[instance.event_instance_id] = instance"},{"line":820,"text":{"text_ref":"text_0106"}},{"line":822,"text":"\tif next_event < 1 or next_choice < 1:"},{"line":851,"text":"\t\t&\"next_event_sequence\": next_event,"},{"line":986,"text":{"text_ref":"text_0107"}},{"line":987,"text":"\t\t\tif event_id.is_empty() or not _definitions.has(event_id):"},{"line":988,"text":{"text_ref":"text_0108"}},{"line":993,"text":"\t\t\t\t\tevent_id,"},{"line":998,"text":{"text_ref":"text_0109"}},{"line":1051,"text":"\t\t\t\tbool(_value(action.payload, &\"irreversible_event\", false))"},{"line":1087,"text":"\t\t\t\t_actor_locks[replacement_id] = instance.event_instance_id"},{"line":1113,"text":"\t\t_actor_locks[actor_id] = instance.event_instance_id"},{"line":1119,"text":{"text_ref":"text_0110"}},{"line":1121,"text":"\tif _foreground_instance_id == instance.event_instance_id:"},{"line":1127,"text":"\t_queue.erase(instance.event_instance_id)"},{"line":1147,"text":"\t\tvar source := get_definition(instance.source_event_id)"},{"line":1151,"text":{"text_ref":"text_0111"}},{"line":1152,"text":"\t\tevent_finished.emit(instance)"},{"line":1160,"text":"\t\tevent_cancelled.emit(instance, &\"COST_RELEASE_FAILED\")"},{"line":1165,"text":"\tevent_cancelled.emit(instance, reason)"},{"line":1243,"text":"\tresult[&\"event_instance_id\"] = instance.event_instance_id"},{"line":1257,"text":"func _replacement_cycle_exists(event_id: StringName) -> bool:"},{"line":1259,"text":"\tvar current_id := event_id"},{"line":1267,"text":"\t\tcurrent_id = definition.replacement_event_id"},{"line":1274,"text":"\t\t\treturn StringName(\"save:%s\" % definition.event_id)"},{"line":1276,"text":{"text_ref":"text_0112"}},{"line":1278,"text":{"text_ref":"text_0113"}},{"line":1297,"text":{"text_ref":"text_0114"}},{"line":1301,"text":{"text_ref":"text_0115"}},{"line":1302,"text":{"text_ref":"text_0116"}}]},"evidence_0340":{"source_ref":"context_0068","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0117"}},{"line":5,"text":{"text_ref":"text_0079"}},{"line":6,"text":{"text_ref":"text_0118"}},{"line":41,"text":"var event_id: StringName = &\"\""},{"line":55,"text":"var replacement_event_id: StringName = &\"\""},{"line":64,"text":{"text_ref":"text_0119"}},{"line":65,"text":"\tevent_id = p_event_id"},{"line":79,"text":{"text_ref":"text_0120"}},{"line":90,"text":"\tif event_id.is_empty() or category.is_empty():"},{"line":92,"text":{"text_ref":"text_0121"}},{"line":94,"text":"\tif replacement_event_id == event_id:"},{"line":129,"text":"\t\t&\"event_id\": String(event_id),"},{"line":143,"text":"\t\t&\"replacement_event_id\": String(replacement_event_id),"},{"line":174,"text":"\t\tStringName(_value(raw_value, &\"event_id\", &\"\")),"}]},"evidence_0341":{"source_ref":"context_0069","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0122"}},{"line":100,"text":"var _event_list: ItemList"},{"line":105,"text":"var _selected_event_id := \"\""},{"line":124,"text":"\t_event_list = ItemList.new()"},{"line":125,"text":"\t_event_list.name = \"EventLogList\""},{"line":126,"text":"\t_event_list.custom_minimum_size.y = 150"},{"line":127,"text":"\t_event_list.size_flags_vertical = Control.SIZE_EXPAND_FILL"},{"line":128,"text":"\t_event_list.item_selected.connect(_select_row)"},{"line":129,"text":"\tcolumn.add_child(_event_list)"},{"line":147,"text":"func show_events() -> void:"},{"line":154,"text":"func get_event_rows() -> Array[Dictionary]:"},{"line":158,"text":"\tvar stream: Variant = _runtime.get(\"domain_events\")"},{"line":159,"text":"\tif stream == null or not stream.has_method(\"recent_events\"):"},{"line":161,"text":"\tfor event: SimulationDomainEvent in stream.recent_events():"},{"line":162,"text":"\t\trows.append(event.to_dictionary())"},{"line":166,"text":"func get_selected_event() -> Dictionary:"},{"line":168,"text":"\t\tif String(row[\"event_id\"]) == _selected_event_id:"},{"line":174,"text":"\tif _event_list == null:"},{"line":176,"text":"\t_rows = get_event_rows()"},{"line":177,"text":"\t_event_list.clear()"},{"line":181,"text":"\t\tvar presentation := get_event_presentation(row)"},{"line":182,"text":{"text_ref":"text_0123"}},{"line":183,"text":{"text_ref":"text_0124"}},{"line":184,"text":"\t\t_event_list.set_item_metadata(index, String(row[\"event_id\"]))"},{"line":185,"text":"\t\tif String(row[\"event_id\"]) == _selected_event_id:"},{"line":191,"text":"\t\t_event_list.select(selected_index)"},{"line":194,"text":"\t\t_selected_event_id = \"\""},{"line":202,"text":"\t_selected_event_id = String(row[\"event_id\"])"},{"line":203,"text":"\tvar presentation := get_event_presentation(row)"},{"line":214,"text":"func get_event_presentation(row: Dictionary) -> Dictionary:"},{"line":229,"text":{"text_ref":"text_0125"}},{"line":233,"text":"\t\t\trow.get(\"event_id\", \"\"), row.get(\"event_type\", \"\"),"},{"line":279,"text":{"text_ref":"text_0126"}},{"line":282,"text":{"text_ref":"text_0127"}},{"line":312,"text":"\tif _event_list != null:"},{"line":313,"text":{"text_ref":"text_0128"}},{"line":314,"text":{"text_ref":"text_0129"}}]},"evidence_0342":{"source_ref":"context_0043","search_ref":"context_0070","matches":[]},"evidence_0343":{"source_ref":"context_0068","search_ref":"context_0070","matches":[]},"evidence_0344":{"source_ref":"context_0069","search_ref":"context_0070","matches":[]},"evidence_0345":{"source_ref":"context_0043","search_ref":"context_0071","matches":[]},"evidence_0346":{"source_ref":"context_0068","search_ref":"context_0071","matches":[]},"evidence_0347":{"source_ref":"context_0069","search_ref":"context_0071","matches":[]},"evidence_0348":{"source_ref":"context_0043","search_ref":"context_0072","matches":[]},"evidence_0349":{"source_ref":"context_0068","search_ref":"context_0072","matches":[]},"evidence_0350":{"source_ref":"context_0069","search_ref":"context_0072","matches":[{"line":211,"text":{"text_ref":"text_0130"}}]},"evidence_0351":{"source_ref":"context_0043","search_ref":"context_0073","matches":[]},"evidence_0352":{"source_ref":"context_0068","search_ref":"context_0073","matches":[]},"evidence_0353":{"source_ref":"context_0069","search_ref":"context_0073","matches":[]},"evidence_0354":{"source_ref":"context_0043","search_ref":"context_0074","matches":[]},"evidence_0355":{"source_ref":"context_0068","search_ref":"context_0074","matches":[]},"evidence_0356":{"source_ref":"context_0069","search_ref":"context_0074","matches":[]}},"shared_context":{"context_0001":{"path":"scripts/data/facility_catalog.gd","sha256":{"text_ref":"text_0055"},"scope":"Static search of this file only; no execution or acceptance."},"context_0002":{"searched_tokens":["風俗個室","adult_private_room"]},"context_0003":{"path":"data/facilities/adult_private_room.tres","sha256":{"text_ref":"text_0016"},"scope":"Static search of this file only; no execution or acceptance."},"context_0004":{"path":"data/facilities/cafeteria.tres","sha256":{"text_ref":"text_0017"},"scope":"Static search of this file only; no execution or acceptance."},"context_0005":{"path":"data/facilities/expansion/black_market.tres","sha256":{"text_ref":"text_0018"},"scope":"Static search of this file only; no execution or acceptance."},"context_0006":{"path":"data/facilities/expansion/chapel.tres","sha256":{"text_ref":"text_0019"},"scope":"Static search of this file only; no execution or acceptance."},"context_0007":{"path":"data/facilities/expansion/cleaning_room.tres","sha256":{"text_ref":"text_0020"},"scope":"Static search of this file only; no execution or acceptance."},"context_0008":{"path":"data/facilities/expansion/clinic.tres","sha256":{"text_ref":"text_0021"},"scope":"Static search of this file only; no execution or acceptance."},"context_0009":{"path":"data/facilities/expansion/cold_storage.tres","sha256":{"text_ref":"text_0022"},"scope":"Static search of this file only; no execution or acceptance."},"context_0010":{"path":"data/facilities/expansion/general_store.tres","sha256":{"text_ref":"text_0023"},"scope":"Static search of this file only; no execution or acceptance."},"context_0011":{"path":"data/facilities/expansion/guild_counter.tres","sha256":{"text_ref":"text_0024"},"scope":"Static search of this file only; no execution or acceptance."},"context_0012":{"path":"data/facilities/expansion/laundry.tres","sha256":{"text_ref":"text_0025"},"scope":"Static search of this file only; no execution or acceptance."},"context_0013":{"path":"data/facilities/expansion/maintenance_workshop.tres","sha256":{"text_ref":"text_0026"},"scope":"Static search of this file only; no execution or acceptance."},"context_0014":{"path":"data/facilities/expansion/mana_control_room.tres","sha256":{"text_ref":"text_0027"},"scope":"Static search of this file only; no execution or acceptance."},"context_0015":{"path":"data/facilities/expansion/premium_room.tres","sha256":{"text_ref":"text_0028"},"scope":"Static search of this file only; no execution or acceptance."},"context_0016":{"path":"data/facilities/expansion/private_bath.tres","sha256":{"text_ref":"text_0029"},"scope":"Static search of this file only; no execution or acceptance."},"context_0017":{"path":"data/facilities/expansion/secret_tavern.tres","sha256":{"text_ref":"text_0030"},"scope":"Static search of this file only; no execution or acceptance."},"context_0018":{"path":"data/facilities/expansion/staff_dormitory.tres","sha256":{"text_ref":"text_0031"},"scope":"Static search of this file only; no execution or acceptance."},"context_0019":{"path":"data/facilities/expansion/tea_lounge.tres","sha256":{"text_ref":"text_0032"},"scope":"Static search of this file only; no execution or acceptance."},"context_0020":{"path":"data/facilities/expansion/underground_guest_room.tres","sha256":{"text_ref":"text_0033"},"scope":"Static search of this file only; no execution or acceptance."},"context_0021":{"path":"data/facilities/expansion/vip_private_salon.tres","sha256":{"text_ref":"text_0034"},"scope":"Static search of this file only; no execution or acceptance."},"context_0022":{"path":"data/facilities/expansion/waste_processing.tres","sha256":{"text_ref":"text_0035"},"scope":"Static search of this file only; no execution or acceptance."},"context_0023":{"path":"data/facilities/guest_corridor.tres","sha256":{"text_ref":"text_0036"},"scope":"Static search of this file only; no execution or acceptance."},"context_0024":{"path":"data/facilities/guest_elevator.tres","sha256":{"text_ref":"text_0037"},"scope":"Static search of this file only; no execution or acceptance."},"context_0025":{"path":"data/facilities/infrastructure/guest_stairs.tres","sha256":{"text_ref":"text_0038"},"scope":"Static search of this file only; no execution or acceptance."},"context_0026":{"path":"data/facilities/infrastructure/service_stairs.tres","sha256":{"text_ref":"text_0039"},"scope":"Static search of this file only; no execution or acceptance."},"context_0027":{"path":"data/facilities/kitchen.tres","sha256":{"text_ref":"text_0040"},"scope":"Static search of this file only; no execution or acceptance."},"context_0028":{"path":"data/facilities/massage_room.tres","sha256":{"text_ref":"text_0041"},"scope":"Static search of this file only; no execution or acceptance."},"context_0029":{"path":"data/facilities/public_bath.tres","sha256":{"text_ref":"text_0042"},"scope":"Static search of this file only; no execution or acceptance."},"context_0030":{"path":"data/facilities/reception.tres","sha256":{"text_ref":"text_0043"},"scope":"Static search of this file only; no execution or acceptance."},"context_0031":{"path":"data/facilities/rescue/infirmary.tres","sha256":{"text_ref":"text_0044"},"scope":"Static search of this file only; no execution or acceptance."},"context_0032":{"path":"data/facilities/security_station.tres","sha256":{"text_ref":"text_0045"},"scope":"Static search of this file only; no execution or acceptance."},"context_0033":{"path":"data/facilities/service_corridor.tres","sha256":{"text_ref":"text_0046"},"scope":"Static search of this file only; no execution or acceptance."},"context_0034":{"path":"data/facilities/service_elevator.tres","sha256":{"text_ref":"text_0047"},"scope":"Static search of this file only; no execution or acceptance."},"context_0035":{"path":"data/facilities/staff_door.tres","sha256":{"text_ref":"text_0048"},"scope":"Static search of this file only; no execution or acceptance."},"context_0036":{"path":"data/facilities/staff_waiting_room.tres","sha256":{"text_ref":"text_0049"},"scope":"Static search of this file only; no execution or acceptance."},"context_0037":{"path":"data/facilities/standard_room.tres","sha256":{"text_ref":"text_0050"},"scope":"Static search of this file only; no execution or acceptance."},"context_0038":{"path":"data/facilities/tavern.tres","sha256":{"text_ref":"text_0051"},"scope":"Static search of this file only; no execution or acceptance."},"context_0039":{"path":"data/facilities/warehouse.tres","sha256":{"text_ref":"text_0052"},"scope":"Static search of this file only; no execution or acceptance."},"context_0040":{"path":"scenes/main/main.gd","sha256":{"text_ref":"text_0053"},"scope":"Static search of this file only; no execution or acceptance."},"context_0041":{"path":"autoload/simulation_runtime.gd","sha256":{"text_ref":"text_0014"},"scope":"Static search of this file only; no execution or acceptance."},"context_0042":{"searched_tokens":["風俗個室","adult_private_room","FacilityCatalog.FACILITY_PATHS"]},"context_0043":{"path":"scripts/events/event_service.gd","sha256":{"text_ref":"text_0057"},"scope":"Static search of this file only; no execution or acceptance."},"context_0044":{"searched_tokens":["風俗個室","adult_private_room","event_service.create_snapshot()","save_snapshot"]},"context_0045":{"path":"scripts/core/save_service.gd","sha256":{"text_ref":"text_0054"},"scope":"Static search of this file only; no execution or acceptance."},"context_0046":{"path":"tests/s6/test_runtime_snapshot_serialization.gd","sha256":{"text_ref":"text_0061"},"scope":"Static search of this file only; no execution or acceptance."},"context_0047":{"path":"tests/s2/test_facility_service.gd","sha256":{"text_ref":"text_0059"},"scope":"Static search of this file only; no execution or acceptance."},"context_0048":{"path":"tests/s4/test_runtime_relationship_events.gd","sha256":{"text_ref":"text_0060"},"scope":"Static search of this file only; no execution or acceptance."},"context_0049":{"searched_tokens":["高級ソープ"]},"context_0050":{"searched_tokens":["高級ソープ","FacilityCatalog.FACILITY_PATHS"]},"context_0051":{"searched_tokens":["高級ソープ","event_service.create_snapshot()","save_snapshot"]},"context_0052":{"searched_tokens":["SM拷問室"]},"context_0053":{"searched_tokens":["SM拷問室","FacilityCatalog.FACILITY_PATHS"]},"context_0054":{"searched_tokens":["SM拷問室","event_service.create_snapshot()","save_snapshot"]},"context_0055":{"searched_tokens":["闇市場","black_market"]},"context_0056":{"searched_tokens":["闇市場","black_market","FacilityCatalog.FACILITY_PATHS"]},"context_0057":{"searched_tokens":["闇市場","black_market","event_service.create_snapshot()","save_snapshot"]},"context_0058":{"searched_tokens":["覗き部屋"]},"context_0059":{"searched_tokens":["覗き部屋","FacilityCatalog.FACILITY_PATHS"]},"context_0060":{"searched_tokens":["覗き部屋","event_service.create_snapshot()","save_snapshot"]},"context_0061":{"searched_tokens":["地下牢"]},"context_0062":{"searched_tokens":["地下牢","FacilityCatalog.FACILITY_PATHS"]},"context_0063":{"searched_tokens":["地下牢","event_service.create_snapshot()","save_snapshot"]},"context_0064":{"searched_tokens":["マナ炉"]},"context_0065":{"searched_tokens":["マナ炉","FacilityCatalog.FACILITY_PATHS"]},"context_0066":{"searched_tokens":["マナ炉","event_service.create_snapshot()","save_snapshot"]},"context_0067":{"searched_tokens":["event"]},"context_0068":{"path":"scripts/events/event_definition.gd","sha256":{"text_ref":"text_0056"},"scope":"Static search of this file only; no execution or acceptance."},"context_0069":{"path":"scripts/ui/event_log_dialog.gd","sha256":{"text_ref":"text_0058"},"scope":"Static search of this file only; no execution or acceptance."},"context_0070":{"searched_tokens":["overlay"]},"context_0071":{"searched_tokens":["history"]},"context_0072":{"searched_tokens":["story"]},"context_0073":{"searched_tokens":["voice"]},"context_0074":{"searched_tokens":["scene"]}}} diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json b/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json index 3ff64a3..065dd75 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json @@ -127,13 +127,8 @@ "path": "docs/plans/original-completion-2026-10-02/work_packages.json", "sha256": "bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af", "applicability": "base_git_blob", - "commit": "e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1" - }, - { - "path": "docs/plans/original-completion-2026-10-02/work_packages.json", - "sha256": "bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af", - "applicability": "current_checkout", - "scope": "Live plan snapshot; its status is not this worker acceptance." + "commit": "e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1", + "scope": "Frozen contract input. Live plan state is maintained separately and is not content completion evidence." }, { "path": "docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json", @@ -439,21 +434,28 @@ } ], "output_pins": { - "docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json": "2db49d9e09aad65b3d625bfa0584e310b6022db49d9bb1876e08c1488618e03c", - "docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md": "0902fc7072d2bf833a683d56814cd1aad5aae849154455e9cd7918ba0866079d", - "tools/check_p13_content_difference.py": "f3147786aa9cbd466276063b4252a79385e0bb4bdde4062f396d5387d48ba36b" + "docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json": "b7edd7fc8f5fa5602edc540a3eb8c4150b0268e7551c97a5c5ccc725ea5bb341", + "docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md": "e5964c169bae48a7ae937d8b6a5103ebc34f5f0860b69b18b0755d6f3b2a480a", + "tools/check_p13_content_difference.py": "bf09c77441e821779a381b34b7ab97f754b38b7bc0f778b27c6fb2ebe29a75aa" }, - "status": "submitted", + "status": "blocked", "formal_tests": "not_run", "formal_claude_review": "not_run", - "command": "python3 tools/check_p13_content_difference.py --negative-checks", + "worker_local_checks": { + "python3_B_integrity_and_mandatory_negatives": "pass", + "ast_parse": "pass", + "registered_argv": "blocked: python executable is unavailable in this worker environment", + "git_diff_check": "pass", + "acceptance": "not_claimed" + }, + "command": "python -B tools/check_p13_content_difference.py --verify-only", "purpose": "Verify record integrity and negative rejection only; not content acceptance.", "source_applicability": "Exact IDs, source SHA256 and scopes are in difference-ledger.json. Work package frozen base Git blob and current checkout are separately identified.", "required_before_integration": [ "Runner p13-difference pass", "separate formal Claude review pass" ], - "worker_tests_run": false, + "worker_tests_run": true, "test_applicability": { "runtime": "Not applicable to records-only changes; no game or platform acceptance.", "native": "Not applicable to records-only changes; no game or platform acceptance.", diff --git a/tools/check_p13_content_difference.py b/tools/check_p13_content_difference.py index e15e9bf..de1db97 100644 --- a/tools/check_p13_content_difference.py +++ b/tools/check_p13_content_difference.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 """Verify P13-03 records only. Never writes receipts or accepts game content. -Runner: python3 tools/check_p13_content_difference.py --negative-checks +Runner: python -B tools/check_p13_content_difference.py --verify-only Optional --ledger permits read-only verification of a candidate ledger. """ import argparse @@ -32,6 +32,15 @@ CATEGORIES = { 'scene': ['B-1.6'], } +INTEGRATION_NOTES = [ + 'Read-only integration audit: contract base e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1 versus main 57131ec. This is a future refresh instruction, not a relabeling of any recorded source/game/asset hash.', + 'autoload/simulation_runtime.gd adds preview_build_facility and extracts _build_facility_precheck shared by preview and execution. scenes/main/world_preview.gd routes previews through Runtime with a fallback and adds demolition mode. scenes/main/main.gd adds demolition confirmation/command handling, preview error messages and stricter interface-selection version checks.', + 'At normal integration Root must refresh normal_entry observations for original_facility_13, original_facility_14, original_facility_15, original_facility_16, original_facility_24, original_facility_25 and original_facility_26 against the integrated main.gd and preview path; refresh runtime observations against the integrated Runtime. Refresh event_state and save search evidence too because their Runtime source hash changes, even though these changed hunks do not establish dedicated original facility events or save round-trips. Recheck mapping/catalog/definitions without promoting missing identities or black_market eligibility.', + 'The selected test sources in this ledger, facility catalog, event service and save service are unchanged between these commits. Added tests/transport/test_runtime_build_preview.gd and tests/ui/test_p08_normal_placement_ops.gd concern generic preview/placement/demolition; tests/ui/test_selection_departure.gd and tests/ui/fixtures/selection_cross_process.gd concern selection restoration. Root should assess their bounded relevance when refreshing each facility test observation; none accepts original content. Guest observation selection changes and P08 migration fixtures likewise provide no original facility content acceptance.', + 'Minimal handling: retain this base-version evidence, explicitly re-search changed integrated source paths and rebuild affected technical observations, source pins and output receipt as a reviewed integration refresh; retain all unknown/unverified content states and the 30/88 denominator. Do not merely replace old hashes or claim old tests ran against new code. No rebase, overwrite or Git write is performed here.', + 'If P13 integrates first, P23 9a full tools map gains tools/check_p13_content_difference.py. P23 proof remains bound to its own version and requires future final source verification; this audit does not extend that proof.', +] + def raw(path): p = Path(path) @@ -82,8 +91,7 @@ def expected(): if sha(frozen) != pin: raise ValueError('frozen work package pin mismatch') sources.append({'path': path, 'sha256': pin, 'applicability': 'base_git_blob', 'commit': BASE}) - sources.append({'path': path, 'sha256': sha(raw(path)), 'applicability': 'current_checkout', - 'scope': 'Live plan snapshot; its status is not this worker acceptance.'}) + sources[-1]['scope'] = 'Frozen contract input. Live plan state is maintained separately and is not content completion evidence.' else: if sha(raw(path)) != pin: raise ValueError('stale required source: ' + path) @@ -190,6 +198,78 @@ def verify(candidate, canonical): raise ValueError('coverage, source, observation, unknown or accounting mismatch') +def compact(document): + """Lossless shared long-string table, with exact checked references.""" + strings, identities = {}, {} + evidence, evidence_ids = {}, {} + contexts, context_ids = {}, {} + + def context(record): + signature = json.dumps(record, sort_keys=True, ensure_ascii=False) + if signature not in context_ids: + identity = 'context_%04d' % (len(contexts) + 1) + context_ids[signature] = identity + contexts[identity] = visit(record) + return context_ids[signature] + + def visit(value): + if isinstance(value, str) and len(value) >= 64: + if value not in identities: + identity = 'text_%04d' % (len(strings) + 1) + identities[value] = identity + strings[identity] = value + return {'text_ref': identities[value]} + if isinstance(value, list): + return [visit(item) for item in value] + if isinstance(value, dict): + result = {} + for key, item in value.items(): + if key == 'evidence': + refs = [] + for record in item: + signature = json.dumps(record, sort_keys=True, ensure_ascii=False) + if signature not in evidence_ids: + identity = 'evidence_%04d' % (len(evidence) + 1) + evidence_ids[signature] = identity + provenance = {k: record[k] for k in ('path', 'sha256', 'scope')} + evidence[identity] = { + 'source_ref': context(provenance), + 'search_ref': context({'searched_tokens': record['searched_tokens']}), + 'matches': visit(record['matches'])} + refs.append({'evidence_ref': evidence_ids[signature]}) + result[key] = refs + else: + result[key] = visit(item) + return result + return value + + result = visit(document) + result['schema_version'] = 2 + result['shared_text'] = strings + result['shared_evidence'] = evidence + result['shared_context'] = contexts + return result + + +def expand(document): + def visit(value): + if isinstance(value, dict): + if set(value) == {'text_ref'}: + return document['shared_text'][value['text_ref']] + if set(value) == {'evidence_ref'}: + return visit(document['shared_evidence'][value['evidence_ref']]) + if set(value) == {'source_ref', 'search_ref', 'matches'}: + return {**visit(document['shared_context'][value['source_ref']]), + **visit(document['shared_context'][value['search_ref']]), + 'matches': visit(value['matches'])} + return {key: visit(item) for key, item in value.items() + if key not in ('shared_text', 'shared_evidence', 'shared_context')} + if isinstance(value, list): + return [visit(item) for item in value] + return value + return visit(document) + + def negative_checks(canonical): cases = {} mutations = { @@ -206,6 +286,11 @@ def negative_checks(canonical): 'proxy_mapping': lambda d: d['facilities'][-1].update(current_definition_ids=['mana_control_room']), 'connection_promotion': lambda d: d['facilities'][0]['connections']['runtime'].update(accepted=True), 'false_runner_pass': lambda d: d.update(formal_validation='pass'), + 'missing_shared_text': lambda d: d['shared_text'].pop(next(iter(d['shared_text']))), + 'missing_shared_evidence': lambda d: d['shared_evidence'].pop(next(iter(d['shared_evidence']))), + 'missing_shared_context': lambda d: d['shared_context'].pop(next(iter(d['shared_context']))), + 'altered_shared_text': lambda d: d['shared_text'].update({next(iter(d['shared_text'])): 'omitted'}), + 'dangling_reference': lambda d: d['facilities'][0]['connections']['runtime'].update(note={'text_ref': 'missing'}), } for name, mutate in mutations.items(): changed = copy.deepcopy(canonical) @@ -223,19 +308,20 @@ def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--ledger', default=OUT + 'difference-ledger.json') parser.add_argument('--negative-checks', action='store_true') + parser.add_argument('--verify-only', action='store_true', + help='Read-only verification; negative checks are always mandatory.') args = parser.parse_args() try: - canonical = expected() + canonical = compact(expected()) verify(load(args.ledger), canonical) receipt = load(OUT + 'validation.json') if receipt != receipt_expected(): raise ValueError('receipt mismatch or false formal acceptance') - if raw(OUT + 'DIFFERENCE_LEDGER.md').decode() != readable(canonical): + if raw(OUT + 'DIFFERENCE_LEDGER.md').decode() != readable(expand(canonical)): raise ValueError('readable ledger differs from machine ledger') result = {'record_integrity': 'pass', 'content_acceptance': 'not_claimed', 'formal_review': 'external_runner_required'} - if args.negative_checks: - result['negative_checks'] = negative_checks(canonical) + result['negative_checks'] = negative_checks(canonical) print(json.dumps(result, ensure_ascii=False)) return 0 except (ValueError, OSError, KeyError, TypeError, subprocess.CalledProcessError) as error: @@ -244,7 +330,7 @@ def main(): def receipt_expected(): - ledger = load(OUT + 'difference-ledger.json') + ledger = expand(load(OUT + 'difference-ledger.json')) return {'task_id': 'P13-03', 'acceptance_ids': ['P13-03'], 'validation_ids': ['p13-difference'], 'requirement_ids': ledger['requirement_ids'], 'facility_ids': [f['original_id'] for f in ledger['facilities']], @@ -253,12 +339,18 @@ def receipt_expected(): 'source_applicability_records': ledger['sources'], 'output_pins': {p: sha(raw(p)) for p in [OUT + 'difference-ledger.json', OUT + 'DIFFERENCE_LEDGER.md', 'tools/check_p13_content_difference.py']}, - 'status': 'submitted', 'formal_tests': 'not_run', 'formal_claude_review': 'not_run', - 'command': 'python3 tools/check_p13_content_difference.py --negative-checks', + 'status': 'blocked', 'formal_tests': 'not_run', 'formal_claude_review': 'not_run', + 'worker_local_checks': { + 'python3_B_integrity_and_mandatory_negatives': 'pass', + 'ast_parse': 'pass', + 'registered_argv': 'blocked: python executable is unavailable in this worker environment', + 'git_diff_check': 'pass', + 'acceptance': 'not_claimed'}, + 'command': 'python -B tools/check_p13_content_difference.py --verify-only', 'purpose': 'Verify record integrity and negative rejection only; not content acceptance.', 'source_applicability': 'Exact IDs, source SHA256 and scopes are in difference-ledger.json. Work package frozen base Git blob and current checkout are separately identified.', 'required_before_integration': ['Runner p13-difference pass', 'separate formal Claude review pass'], - 'worker_tests_run': False, + 'worker_tests_run': True, 'test_applicability': {name: 'Not applicable to records-only changes; no game or platform acceptance.' for name in ['runtime', 'native', 'Windows', 'engine', 'full_game_regression']}} @@ -267,6 +359,7 @@ def readable(d): lines = ['# P13-03 内容差異台帳', '', '記録の提出であり、ゲーム内容・P13パッケージの完成認定ではない。原30パッケージ/88成果、部分点なし。原子・状態台帳は変更しない。', '', '通常入口、Runtime、イベント状態、保存、試験はすべて静的観測・未検証。汎用処理は原施設固有の接続や完成素材を証明しない。', '', + '機械台帳のshared_text/text_refとshared_evidence/evidence_refは重複証拠の共有参照。検索語、一致行番号・全文、相対出典パス、SHAを省略せず保持し、チェッカーは全参照と本文を照合する。作業計画は契約baseのGit blobを固定入力として検証する。別管理の現行進捗は内容完成の証拠にしない。', '', '施設の原典IDは旧対応表の1始まりの位置を保持する。現行の data/facilities 全定義とカタログを名前・既存IDで再検索した。マナ制御室をマナ炉に代用しない。', '', '|原典ID|章|原典名|現行定義候補|使用スロット数|完成素材・原内容|', '|---|---|---|---|---|---|'] @@ -275,14 +368,15 @@ def readable(d): f['original']['name'], ', '.join(f['current_definition_ids']) or '対象検索範囲で欠落', len(f['media_usage_slots']))) lines += ['', '風俗個室は通常UIリストとRuntime読込元に候補がある。闇市場は拡張定義のみで通常読込元に含まれない。他の5施設は対象定義集合で対応が見つからない。実行・保存再開・施設固有イベントの受入は未検証。', '', '## 施設別の観測と使用スロット', ''] + lines += ['共有観測範囲(各施設の具体的検索結果は機械台帳に保持):', ''] + for view in VIEWS: + lines += ['- ' + view + ': ' + d['facilities'][0]['connections'][view]['note']] + lines += ['', '共有出典・検索語はshared_contextのsource_ref/search_refから復元する。各施設の各観測は個別に参照し、合格接続を意味しない。', ''] for f in d['facilities']: lines += ['### ' + f['original_id'] + ' / ' + f['original']['name'], ''] for view in VIEWS: o = f['connections'][view] - lines += ['- ' + view + ': ' + o['status'] + ' — ' + o['note']] - for e in o['evidence']: - lines += [' - `' + e['path'] + '` SHA256 `' + e['sha256'] + '`; matched lines: ' + - (', '.join(str(m['line']) for m in e['matches']) or 'none')] + lines += ['- ' + view + ': ' + o['status'] + '(検索語・一致行本文・出典SHAは機械台帳参照)'] lines += ['', '使用スロット(すべて unverified_required_slot、approved_asset=null):', ''] lines += ['- `' + s['slot_id'] + '`' for s in f['media_usage_slots']] lines += ['', '実制作資産数はunknown/null。スロット数を画像数に転用しない。', ''] @@ -292,8 +386,10 @@ def readable(d): lines += ['', 'event/overlay/history/story/voice/scene の内容ID・数量・受入はunknownまたは未検証。D08(内容範囲)/D09(品質・量・担当・権利)は未決定。中立メタデータのみを記録し、場面は制作・描写しない。', '', '## 出典・適用範囲', '', '機械台帳に各観測の検索語・一致行・本文・実SHAを保持する。旧対応表は原典識別に利用し、現行対応は再検索で記録する。素材台帳は使用スロットと候補の証拠のみ。inventory_summaryの290 media files、0 audio files、360 slots、0 approved assetsは既存監査の限定集計であり、最終必要量を示さない。', ''] lines += ['- `' + s['path'] + '` / ' + s['applicability'] + ' / SHA256 `' + s['sha256'] + '`' for s in d['sources']] + lines += ['', '## 統合監査注記', ''] + lines += ['- ' + note for note in INTEGRATION_NOTES] lines += ['', '## 検証・統合条件', '', - '`python3 tools/check_p13_content_difference.py --negative-checks` は記録整合性と欠落・重複・古いpin・誤完成・技術から内容への昇格・unknownのゼロ化等の拒否を検証する。worker試験は未実行。Runner正式validatorと別セッションの正式Claudeレビュー合格後にのみ統合できる。', '', + '`python -B tools/check_p13_content_difference.py --verify-only` は記録整合性と欠落・重複・古いpin・誤完成・技術から内容への昇格・unknownのゼロ化・共有参照改変等の拒否を必ず検証する。--negative-checksも互換引数として保持する。workerのローカル診断は正式受入ではない。Runner正式validatorと別セッションの正式Claudeレビュー合格後にのみ統合できる。', '', 'Runtime/native/Windows/engine/full game regressionは記録だけの変更に適用外(製品コード・資産・保存形式・値の変更なし)。この適用外をゲームの合格に転用しない。Kenney・fallback・mockup・コード候補・ファイル存在・状態試験から完成資産を推定しない。', ''] return '\n'.join(lines) From bd3a97ec741ddb2346d0c2b2e0472c978927ce82 Mon Sep 17 00:00:00 2001 From: Agent Control Runner Date: Thu, 15 Oct 2026 19:39:35 +0900 Subject: [PATCH 3/3] =?UTF-8?q?P13-03:=20=E5=86=85=E5=AE=B9=E5=B7=AE?= =?UTF-8?q?=E7=95=B0=E3=81=AE=E8=A8=98=E9=8C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../execution/p13-03/DIFFERENCE_LEDGER.md | 16 +- .../p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md | 4 + .../execution/p13-03/difference-ledger.json | 2 +- .../execution/p13-03/validation.json | 38 ++-- tools/check_p13_content_difference.py | 164 ++++++++++++++---- 5 files changed, 160 insertions(+), 64 deletions(-) diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md b/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md index ca26edc..e4c16ed 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md @@ -25,7 +25,7 @@ 共有観測範囲(各施設の具体的検索結果は機械台帳に保持): - normal_entry: adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified. -- runtime: Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior. +- runtime: Runtime loads ORIGINAL_FACILITY_PATHS, including some files under the expansion directory. It does not load EXPANSION_FACILITY_PATHS or black_market. Generic services do not prove original special behavior. - event_state: No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog. - save: Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified. - test: Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred. @@ -228,7 +228,7 @@ event/overlay/history/story/voice/scene の内容ID・数量・受入はunknown - `docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json` / current_checkout / SHA256 `56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491` - `docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json` / current_checkout / SHA256 `298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9` - `docs/plans/original-completion-2026-10-02/decisions.json` / current_checkout / SHA256 `ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9` -- `autoload/simulation_runtime.gd` / current_checkout / SHA256 `d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39` +- `autoload/simulation_runtime.gd` / main_git_blob / SHA256 `4696df4a77feb465a5a3ba8b806569f7bcbe1d03c88289acfb78a3928f307d67` - `data/facilities/adult_private_room.tres` / current_checkout / SHA256 `d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d` - `data/facilities/cafeteria.tres` / current_checkout / SHA256 `86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a` - `data/facilities/expansion/black_market.tres` / current_checkout / SHA256 `c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42` @@ -266,7 +266,7 @@ event/overlay/history/story/voice/scene の内容ID・数量・受入はunknown - `data/facilities/standard_room.tres` / current_checkout / SHA256 `89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336` - `data/facilities/tavern.tres` / current_checkout / SHA256 `eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c` - `data/facilities/warehouse.tres` / current_checkout / SHA256 `d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791` -- `scenes/main/main.gd` / current_checkout / SHA256 `a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3` +- `scenes/main/main.gd` / main_git_blob / SHA256 `92677e4ac57ed8d418a4a716bf0874cbbaea79cff893e5163c82ad1f75e7140a` - `scripts/core/save_service.gd` / current_checkout / SHA256 `0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617` - `scripts/data/facility_catalog.gd` / current_checkout / SHA256 `7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29` - `scripts/events/event_definition.gd` / current_checkout / SHA256 `4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2` @@ -278,12 +278,10 @@ event/overlay/history/story/voice/scene の内容ID・数量・受入はunknown ## 統合監査注記 -- Read-only integration audit: contract base e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1 versus main 57131ec. This is a future refresh instruction, not a relabeling of any recorded source/game/asset hash. -- autoload/simulation_runtime.gd adds preview_build_facility and extracts _build_facility_precheck shared by preview and execution. scenes/main/world_preview.gd routes previews through Runtime with a fallback and adds demolition mode. scenes/main/main.gd adds demolition confirmation/command handling, preview error messages and stricter interface-selection version checks. -- At normal integration Root must refresh normal_entry observations for original_facility_13, original_facility_14, original_facility_15, original_facility_16, original_facility_24, original_facility_25 and original_facility_26 against the integrated main.gd and preview path; refresh runtime observations against the integrated Runtime. Refresh event_state and save search evidence too because their Runtime source hash changes, even though these changed hunks do not establish dedicated original facility events or save round-trips. Recheck mapping/catalog/definitions without promoting missing identities or black_market eligibility. -- The selected test sources in this ledger, facility catalog, event service and save service are unchanged between these commits. Added tests/transport/test_runtime_build_preview.gd and tests/ui/test_p08_normal_placement_ops.gd concern generic preview/placement/demolition; tests/ui/test_selection_departure.gd and tests/ui/fixtures/selection_cross_process.gd concern selection restoration. Root should assess their bounded relevance when refreshing each facility test observation; none accepts original content. Guest observation selection changes and P08 migration fixtures likewise provide no original facility content acceptance. -- Minimal handling: retain this base-version evidence, explicitly re-search changed integrated source paths and rebuild affected technical observations, source pins and output receipt as a reviewed integration refresh; retain all unknown/unverified content states and the 30/88 denominator. Do not merely replace old hashes or claim old tests ran against new code. No rebase, overwrite or Git write is performed here. -- If P13 integrates first, P23 9a full tools map gains tools/check_p13_content_difference.py. P23 proof remains bound to its own version and requires future final source verification; this audit does not extend that proof. +- The two target sources are immutable main Git blobs at 57131ec616ba06a71d3d97eaea738f209f965349. Matches are re-searched from those bytes with main_git_blob provenance. +- Read-only Git ancestry determines applicability: descendant HEAD requires working files equal to main blobs; non-descendant HEAD requires base blobs. Git errors reject. Report flags cannot select a mode. +- Other current-checkout checks remain strict; work packages remain frozen at the contract base. All unknown/unverified states and 30/88 accounting remain unchanged. +- Formal Runner validation and separate independent review remain external requirements; static observations confer no content completion credit. ## 検証・統合条件 diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md b/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md index f49ea48..7cff24d 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/P13_ORDER_FINAL_REPAIR_INPUT.md @@ -1,3 +1,7 @@ +# Superseded historical repair instructions + +The old repair-2 limit and 500000/450000-byte caps below are superseded by the current owner direction. Preserve required evidence without omissions or cap-driven compression. The prior failed invocation remains history, not current readiness. The immutable spec, scope and acceptance remain in force. + # P13-03 final bounded repair input (root context, not implementation) Original contract/spec/acceptance1 and repair cap2 remain unchanged. Repair1 used. Initial submitted7645c55149d3bebf3ed602cf3039b15b28fa376f records seven facilities,84slots,six non-facility categories. Root read-only diagnostic ran its --negative-checks: integrity pass,13 mutations rejected. This is not formal acceptance. diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json b/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json index 87ac89e..e77466c 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json @@ -1 +1 @@ -{"schema_version":2,"task_id":"P13-03","acceptance_ids":["P13-03"],"requirement_ids":["B-1.6","B-2.5","B-8.2","B-8.3","B-10.4","B-10.6"],"validation_ids":["p13-difference"],"base_commit":"e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1","spec_raw_sha256":{"text_ref":"text_0001"},"spec_runner_text_sha256":{"text_ref":"text_0002"},"scope":{"text_ref":"text_0003"},"sources":[{"path":"docs/traceability/original/BASELINE.txt","sha256":{"text_ref":"text_0004"},"applicability":"current_checkout"},{"path":"docs/plans/original-completion-2026-10-02/work_packages.json","sha256":{"text_ref":"text_0005"},"applicability":"base_git_blob","commit":"e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1","scope":{"text_ref":"text_0006"}},{"path":{"text_ref":"text_0007"},"sha256":{"text_ref":"text_0008"},"applicability":"current_checkout"},{"path":{"text_ref":"text_0009"},"sha256":{"text_ref":"text_0010"},"applicability":"current_checkout"},{"path":{"text_ref":"text_0011"},"sha256":{"text_ref":"text_0012"},"applicability":"current_checkout"},{"path":"docs/plans/original-completion-2026-10-02/decisions.json","sha256":{"text_ref":"text_0013"},"applicability":"current_checkout"},{"path":"autoload/simulation_runtime.gd","sha256":{"text_ref":"text_0014"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/adult_private_room.tres","sha256":{"text_ref":"text_0016"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/cafeteria.tres","sha256":{"text_ref":"text_0017"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/black_market.tres","sha256":{"text_ref":"text_0018"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/chapel.tres","sha256":{"text_ref":"text_0019"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/cleaning_room.tres","sha256":{"text_ref":"text_0020"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/clinic.tres","sha256":{"text_ref":"text_0021"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/cold_storage.tres","sha256":{"text_ref":"text_0022"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/general_store.tres","sha256":{"text_ref":"text_0023"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/guild_counter.tres","sha256":{"text_ref":"text_0024"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/laundry.tres","sha256":{"text_ref":"text_0025"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/maintenance_workshop.tres","sha256":{"text_ref":"text_0026"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/mana_control_room.tres","sha256":{"text_ref":"text_0027"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/premium_room.tres","sha256":{"text_ref":"text_0028"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/private_bath.tres","sha256":{"text_ref":"text_0029"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/secret_tavern.tres","sha256":{"text_ref":"text_0030"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/staff_dormitory.tres","sha256":{"text_ref":"text_0031"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/tea_lounge.tres","sha256":{"text_ref":"text_0032"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/underground_guest_room.tres","sha256":{"text_ref":"text_0033"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/vip_private_salon.tres","sha256":{"text_ref":"text_0034"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/waste_processing.tres","sha256":{"text_ref":"text_0035"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/guest_corridor.tres","sha256":{"text_ref":"text_0036"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/guest_elevator.tres","sha256":{"text_ref":"text_0037"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/infrastructure/guest_stairs.tres","sha256":{"text_ref":"text_0038"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/infrastructure/service_stairs.tres","sha256":{"text_ref":"text_0039"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/kitchen.tres","sha256":{"text_ref":"text_0040"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/massage_room.tres","sha256":{"text_ref":"text_0041"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/public_bath.tres","sha256":{"text_ref":"text_0042"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/reception.tres","sha256":{"text_ref":"text_0043"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/rescue/infirmary.tres","sha256":{"text_ref":"text_0044"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/security_station.tres","sha256":{"text_ref":"text_0045"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/service_corridor.tres","sha256":{"text_ref":"text_0046"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/service_elevator.tres","sha256":{"text_ref":"text_0047"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/staff_door.tres","sha256":{"text_ref":"text_0048"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/staff_waiting_room.tres","sha256":{"text_ref":"text_0049"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/standard_room.tres","sha256":{"text_ref":"text_0050"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/tavern.tres","sha256":{"text_ref":"text_0051"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/warehouse.tres","sha256":{"text_ref":"text_0052"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scenes/main/main.gd","sha256":{"text_ref":"text_0053"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/core/save_service.gd","sha256":{"text_ref":"text_0054"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/data/facility_catalog.gd","sha256":{"text_ref":"text_0055"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/events/event_definition.gd","sha256":{"text_ref":"text_0056"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/events/event_service.gd","sha256":{"text_ref":"text_0057"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/ui/event_log_dialog.gd","sha256":{"text_ref":"text_0058"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s2/test_facility_service.gd","sha256":{"text_ref":"text_0059"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s4/test_runtime_relationship_events.gd","sha256":{"text_ref":"text_0060"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s6/test_runtime_snapshot_serialization.gd","sha256":{"text_ref":"text_0061"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}}],"facilities":[{"original_id":"original_facility_13","original":{"section":"10.4","name":"風俗個室","definition_id":"adult_private_room","original_size":"2x1","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0001"},{"evidence_ref":"evidence_0002"},{"evidence_ref":"evidence_0003"},{"evidence_ref":"evidence_0004"},{"evidence_ref":"evidence_0005"},{"evidence_ref":"evidence_0006"},{"evidence_ref":"evidence_0007"},{"evidence_ref":"evidence_0008"},{"evidence_ref":"evidence_0009"},{"evidence_ref":"evidence_0010"},{"evidence_ref":"evidence_0011"},{"evidence_ref":"evidence_0012"},{"evidence_ref":"evidence_0013"},{"evidence_ref":"evidence_0014"},{"evidence_ref":"evidence_0015"},{"evidence_ref":"evidence_0016"},{"evidence_ref":"evidence_0017"},{"evidence_ref":"evidence_0018"},{"evidence_ref":"evidence_0019"},{"evidence_ref":"evidence_0020"},{"evidence_ref":"evidence_0021"},{"evidence_ref":"evidence_0022"},{"evidence_ref":"evidence_0023"},{"evidence_ref":"evidence_0024"},{"evidence_ref":"evidence_0025"},{"evidence_ref":"evidence_0026"},{"evidence_ref":"evidence_0027"},{"evidence_ref":"evidence_0028"},{"evidence_ref":"evidence_0029"},{"evidence_ref":"evidence_0030"},{"evidence_ref":"evidence_0031"},{"evidence_ref":"evidence_0032"},{"evidence_ref":"evidence_0033"},{"evidence_ref":"evidence_0034"},{"evidence_ref":"evidence_0035"},{"evidence_ref":"evidence_0036"},{"evidence_ref":"evidence_0037"},{"evidence_ref":"evidence_0038"}]},"current_definition_ids":["adult_private_room"],"current_definition_paths":["data/facilities/adult_private_room.tres"],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0039"},{"evidence_ref":"evidence_0001"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0040"},{"evidence_ref":"evidence_0041"},{"evidence_ref":"evidence_0042"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0043"},{"evidence_ref":"evidence_0044"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0045"},{"evidence_ref":"evidence_0046"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0047"},{"evidence_ref":"evidence_0048"},{"evidence_ref":"evidence_0049"}]}},"media_usage_slots":[{"slot_id":"adult_private_room.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_14","original":{"section":"10.4","name":"高級ソープ","definition_id":null,"original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0050"},{"evidence_ref":"evidence_0051"},{"evidence_ref":"evidence_0052"},{"evidence_ref":"evidence_0053"},{"evidence_ref":"evidence_0054"},{"evidence_ref":"evidence_0055"},{"evidence_ref":"evidence_0056"},{"evidence_ref":"evidence_0057"},{"evidence_ref":"evidence_0058"},{"evidence_ref":"evidence_0059"},{"evidence_ref":"evidence_0060"},{"evidence_ref":"evidence_0061"},{"evidence_ref":"evidence_0062"},{"evidence_ref":"evidence_0063"},{"evidence_ref":"evidence_0064"},{"evidence_ref":"evidence_0065"},{"evidence_ref":"evidence_0066"},{"evidence_ref":"evidence_0067"},{"evidence_ref":"evidence_0068"},{"evidence_ref":"evidence_0069"},{"evidence_ref":"evidence_0070"},{"evidence_ref":"evidence_0071"},{"evidence_ref":"evidence_0072"},{"evidence_ref":"evidence_0073"},{"evidence_ref":"evidence_0074"},{"evidence_ref":"evidence_0075"},{"evidence_ref":"evidence_0076"},{"evidence_ref":"evidence_0077"},{"evidence_ref":"evidence_0078"},{"evidence_ref":"evidence_0079"},{"evidence_ref":"evidence_0080"},{"evidence_ref":"evidence_0081"},{"evidence_ref":"evidence_0082"},{"evidence_ref":"evidence_0083"},{"evidence_ref":"evidence_0084"},{"evidence_ref":"evidence_0085"},{"evidence_ref":"evidence_0086"},{"evidence_ref":"evidence_0087"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0088"},{"evidence_ref":"evidence_0050"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0089"},{"evidence_ref":"evidence_0090"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0091"},{"evidence_ref":"evidence_0092"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0093"},{"evidence_ref":"evidence_0094"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0095"},{"evidence_ref":"evidence_0096"},{"evidence_ref":"evidence_0097"}]}},"media_usage_slots":[{"slot_id":"original_facility_14.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_15","original":{"section":"10.4","name":"SM拷問室","definition_id":null,"original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0098"},{"evidence_ref":"evidence_0099"},{"evidence_ref":"evidence_0100"},{"evidence_ref":"evidence_0101"},{"evidence_ref":"evidence_0102"},{"evidence_ref":"evidence_0103"},{"evidence_ref":"evidence_0104"},{"evidence_ref":"evidence_0105"},{"evidence_ref":"evidence_0106"},{"evidence_ref":"evidence_0107"},{"evidence_ref":"evidence_0108"},{"evidence_ref":"evidence_0109"},{"evidence_ref":"evidence_0110"},{"evidence_ref":"evidence_0111"},{"evidence_ref":"evidence_0112"},{"evidence_ref":"evidence_0113"},{"evidence_ref":"evidence_0114"},{"evidence_ref":"evidence_0115"},{"evidence_ref":"evidence_0116"},{"evidence_ref":"evidence_0117"},{"evidence_ref":"evidence_0118"},{"evidence_ref":"evidence_0119"},{"evidence_ref":"evidence_0120"},{"evidence_ref":"evidence_0121"},{"evidence_ref":"evidence_0122"},{"evidence_ref":"evidence_0123"},{"evidence_ref":"evidence_0124"},{"evidence_ref":"evidence_0125"},{"evidence_ref":"evidence_0126"},{"evidence_ref":"evidence_0127"},{"evidence_ref":"evidence_0128"},{"evidence_ref":"evidence_0129"},{"evidence_ref":"evidence_0130"},{"evidence_ref":"evidence_0131"},{"evidence_ref":"evidence_0132"},{"evidence_ref":"evidence_0133"},{"evidence_ref":"evidence_0134"},{"evidence_ref":"evidence_0135"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0136"},{"evidence_ref":"evidence_0098"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0137"},{"evidence_ref":"evidence_0138"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0139"},{"evidence_ref":"evidence_0140"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0141"},{"evidence_ref":"evidence_0142"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0143"},{"evidence_ref":"evidence_0144"},{"evidence_ref":"evidence_0145"}]}},"media_usage_slots":[{"slot_id":"original_facility_15.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_16","original":{"section":"10.4","name":"闇市場","definition_id":"black_market","original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0146"},{"evidence_ref":"evidence_0147"},{"evidence_ref":"evidence_0148"},{"evidence_ref":"evidence_0149"},{"evidence_ref":"evidence_0150"},{"evidence_ref":"evidence_0151"},{"evidence_ref":"evidence_0152"},{"evidence_ref":"evidence_0153"},{"evidence_ref":"evidence_0154"},{"evidence_ref":"evidence_0155"},{"evidence_ref":"evidence_0156"},{"evidence_ref":"evidence_0157"},{"evidence_ref":"evidence_0158"},{"evidence_ref":"evidence_0159"},{"evidence_ref":"evidence_0160"},{"evidence_ref":"evidence_0161"},{"evidence_ref":"evidence_0162"},{"evidence_ref":"evidence_0163"},{"evidence_ref":"evidence_0164"},{"evidence_ref":"evidence_0165"},{"evidence_ref":"evidence_0166"},{"evidence_ref":"evidence_0167"},{"evidence_ref":"evidence_0168"},{"evidence_ref":"evidence_0169"},{"evidence_ref":"evidence_0170"},{"evidence_ref":"evidence_0171"},{"evidence_ref":"evidence_0172"},{"evidence_ref":"evidence_0173"},{"evidence_ref":"evidence_0174"},{"evidence_ref":"evidence_0175"},{"evidence_ref":"evidence_0176"},{"evidence_ref":"evidence_0177"},{"evidence_ref":"evidence_0178"},{"evidence_ref":"evidence_0179"},{"evidence_ref":"evidence_0180"},{"evidence_ref":"evidence_0181"},{"evidence_ref":"evidence_0182"},{"evidence_ref":"evidence_0183"}]},"current_definition_ids":["black_market"],"current_definition_paths":["data/facilities/expansion/black_market.tres"],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0184"},{"evidence_ref":"evidence_0146"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0185"},{"evidence_ref":"evidence_0186"},{"evidence_ref":"evidence_0187"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0188"},{"evidence_ref":"evidence_0189"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0190"},{"evidence_ref":"evidence_0191"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0192"},{"evidence_ref":"evidence_0193"},{"evidence_ref":"evidence_0194"}]}},"media_usage_slots":[{"slot_id":"black_market.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_24","original":{"section":"10.6","name":"覗き部屋","definition_id":null,"original_size":"2x1","original_layer_zone":"BACK"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0195"},{"evidence_ref":"evidence_0196"},{"evidence_ref":"evidence_0197"},{"evidence_ref":"evidence_0198"},{"evidence_ref":"evidence_0199"},{"evidence_ref":"evidence_0200"},{"evidence_ref":"evidence_0201"},{"evidence_ref":"evidence_0202"},{"evidence_ref":"evidence_0203"},{"evidence_ref":"evidence_0204"},{"evidence_ref":"evidence_0205"},{"evidence_ref":"evidence_0206"},{"evidence_ref":"evidence_0207"},{"evidence_ref":"evidence_0208"},{"evidence_ref":"evidence_0209"},{"evidence_ref":"evidence_0210"},{"evidence_ref":"evidence_0211"},{"evidence_ref":"evidence_0212"},{"evidence_ref":"evidence_0213"},{"evidence_ref":"evidence_0214"},{"evidence_ref":"evidence_0215"},{"evidence_ref":"evidence_0216"},{"evidence_ref":"evidence_0217"},{"evidence_ref":"evidence_0218"},{"evidence_ref":"evidence_0219"},{"evidence_ref":"evidence_0220"},{"evidence_ref":"evidence_0221"},{"evidence_ref":"evidence_0222"},{"evidence_ref":"evidence_0223"},{"evidence_ref":"evidence_0224"},{"evidence_ref":"evidence_0225"},{"evidence_ref":"evidence_0226"},{"evidence_ref":"evidence_0227"},{"evidence_ref":"evidence_0228"},{"evidence_ref":"evidence_0229"},{"evidence_ref":"evidence_0230"},{"evidence_ref":"evidence_0231"},{"evidence_ref":"evidence_0232"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0233"},{"evidence_ref":"evidence_0195"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0234"},{"evidence_ref":"evidence_0235"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0236"},{"evidence_ref":"evidence_0237"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0238"},{"evidence_ref":"evidence_0239"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0240"},{"evidence_ref":"evidence_0241"},{"evidence_ref":"evidence_0242"}]}},"media_usage_slots":[{"slot_id":"original_facility_24.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_25","original":{"section":"10.6","name":"地下牢","definition_id":null,"original_size":"4x2","original_layer_zone":"BACK地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0243"},{"evidence_ref":"evidence_0244"},{"evidence_ref":"evidence_0245"},{"evidence_ref":"evidence_0246"},{"evidence_ref":"evidence_0247"},{"evidence_ref":"evidence_0248"},{"evidence_ref":"evidence_0249"},{"evidence_ref":"evidence_0250"},{"evidence_ref":"evidence_0251"},{"evidence_ref":"evidence_0252"},{"evidence_ref":"evidence_0253"},{"evidence_ref":"evidence_0254"},{"evidence_ref":"evidence_0255"},{"evidence_ref":"evidence_0256"},{"evidence_ref":"evidence_0257"},{"evidence_ref":"evidence_0258"},{"evidence_ref":"evidence_0259"},{"evidence_ref":"evidence_0260"},{"evidence_ref":"evidence_0261"},{"evidence_ref":"evidence_0262"},{"evidence_ref":"evidence_0263"},{"evidence_ref":"evidence_0264"},{"evidence_ref":"evidence_0265"},{"evidence_ref":"evidence_0266"},{"evidence_ref":"evidence_0267"},{"evidence_ref":"evidence_0268"},{"evidence_ref":"evidence_0269"},{"evidence_ref":"evidence_0270"},{"evidence_ref":"evidence_0271"},{"evidence_ref":"evidence_0272"},{"evidence_ref":"evidence_0273"},{"evidence_ref":"evidence_0274"},{"evidence_ref":"evidence_0275"},{"evidence_ref":"evidence_0276"},{"evidence_ref":"evidence_0277"},{"evidence_ref":"evidence_0278"},{"evidence_ref":"evidence_0279"},{"evidence_ref":"evidence_0280"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0281"},{"evidence_ref":"evidence_0243"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0282"},{"evidence_ref":"evidence_0283"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0284"},{"evidence_ref":"evidence_0285"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0286"},{"evidence_ref":"evidence_0287"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0288"},{"evidence_ref":"evidence_0289"},{"evidence_ref":"evidence_0290"}]}},"media_usage_slots":[{"slot_id":"original_facility_25.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_26","original":{"section":"10.6","name":"マナ炉","definition_id":null,"original_size":"6x3","original_layer_zone":"BACK地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0291"},{"evidence_ref":"evidence_0292"},{"evidence_ref":"evidence_0293"},{"evidence_ref":"evidence_0294"},{"evidence_ref":"evidence_0295"},{"evidence_ref":"evidence_0296"},{"evidence_ref":"evidence_0297"},{"evidence_ref":"evidence_0298"},{"evidence_ref":"evidence_0299"},{"evidence_ref":"evidence_0300"},{"evidence_ref":"evidence_0301"},{"evidence_ref":"evidence_0302"},{"evidence_ref":"evidence_0303"},{"evidence_ref":"evidence_0304"},{"evidence_ref":"evidence_0305"},{"evidence_ref":"evidence_0306"},{"evidence_ref":"evidence_0307"},{"evidence_ref":"evidence_0308"},{"evidence_ref":"evidence_0309"},{"evidence_ref":"evidence_0310"},{"evidence_ref":"evidence_0311"},{"evidence_ref":"evidence_0312"},{"evidence_ref":"evidence_0313"},{"evidence_ref":"evidence_0314"},{"evidence_ref":"evidence_0315"},{"evidence_ref":"evidence_0316"},{"evidence_ref":"evidence_0317"},{"evidence_ref":"evidence_0318"},{"evidence_ref":"evidence_0319"},{"evidence_ref":"evidence_0320"},{"evidence_ref":"evidence_0321"},{"evidence_ref":"evidence_0322"},{"evidence_ref":"evidence_0323"},{"evidence_ref":"evidence_0324"},{"evidence_ref":"evidence_0325"},{"evidence_ref":"evidence_0326"},{"evidence_ref":"evidence_0327"},{"evidence_ref":"evidence_0328"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0329"},{"evidence_ref":"evidence_0291"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0330"},{"evidence_ref":"evidence_0331"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0332"},{"evidence_ref":"evidence_0333"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0334"},{"evidence_ref":"evidence_0335"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0336"},{"evidence_ref":"evidence_0337"},{"evidence_ref":"evidence_0338"}]}},"media_usage_slots":[{"slot_id":"original_facility_26.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false}],"nonfacility_differences":[{"difference_id":"P13-03.event","category":"event","requirement_ids":["B-1.6","B-2.5","B-8.2","B-8.3"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0339"},{"evidence_ref":"evidence_0340"},{"evidence_ref":"evidence_0341"}]}},{"difference_id":"P13-03.overlay","category":"overlay","requirement_ids":["B-2.5"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0342"},{"evidence_ref":"evidence_0343"},{"evidence_ref":"evidence_0344"}]}},{"difference_id":"P13-03.history","category":"history","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0345"},{"evidence_ref":"evidence_0346"},{"evidence_ref":"evidence_0347"}]}},{"difference_id":"P13-03.story","category":"story","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0348"},{"evidence_ref":"evidence_0349"},{"evidence_ref":"evidence_0350"}]}},{"difference_id":"P13-03.voice","category":"voice","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0351"},{"evidence_ref":"evidence_0352"},{"evidence_ref":"evidence_0353"}]}},{"difference_id":"P13-03.scene","category":"scene","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0354"},{"evidence_ref":"evidence_0355"},{"evidence_ref":"evidence_0356"}]}}],"unknowns":{"D08":"unknown","D09":"unknown","final_content_ids":null,"final_content_quantity":null,"final_actual_asset_count":null},"accounting":{"packages":30,"delivery_units":88,"no_partial_credit":true,"package_completion_inferred":false,"original_views_edited":false,"content_completion_inferred":false,"technical_as_content_credit":false},"asset_policy":{"text_ref":"text_0131"},"test_applicability":{"runtime":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"native":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"Windows":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"engine":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"full_game_regression":{"status":"not_applicable","reason":{"text_ref":"text_0132"}}},"formal_validation":"pending_runner","formal_claude_review":"pending_runner","integration_gate":{"text_ref":"text_0133"},"shared_text":{"text_0001":"917cf1504bbfc700e0da42b2db496b42486fe3c36c680f301f58cf34c95267b6","text_0002":"e1255835c1227e02bac42eb99b026b0fcbe69c272f9ed0b36199a2daf8d55c53","text_0003":"Existing original P13-03 documentation/accounting delivery. This does not implement or accept P13-01/P13-02, sexual scenes, original game completion, numerical mana choices or Windows acceptance.","text_0004":"75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a","text_0005":"bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af","text_0006":"Frozen contract input. Live plan state is maintained separately and is not content completion evidence.","text_0007":"docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json","text_0008":"df0c933220449c8bb3e0fd942ad6f1dee49075abdd6587c4856022e12e3665cf","text_0009":"docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json","text_0010":"56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491","text_0011":"docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json","text_0012":"298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9","text_0013":"ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9","text_0014":"d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39","text_0015":"Bounded static observation; no executed connection/content acceptance.","text_0016":"d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d","text_0017":"86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a","text_0018":"c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42","text_0019":"9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb","text_0020":"ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8","text_0021":"339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16","text_0022":"1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99","text_0023":"76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1","text_0024":"93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b","text_0025":"2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4","text_0026":"8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b","text_0027":"55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25","text_0028":"6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98","text_0029":"241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c","text_0030":"f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62","text_0031":"8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271","text_0032":"77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67","text_0033":"cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e","text_0034":"1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7","text_0035":"9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d","text_0036":"d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b","text_0037":"ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7","text_0038":"757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6","text_0039":"637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c","text_0040":"38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3","text_0041":"75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85","text_0042":"8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778","text_0043":"bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f","text_0044":"c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943","text_0045":"69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3","text_0046":"5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254","text_0047":"35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132","text_0048":"a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752","text_0049":"5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f","text_0050":"89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336","text_0051":"eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c","text_0052":"d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791","text_0053":"a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3","text_0054":"0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617","text_0055":"7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29","text_0056":"4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2","text_0057":"d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103","text_0058":"62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290","text_0059":"4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690","text_0060":"466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3","text_0061":"d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84","text_0062":"Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.","text_0063":"adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.","text_0064":"Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.","text_0065":"\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)","text_0066":"No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.","text_0067":"Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.","text_0068":"\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\","text_0069":"\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)","text_0070":"static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:","text_0071":"Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.","text_0072":"Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count.","text_0073":"Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.","text_0074":"Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.","text_0075":"## Deterministic event candidate queue, foreground actor locking and transactional","text_0076":"signal event_cancelled(instance: EventInstance, reason: StringName)","text_0077":"const EventDefinitionType = preload(\"res://scripts/events/event_definition.gd\")","text_0078":"const EventInstanceType = preload(\"res://scripts/events/event_instance.gd\")","text_0079":"const EventActionType = preload(\"res://scripts/events/event_action.gd\")","text_0080":"## a queued event acquires actors or executes actions. It is rebuilt on restore.","text_0081":"\t\treturn _invalid(\"Duplicate EventDefinition: %s\" % definition.event_id)","text_0082":"func create_definition(event_id: StringName, options: Dictionary = {}) -> CommandResult:","text_0083":"\treturn register_definition(EventDefinitionType.new().configure(event_id, options))","text_0084":"\t\t\terrors.append(\"Invalid definition: %s\" % definition.event_id)","text_0085":"\t\t\t\terrors.append(\"Replacement missing: %s -> %s\" % [definition.event_id, definition.replacement_event_id])","text_0086":"\t\t\t\terrors.append(\"Replacement cycle: %s\" % definition.event_id)","text_0087":"\t\t\tvar replacement := get_definition(source.replacement_event_id)","text_0088":"\t\t\tif replacement == null or replacement.event_id == source.event_id:","text_0089":"\tvar resolved_event_id := StringName(content_resolution[&\"event_id\"])","text_0090":"\tvar instance_id := StringName(_value(options, &\"event_instance_id\", &\"\"))","text_0091":"\t\tinstance_id = StringName(\"event_instance_%08d\" % _next_event_sequence)","text_0092":"\t\treturn _invalid(\"Event candidate is prevented by placement protection.\", {&\"reason\": &\"PLACEMENT_PROTECTION\"})","text_0093":"func start_next_event(absolute_minute: int, extra_context: Dictionary = {}) -> CommandResult:","text_0094":"\t\tvar original_definition := get_definition(instance.source_event_id)","text_0095":"\tvar result := _reserve_choice_cost_inside_transaction(event_instance_id, choice_id, absolute_minute, extra_context)","text_0096":"\tvar result := _submit_choice_inside_transaction(event_instance_id, choice_instance_id, choice_id, absolute_minute, extra_context)","text_0097":"\t\tvar reserve_result := reserve_choice_cost(event_instance_id, choice_id, absolute_minute, extra_context)","text_0098":"\tchoice_resolved.emit(event_instance_id, choice_id, result.to_dictionary())","text_0099":"func cancel_event(event_instance_id: StringName, reason: StringName = &\"CANCELLED\") -> CommandResult:","text_0100":"func get_instance(event_instance_id: StringName) -> EventInstance:","text_0101":"\t\tif not instance.is_valid() or not _definitions.has(instance.resolved_event_id):","text_0102":"\t\t\terrors.append(\"Invalid EventInstance: %s\" % instance.event_instance_id)","text_0103":"## this routine never invents actors, events, choices, or route ownership.","text_0104":"\t\tif raw_instance is Dictionary and StringName(_value(raw_instance, &\"event_instance_id\", &\"\")) == foreground_id:","text_0105":"\t\tif not instance.is_valid() or instances.has(instance.event_instance_id) or not _definitions.has(instance.resolved_event_id):","text_0106":"\tvar next_event := int(_value(snapshot, &\"next_event_sequence\", 0))","text_0107":"\t\t\tvar event_id := StringName(_value(action.payload, &\"event_id\", &\"\"))","text_0108":"\t\t\t\treturn {&\"ok\": false, &\"error\": \"SCHEDULE_EVENT references an unknown event.\"}","text_0109":"\t\t\t\treturn {&\"ok\": result.is_success(), &\"error\": result.message, &\"token\": result.details.get(&\"event_instance_id\", &\"\")}","text_0110":"\t\tif _actor_locks.get(actor_id, &\"\") == instance.event_instance_id:","text_0111":"\t\t\t\t_completed_scope_keys[scope_key] = instance.event_instance_id","text_0112":"\t\t\treturn StringName(\"day:%s:%d\" % [definition.event_id, absolute_minute / 1_440])","text_0113":"\t\t\treturn StringName(\"pair:%s:%s\" % [definition.event_id, \",\".join(_names_to_strings(actor_ids))])","text_0114":"\t\t\treturn String(a.event_instance_id) < String(b.event_instance_id)","text_0115":"static func _default_deduplication_key(event_id: StringName, actor_ids: Array[StringName]) -> StringName:","text_0116":"\treturn StringName(\"%s:%s\" % [event_id, \",\".join(_names_to_strings(actor_ids))])","text_0117":"const EventConditionType = preload(\"res://scripts/events/event_condition.gd\")","text_0118":"const EventChoiceType = preload(\"res://scripts/events/event_choice.gd\")","text_0119":"func configure(p_event_id: StringName, options: Dictionary = {}) -> EventDefinition:","text_0120":"\treplacement_event_id = StringName(_value(options, &\"replacement_event_id\", &\"\"))","text_0121":"\tif filter_behavior == FilterBehavior.REPLACE and replacement_event_id.is_empty():","text_0122":"## View the existing retained event stream. No catalog membership, unlock,","text_0123":"\t\t_event_list.add_item(\"%s %s — %s\" % [presentation[&\"time\"], presentation[&\"title\"], presentation[&\"targets\"]])","text_0124":"\t\t_event_list.set_item_tooltip(index, presentation[&\"supplement\"])","text_0125":"\t\t&\"title\": String(EVENT_NAMES.get(StringName(row.get(\"event_type\", \"\")), \"未識別の記録\")),","text_0126":"\t_event_list.add_theme_stylebox_override(\"panel\", _skin_box(Color(\"f4e3bd\"), &\"panel_parchment\"))","text_0127":"\t\t_event_list.add_theme_stylebox_override(key, _skin_box(Color(\"65452d\"), &\"button_pressed\"))","text_0128":"\t\t_event_list.add_theme_color_override(\"font_color\", Color(\"d8eeea\") if layer == 1 else Color(\"55371e\"))","text_0129":"\t\t_event_list.add_theme_color_override(\"font_selected_color\", Color(\"fff0cf\"))","text_0130":"## This is presentation of existing notification facts, not a story catalog.","text_0131":"Usage slots are not image counts. Fallback, Kenney pack, mockup, candidate token, file existence and technical tests confer no content credit.","text_0132":"Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed.","text_0133":"Required p13-difference validator and separate formal Claude review must pass before integration."},"shared_evidence":{"evidence_0001":{"source_ref":"context_0001","search_ref":"context_0002","matches":[{"line":25,"text":"\t&\"adult_private_room\","},{"line":44,"text":"\t\"res://data/facilities/adult_private_room.tres\","}]},"evidence_0002":{"source_ref":"context_0003","search_ref":"context_0002","matches":[{"line":8,"text":"id = &\"adult_private_room\""}]},"evidence_0003":{"source_ref":"context_0004","search_ref":"context_0002","matches":[]},"evidence_0004":{"source_ref":"context_0005","search_ref":"context_0002","matches":[]},"evidence_0005":{"source_ref":"context_0006","search_ref":"context_0002","matches":[]},"evidence_0006":{"source_ref":"context_0007","search_ref":"context_0002","matches":[]},"evidence_0007":{"source_ref":"context_0008","search_ref":"context_0002","matches":[]},"evidence_0008":{"source_ref":"context_0009","search_ref":"context_0002","matches":[]},"evidence_0009":{"source_ref":"context_0010","search_ref":"context_0002","matches":[]},"evidence_0010":{"source_ref":"context_0011","search_ref":"context_0002","matches":[]},"evidence_0011":{"source_ref":"context_0012","search_ref":"context_0002","matches":[]},"evidence_0012":{"source_ref":"context_0013","search_ref":"context_0002","matches":[]},"evidence_0013":{"source_ref":"context_0014","search_ref":"context_0002","matches":[]},"evidence_0014":{"source_ref":"context_0015","search_ref":"context_0002","matches":[]},"evidence_0015":{"source_ref":"context_0016","search_ref":"context_0002","matches":[]},"evidence_0016":{"source_ref":"context_0017","search_ref":"context_0002","matches":[]},"evidence_0017":{"source_ref":"context_0018","search_ref":"context_0002","matches":[]},"evidence_0018":{"source_ref":"context_0019","search_ref":"context_0002","matches":[]},"evidence_0019":{"source_ref":"context_0020","search_ref":"context_0002","matches":[]},"evidence_0020":{"source_ref":"context_0021","search_ref":"context_0002","matches":[]},"evidence_0021":{"source_ref":"context_0022","search_ref":"context_0002","matches":[]},"evidence_0022":{"source_ref":"context_0023","search_ref":"context_0002","matches":[]},"evidence_0023":{"source_ref":"context_0024","search_ref":"context_0002","matches":[]},"evidence_0024":{"source_ref":"context_0025","search_ref":"context_0002","matches":[]},"evidence_0025":{"source_ref":"context_0026","search_ref":"context_0002","matches":[]},"evidence_0026":{"source_ref":"context_0027","search_ref":"context_0002","matches":[]},"evidence_0027":{"source_ref":"context_0028","search_ref":"context_0002","matches":[]},"evidence_0028":{"source_ref":"context_0029","search_ref":"context_0002","matches":[]},"evidence_0029":{"source_ref":"context_0030","search_ref":"context_0002","matches":[]},"evidence_0030":{"source_ref":"context_0031","search_ref":"context_0002","matches":[]},"evidence_0031":{"source_ref":"context_0032","search_ref":"context_0002","matches":[]},"evidence_0032":{"source_ref":"context_0033","search_ref":"context_0002","matches":[]},"evidence_0033":{"source_ref":"context_0034","search_ref":"context_0002","matches":[]},"evidence_0034":{"source_ref":"context_0035","search_ref":"context_0002","matches":[]},"evidence_0035":{"source_ref":"context_0036","search_ref":"context_0002","matches":[]},"evidence_0036":{"source_ref":"context_0037","search_ref":"context_0002","matches":[]},"evidence_0037":{"source_ref":"context_0038","search_ref":"context_0002","matches":[]},"evidence_0038":{"source_ref":"context_0039","search_ref":"context_0002","matches":[]},"evidence_0039":{"source_ref":"context_0040","search_ref":"context_0002","matches":[{"line":53,"text":"\t&\"adult_private_room\","}]},"evidence_0040":{"source_ref":"context_0041","search_ref":"context_0042","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0041":{"source_ref":"context_0001","search_ref":"context_0042","matches":[{"line":25,"text":"\t&\"adult_private_room\","},{"line":44,"text":"\t\"res://data/facilities/adult_private_room.tres\","}]},"evidence_0042":{"source_ref":"context_0003","search_ref":"context_0042","matches":[{"line":8,"text":"id = &\"adult_private_room\""}]},"evidence_0043":{"source_ref":"context_0041","search_ref":"context_0002","matches":[]},"evidence_0044":{"source_ref":"context_0043","search_ref":"context_0002","matches":[]},"evidence_0045":{"source_ref":"context_0041","search_ref":"context_0044","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0046":{"source_ref":"context_0045","search_ref":"context_0044","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0047":{"source_ref":"context_0046","search_ref":"context_0002","matches":[]},"evidence_0048":{"source_ref":"context_0047","search_ref":"context_0002","matches":[]},"evidence_0049":{"source_ref":"context_0048","search_ref":"context_0002","matches":[]},"evidence_0050":{"source_ref":"context_0001","search_ref":"context_0049","matches":[]},"evidence_0051":{"source_ref":"context_0003","search_ref":"context_0049","matches":[]},"evidence_0052":{"source_ref":"context_0004","search_ref":"context_0049","matches":[]},"evidence_0053":{"source_ref":"context_0005","search_ref":"context_0049","matches":[]},"evidence_0054":{"source_ref":"context_0006","search_ref":"context_0049","matches":[]},"evidence_0055":{"source_ref":"context_0007","search_ref":"context_0049","matches":[]},"evidence_0056":{"source_ref":"context_0008","search_ref":"context_0049","matches":[]},"evidence_0057":{"source_ref":"context_0009","search_ref":"context_0049","matches":[]},"evidence_0058":{"source_ref":"context_0010","search_ref":"context_0049","matches":[]},"evidence_0059":{"source_ref":"context_0011","search_ref":"context_0049","matches":[]},"evidence_0060":{"source_ref":"context_0012","search_ref":"context_0049","matches":[]},"evidence_0061":{"source_ref":"context_0013","search_ref":"context_0049","matches":[]},"evidence_0062":{"source_ref":"context_0014","search_ref":"context_0049","matches":[]},"evidence_0063":{"source_ref":"context_0015","search_ref":"context_0049","matches":[]},"evidence_0064":{"source_ref":"context_0016","search_ref":"context_0049","matches":[]},"evidence_0065":{"source_ref":"context_0017","search_ref":"context_0049","matches":[]},"evidence_0066":{"source_ref":"context_0018","search_ref":"context_0049","matches":[]},"evidence_0067":{"source_ref":"context_0019","search_ref":"context_0049","matches":[]},"evidence_0068":{"source_ref":"context_0020","search_ref":"context_0049","matches":[]},"evidence_0069":{"source_ref":"context_0021","search_ref":"context_0049","matches":[]},"evidence_0070":{"source_ref":"context_0022","search_ref":"context_0049","matches":[]},"evidence_0071":{"source_ref":"context_0023","search_ref":"context_0049","matches":[]},"evidence_0072":{"source_ref":"context_0024","search_ref":"context_0049","matches":[]},"evidence_0073":{"source_ref":"context_0025","search_ref":"context_0049","matches":[]},"evidence_0074":{"source_ref":"context_0026","search_ref":"context_0049","matches":[]},"evidence_0075":{"source_ref":"context_0027","search_ref":"context_0049","matches":[]},"evidence_0076":{"source_ref":"context_0028","search_ref":"context_0049","matches":[]},"evidence_0077":{"source_ref":"context_0029","search_ref":"context_0049","matches":[]},"evidence_0078":{"source_ref":"context_0030","search_ref":"context_0049","matches":[]},"evidence_0079":{"source_ref":"context_0031","search_ref":"context_0049","matches":[]},"evidence_0080":{"source_ref":"context_0032","search_ref":"context_0049","matches":[]},"evidence_0081":{"source_ref":"context_0033","search_ref":"context_0049","matches":[]},"evidence_0082":{"source_ref":"context_0034","search_ref":"context_0049","matches":[]},"evidence_0083":{"source_ref":"context_0035","search_ref":"context_0049","matches":[]},"evidence_0084":{"source_ref":"context_0036","search_ref":"context_0049","matches":[]},"evidence_0085":{"source_ref":"context_0037","search_ref":"context_0049","matches":[]},"evidence_0086":{"source_ref":"context_0038","search_ref":"context_0049","matches":[]},"evidence_0087":{"source_ref":"context_0039","search_ref":"context_0049","matches":[]},"evidence_0088":{"source_ref":"context_0040","search_ref":"context_0049","matches":[]},"evidence_0089":{"source_ref":"context_0041","search_ref":"context_0050","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0090":{"source_ref":"context_0001","search_ref":"context_0050","matches":[]},"evidence_0091":{"source_ref":"context_0041","search_ref":"context_0049","matches":[]},"evidence_0092":{"source_ref":"context_0043","search_ref":"context_0049","matches":[]},"evidence_0093":{"source_ref":"context_0041","search_ref":"context_0051","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0094":{"source_ref":"context_0045","search_ref":"context_0051","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0095":{"source_ref":"context_0046","search_ref":"context_0049","matches":[]},"evidence_0096":{"source_ref":"context_0047","search_ref":"context_0049","matches":[]},"evidence_0097":{"source_ref":"context_0048","search_ref":"context_0049","matches":[]},"evidence_0098":{"source_ref":"context_0001","search_ref":"context_0052","matches":[]},"evidence_0099":{"source_ref":"context_0003","search_ref":"context_0052","matches":[]},"evidence_0100":{"source_ref":"context_0004","search_ref":"context_0052","matches":[]},"evidence_0101":{"source_ref":"context_0005","search_ref":"context_0052","matches":[]},"evidence_0102":{"source_ref":"context_0006","search_ref":"context_0052","matches":[]},"evidence_0103":{"source_ref":"context_0007","search_ref":"context_0052","matches":[]},"evidence_0104":{"source_ref":"context_0008","search_ref":"context_0052","matches":[]},"evidence_0105":{"source_ref":"context_0009","search_ref":"context_0052","matches":[]},"evidence_0106":{"source_ref":"context_0010","search_ref":"context_0052","matches":[]},"evidence_0107":{"source_ref":"context_0011","search_ref":"context_0052","matches":[]},"evidence_0108":{"source_ref":"context_0012","search_ref":"context_0052","matches":[]},"evidence_0109":{"source_ref":"context_0013","search_ref":"context_0052","matches":[]},"evidence_0110":{"source_ref":"context_0014","search_ref":"context_0052","matches":[]},"evidence_0111":{"source_ref":"context_0015","search_ref":"context_0052","matches":[]},"evidence_0112":{"source_ref":"context_0016","search_ref":"context_0052","matches":[]},"evidence_0113":{"source_ref":"context_0017","search_ref":"context_0052","matches":[]},"evidence_0114":{"source_ref":"context_0018","search_ref":"context_0052","matches":[]},"evidence_0115":{"source_ref":"context_0019","search_ref":"context_0052","matches":[]},"evidence_0116":{"source_ref":"context_0020","search_ref":"context_0052","matches":[]},"evidence_0117":{"source_ref":"context_0021","search_ref":"context_0052","matches":[]},"evidence_0118":{"source_ref":"context_0022","search_ref":"context_0052","matches":[]},"evidence_0119":{"source_ref":"context_0023","search_ref":"context_0052","matches":[]},"evidence_0120":{"source_ref":"context_0024","search_ref":"context_0052","matches":[]},"evidence_0121":{"source_ref":"context_0025","search_ref":"context_0052","matches":[]},"evidence_0122":{"source_ref":"context_0026","search_ref":"context_0052","matches":[]},"evidence_0123":{"source_ref":"context_0027","search_ref":"context_0052","matches":[]},"evidence_0124":{"source_ref":"context_0028","search_ref":"context_0052","matches":[]},"evidence_0125":{"source_ref":"context_0029","search_ref":"context_0052","matches":[]},"evidence_0126":{"source_ref":"context_0030","search_ref":"context_0052","matches":[]},"evidence_0127":{"source_ref":"context_0031","search_ref":"context_0052","matches":[]},"evidence_0128":{"source_ref":"context_0032","search_ref":"context_0052","matches":[]},"evidence_0129":{"source_ref":"context_0033","search_ref":"context_0052","matches":[]},"evidence_0130":{"source_ref":"context_0034","search_ref":"context_0052","matches":[]},"evidence_0131":{"source_ref":"context_0035","search_ref":"context_0052","matches":[]},"evidence_0132":{"source_ref":"context_0036","search_ref":"context_0052","matches":[]},"evidence_0133":{"source_ref":"context_0037","search_ref":"context_0052","matches":[]},"evidence_0134":{"source_ref":"context_0038","search_ref":"context_0052","matches":[]},"evidence_0135":{"source_ref":"context_0039","search_ref":"context_0052","matches":[]},"evidence_0136":{"source_ref":"context_0040","search_ref":"context_0052","matches":[]},"evidence_0137":{"source_ref":"context_0041","search_ref":"context_0053","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0138":{"source_ref":"context_0001","search_ref":"context_0053","matches":[]},"evidence_0139":{"source_ref":"context_0041","search_ref":"context_0052","matches":[]},"evidence_0140":{"source_ref":"context_0043","search_ref":"context_0052","matches":[]},"evidence_0141":{"source_ref":"context_0041","search_ref":"context_0054","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0142":{"source_ref":"context_0045","search_ref":"context_0054","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0143":{"source_ref":"context_0046","search_ref":"context_0052","matches":[]},"evidence_0144":{"source_ref":"context_0047","search_ref":"context_0052","matches":[]},"evidence_0145":{"source_ref":"context_0048","search_ref":"context_0052","matches":[]},"evidence_0146":{"source_ref":"context_0001","search_ref":"context_0055","matches":[{"line":81,"text":"\t&\"black_market\","},{"line":100,"text":"\t\"res://data/facilities/expansion/black_market.tres\","}]},"evidence_0147":{"source_ref":"context_0003","search_ref":"context_0055","matches":[]},"evidence_0148":{"source_ref":"context_0004","search_ref":"context_0055","matches":[]},"evidence_0149":{"source_ref":"context_0005","search_ref":"context_0055","matches":[{"line":7,"text":"id = &\"black_market\""}]},"evidence_0150":{"source_ref":"context_0006","search_ref":"context_0055","matches":[]},"evidence_0151":{"source_ref":"context_0007","search_ref":"context_0055","matches":[]},"evidence_0152":{"source_ref":"context_0008","search_ref":"context_0055","matches":[]},"evidence_0153":{"source_ref":"context_0009","search_ref":"context_0055","matches":[]},"evidence_0154":{"source_ref":"context_0010","search_ref":"context_0055","matches":[]},"evidence_0155":{"source_ref":"context_0011","search_ref":"context_0055","matches":[]},"evidence_0156":{"source_ref":"context_0012","search_ref":"context_0055","matches":[]},"evidence_0157":{"source_ref":"context_0013","search_ref":"context_0055","matches":[]},"evidence_0158":{"source_ref":"context_0014","search_ref":"context_0055","matches":[]},"evidence_0159":{"source_ref":"context_0015","search_ref":"context_0055","matches":[]},"evidence_0160":{"source_ref":"context_0016","search_ref":"context_0055","matches":[]},"evidence_0161":{"source_ref":"context_0017","search_ref":"context_0055","matches":[]},"evidence_0162":{"source_ref":"context_0018","search_ref":"context_0055","matches":[]},"evidence_0163":{"source_ref":"context_0019","search_ref":"context_0055","matches":[]},"evidence_0164":{"source_ref":"context_0020","search_ref":"context_0055","matches":[]},"evidence_0165":{"source_ref":"context_0021","search_ref":"context_0055","matches":[]},"evidence_0166":{"source_ref":"context_0022","search_ref":"context_0055","matches":[]},"evidence_0167":{"source_ref":"context_0023","search_ref":"context_0055","matches":[]},"evidence_0168":{"source_ref":"context_0024","search_ref":"context_0055","matches":[]},"evidence_0169":{"source_ref":"context_0025","search_ref":"context_0055","matches":[]},"evidence_0170":{"source_ref":"context_0026","search_ref":"context_0055","matches":[]},"evidence_0171":{"source_ref":"context_0027","search_ref":"context_0055","matches":[]},"evidence_0172":{"source_ref":"context_0028","search_ref":"context_0055","matches":[]},"evidence_0173":{"source_ref":"context_0029","search_ref":"context_0055","matches":[]},"evidence_0174":{"source_ref":"context_0030","search_ref":"context_0055","matches":[]},"evidence_0175":{"source_ref":"context_0031","search_ref":"context_0055","matches":[]},"evidence_0176":{"source_ref":"context_0032","search_ref":"context_0055","matches":[]},"evidence_0177":{"source_ref":"context_0033","search_ref":"context_0055","matches":[]},"evidence_0178":{"source_ref":"context_0034","search_ref":"context_0055","matches":[]},"evidence_0179":{"source_ref":"context_0035","search_ref":"context_0055","matches":[]},"evidence_0180":{"source_ref":"context_0036","search_ref":"context_0055","matches":[]},"evidence_0181":{"source_ref":"context_0037","search_ref":"context_0055","matches":[]},"evidence_0182":{"source_ref":"context_0038","search_ref":"context_0055","matches":[]},"evidence_0183":{"source_ref":"context_0039","search_ref":"context_0055","matches":[]},"evidence_0184":{"source_ref":"context_0040","search_ref":"context_0055","matches":[]},"evidence_0185":{"source_ref":"context_0041","search_ref":"context_0056","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0186":{"source_ref":"context_0001","search_ref":"context_0056","matches":[{"line":81,"text":"\t&\"black_market\","},{"line":100,"text":"\t\"res://data/facilities/expansion/black_market.tres\","}]},"evidence_0187":{"source_ref":"context_0005","search_ref":"context_0056","matches":[{"line":7,"text":"id = &\"black_market\""}]},"evidence_0188":{"source_ref":"context_0041","search_ref":"context_0055","matches":[]},"evidence_0189":{"source_ref":"context_0043","search_ref":"context_0055","matches":[]},"evidence_0190":{"source_ref":"context_0041","search_ref":"context_0057","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0191":{"source_ref":"context_0045","search_ref":"context_0057","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0192":{"source_ref":"context_0046","search_ref":"context_0055","matches":[]},"evidence_0193":{"source_ref":"context_0047","search_ref":"context_0055","matches":[]},"evidence_0194":{"source_ref":"context_0048","search_ref":"context_0055","matches":[]},"evidence_0195":{"source_ref":"context_0001","search_ref":"context_0058","matches":[]},"evidence_0196":{"source_ref":"context_0003","search_ref":"context_0058","matches":[]},"evidence_0197":{"source_ref":"context_0004","search_ref":"context_0058","matches":[]},"evidence_0198":{"source_ref":"context_0005","search_ref":"context_0058","matches":[]},"evidence_0199":{"source_ref":"context_0006","search_ref":"context_0058","matches":[]},"evidence_0200":{"source_ref":"context_0007","search_ref":"context_0058","matches":[]},"evidence_0201":{"source_ref":"context_0008","search_ref":"context_0058","matches":[]},"evidence_0202":{"source_ref":"context_0009","search_ref":"context_0058","matches":[]},"evidence_0203":{"source_ref":"context_0010","search_ref":"context_0058","matches":[]},"evidence_0204":{"source_ref":"context_0011","search_ref":"context_0058","matches":[]},"evidence_0205":{"source_ref":"context_0012","search_ref":"context_0058","matches":[]},"evidence_0206":{"source_ref":"context_0013","search_ref":"context_0058","matches":[]},"evidence_0207":{"source_ref":"context_0014","search_ref":"context_0058","matches":[]},"evidence_0208":{"source_ref":"context_0015","search_ref":"context_0058","matches":[]},"evidence_0209":{"source_ref":"context_0016","search_ref":"context_0058","matches":[]},"evidence_0210":{"source_ref":"context_0017","search_ref":"context_0058","matches":[]},"evidence_0211":{"source_ref":"context_0018","search_ref":"context_0058","matches":[]},"evidence_0212":{"source_ref":"context_0019","search_ref":"context_0058","matches":[]},"evidence_0213":{"source_ref":"context_0020","search_ref":"context_0058","matches":[]},"evidence_0214":{"source_ref":"context_0021","search_ref":"context_0058","matches":[]},"evidence_0215":{"source_ref":"context_0022","search_ref":"context_0058","matches":[]},"evidence_0216":{"source_ref":"context_0023","search_ref":"context_0058","matches":[]},"evidence_0217":{"source_ref":"context_0024","search_ref":"context_0058","matches":[]},"evidence_0218":{"source_ref":"context_0025","search_ref":"context_0058","matches":[]},"evidence_0219":{"source_ref":"context_0026","search_ref":"context_0058","matches":[]},"evidence_0220":{"source_ref":"context_0027","search_ref":"context_0058","matches":[]},"evidence_0221":{"source_ref":"context_0028","search_ref":"context_0058","matches":[]},"evidence_0222":{"source_ref":"context_0029","search_ref":"context_0058","matches":[]},"evidence_0223":{"source_ref":"context_0030","search_ref":"context_0058","matches":[]},"evidence_0224":{"source_ref":"context_0031","search_ref":"context_0058","matches":[]},"evidence_0225":{"source_ref":"context_0032","search_ref":"context_0058","matches":[]},"evidence_0226":{"source_ref":"context_0033","search_ref":"context_0058","matches":[]},"evidence_0227":{"source_ref":"context_0034","search_ref":"context_0058","matches":[]},"evidence_0228":{"source_ref":"context_0035","search_ref":"context_0058","matches":[]},"evidence_0229":{"source_ref":"context_0036","search_ref":"context_0058","matches":[]},"evidence_0230":{"source_ref":"context_0037","search_ref":"context_0058","matches":[]},"evidence_0231":{"source_ref":"context_0038","search_ref":"context_0058","matches":[]},"evidence_0232":{"source_ref":"context_0039","search_ref":"context_0058","matches":[]},"evidence_0233":{"source_ref":"context_0040","search_ref":"context_0058","matches":[]},"evidence_0234":{"source_ref":"context_0041","search_ref":"context_0059","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0235":{"source_ref":"context_0001","search_ref":"context_0059","matches":[]},"evidence_0236":{"source_ref":"context_0041","search_ref":"context_0058","matches":[]},"evidence_0237":{"source_ref":"context_0043","search_ref":"context_0058","matches":[]},"evidence_0238":{"source_ref":"context_0041","search_ref":"context_0060","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0239":{"source_ref":"context_0045","search_ref":"context_0060","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0240":{"source_ref":"context_0046","search_ref":"context_0058","matches":[]},"evidence_0241":{"source_ref":"context_0047","search_ref":"context_0058","matches":[]},"evidence_0242":{"source_ref":"context_0048","search_ref":"context_0058","matches":[]},"evidence_0243":{"source_ref":"context_0001","search_ref":"context_0061","matches":[]},"evidence_0244":{"source_ref":"context_0003","search_ref":"context_0061","matches":[]},"evidence_0245":{"source_ref":"context_0004","search_ref":"context_0061","matches":[]},"evidence_0246":{"source_ref":"context_0005","search_ref":"context_0061","matches":[]},"evidence_0247":{"source_ref":"context_0006","search_ref":"context_0061","matches":[]},"evidence_0248":{"source_ref":"context_0007","search_ref":"context_0061","matches":[]},"evidence_0249":{"source_ref":"context_0008","search_ref":"context_0061","matches":[]},"evidence_0250":{"source_ref":"context_0009","search_ref":"context_0061","matches":[]},"evidence_0251":{"source_ref":"context_0010","search_ref":"context_0061","matches":[]},"evidence_0252":{"source_ref":"context_0011","search_ref":"context_0061","matches":[]},"evidence_0253":{"source_ref":"context_0012","search_ref":"context_0061","matches":[]},"evidence_0254":{"source_ref":"context_0013","search_ref":"context_0061","matches":[]},"evidence_0255":{"source_ref":"context_0014","search_ref":"context_0061","matches":[]},"evidence_0256":{"source_ref":"context_0015","search_ref":"context_0061","matches":[]},"evidence_0257":{"source_ref":"context_0016","search_ref":"context_0061","matches":[]},"evidence_0258":{"source_ref":"context_0017","search_ref":"context_0061","matches":[]},"evidence_0259":{"source_ref":"context_0018","search_ref":"context_0061","matches":[]},"evidence_0260":{"source_ref":"context_0019","search_ref":"context_0061","matches":[]},"evidence_0261":{"source_ref":"context_0020","search_ref":"context_0061","matches":[]},"evidence_0262":{"source_ref":"context_0021","search_ref":"context_0061","matches":[]},"evidence_0263":{"source_ref":"context_0022","search_ref":"context_0061","matches":[]},"evidence_0264":{"source_ref":"context_0023","search_ref":"context_0061","matches":[]},"evidence_0265":{"source_ref":"context_0024","search_ref":"context_0061","matches":[]},"evidence_0266":{"source_ref":"context_0025","search_ref":"context_0061","matches":[]},"evidence_0267":{"source_ref":"context_0026","search_ref":"context_0061","matches":[]},"evidence_0268":{"source_ref":"context_0027","search_ref":"context_0061","matches":[]},"evidence_0269":{"source_ref":"context_0028","search_ref":"context_0061","matches":[]},"evidence_0270":{"source_ref":"context_0029","search_ref":"context_0061","matches":[]},"evidence_0271":{"source_ref":"context_0030","search_ref":"context_0061","matches":[]},"evidence_0272":{"source_ref":"context_0031","search_ref":"context_0061","matches":[]},"evidence_0273":{"source_ref":"context_0032","search_ref":"context_0061","matches":[]},"evidence_0274":{"source_ref":"context_0033","search_ref":"context_0061","matches":[]},"evidence_0275":{"source_ref":"context_0034","search_ref":"context_0061","matches":[]},"evidence_0276":{"source_ref":"context_0035","search_ref":"context_0061","matches":[]},"evidence_0277":{"source_ref":"context_0036","search_ref":"context_0061","matches":[]},"evidence_0278":{"source_ref":"context_0037","search_ref":"context_0061","matches":[]},"evidence_0279":{"source_ref":"context_0038","search_ref":"context_0061","matches":[]},"evidence_0280":{"source_ref":"context_0039","search_ref":"context_0061","matches":[]},"evidence_0281":{"source_ref":"context_0040","search_ref":"context_0061","matches":[]},"evidence_0282":{"source_ref":"context_0041","search_ref":"context_0062","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0283":{"source_ref":"context_0001","search_ref":"context_0062","matches":[]},"evidence_0284":{"source_ref":"context_0041","search_ref":"context_0061","matches":[]},"evidence_0285":{"source_ref":"context_0043","search_ref":"context_0061","matches":[]},"evidence_0286":{"source_ref":"context_0041","search_ref":"context_0063","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0287":{"source_ref":"context_0045","search_ref":"context_0063","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0288":{"source_ref":"context_0046","search_ref":"context_0061","matches":[]},"evidence_0289":{"source_ref":"context_0047","search_ref":"context_0061","matches":[]},"evidence_0290":{"source_ref":"context_0048","search_ref":"context_0061","matches":[]},"evidence_0291":{"source_ref":"context_0001","search_ref":"context_0064","matches":[]},"evidence_0292":{"source_ref":"context_0003","search_ref":"context_0064","matches":[]},"evidence_0293":{"source_ref":"context_0004","search_ref":"context_0064","matches":[]},"evidence_0294":{"source_ref":"context_0005","search_ref":"context_0064","matches":[]},"evidence_0295":{"source_ref":"context_0006","search_ref":"context_0064","matches":[]},"evidence_0296":{"source_ref":"context_0007","search_ref":"context_0064","matches":[]},"evidence_0297":{"source_ref":"context_0008","search_ref":"context_0064","matches":[]},"evidence_0298":{"source_ref":"context_0009","search_ref":"context_0064","matches":[]},"evidence_0299":{"source_ref":"context_0010","search_ref":"context_0064","matches":[]},"evidence_0300":{"source_ref":"context_0011","search_ref":"context_0064","matches":[]},"evidence_0301":{"source_ref":"context_0012","search_ref":"context_0064","matches":[]},"evidence_0302":{"source_ref":"context_0013","search_ref":"context_0064","matches":[]},"evidence_0303":{"source_ref":"context_0014","search_ref":"context_0064","matches":[]},"evidence_0304":{"source_ref":"context_0015","search_ref":"context_0064","matches":[]},"evidence_0305":{"source_ref":"context_0016","search_ref":"context_0064","matches":[]},"evidence_0306":{"source_ref":"context_0017","search_ref":"context_0064","matches":[]},"evidence_0307":{"source_ref":"context_0018","search_ref":"context_0064","matches":[]},"evidence_0308":{"source_ref":"context_0019","search_ref":"context_0064","matches":[]},"evidence_0309":{"source_ref":"context_0020","search_ref":"context_0064","matches":[]},"evidence_0310":{"source_ref":"context_0021","search_ref":"context_0064","matches":[]},"evidence_0311":{"source_ref":"context_0022","search_ref":"context_0064","matches":[]},"evidence_0312":{"source_ref":"context_0023","search_ref":"context_0064","matches":[]},"evidence_0313":{"source_ref":"context_0024","search_ref":"context_0064","matches":[]},"evidence_0314":{"source_ref":"context_0025","search_ref":"context_0064","matches":[]},"evidence_0315":{"source_ref":"context_0026","search_ref":"context_0064","matches":[]},"evidence_0316":{"source_ref":"context_0027","search_ref":"context_0064","matches":[]},"evidence_0317":{"source_ref":"context_0028","search_ref":"context_0064","matches":[]},"evidence_0318":{"source_ref":"context_0029","search_ref":"context_0064","matches":[]},"evidence_0319":{"source_ref":"context_0030","search_ref":"context_0064","matches":[]},"evidence_0320":{"source_ref":"context_0031","search_ref":"context_0064","matches":[]},"evidence_0321":{"source_ref":"context_0032","search_ref":"context_0064","matches":[]},"evidence_0322":{"source_ref":"context_0033","search_ref":"context_0064","matches":[]},"evidence_0323":{"source_ref":"context_0034","search_ref":"context_0064","matches":[]},"evidence_0324":{"source_ref":"context_0035","search_ref":"context_0064","matches":[]},"evidence_0325":{"source_ref":"context_0036","search_ref":"context_0064","matches":[]},"evidence_0326":{"source_ref":"context_0037","search_ref":"context_0064","matches":[]},"evidence_0327":{"source_ref":"context_0038","search_ref":"context_0064","matches":[]},"evidence_0328":{"source_ref":"context_0039","search_ref":"context_0064","matches":[]},"evidence_0329":{"source_ref":"context_0040","search_ref":"context_0064","matches":[]},"evidence_0330":{"source_ref":"context_0041","search_ref":"context_0065","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0331":{"source_ref":"context_0001","search_ref":"context_0065","matches":[]},"evidence_0332":{"source_ref":"context_0041","search_ref":"context_0064","matches":[]},"evidence_0333":{"source_ref":"context_0043","search_ref":"context_0064","matches":[]},"evidence_0334":{"source_ref":"context_0041","search_ref":"context_0066","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0335":{"source_ref":"context_0045","search_ref":"context_0066","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0336":{"source_ref":"context_0046","search_ref":"context_0064","matches":[]},"evidence_0337":{"source_ref":"context_0047","search_ref":"context_0064","matches":[]},"evidence_0338":{"source_ref":"context_0048","search_ref":"context_0064","matches":[]},"evidence_0339":{"source_ref":"context_0043","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0075"}},{"line":11,"text":"signal event_registered(definition: EventDefinition)"},{"line":12,"text":"signal event_enqueued(instance: EventInstance)"},{"line":13,"text":"signal event_started(instance: EventInstance)"},{"line":14,"text":"signal event_finished(instance: EventInstance)"},{"line":15,"text":{"text_ref":"text_0076"}},{"line":18,"text":{"text_ref":"text_0077"}},{"line":19,"text":{"text_ref":"text_0078"}},{"line":20,"text":{"text_ref":"text_0079"}},{"line":39,"text":"var _next_event_sequence := 1"},{"line":78,"text":{"text_ref":"text_0080"}},{"line":125,"text":"\tif _definitions.has(definition.event_id):"},{"line":126,"text":{"text_ref":"text_0081"}},{"line":127,"text":"\t_definitions[definition.event_id] = definition"},{"line":128,"text":"\tevent_registered.emit(definition)"},{"line":130,"text":"\treturn _success({&\"event_id\": definition.event_id})"},{"line":133,"text":{"text_ref":"text_0082"}},{"line":134,"text":{"text_ref":"text_0083"}},{"line":137,"text":"func get_definition(event_id: StringName) -> EventDefinition:"},{"line":138,"text":"\treturn _definitions.get(event_id) as EventDefinition"},{"line":143,"text":"\tfor event_id: StringName in _sorted_name_keys(_definitions):"},{"line":144,"text":"\t\tresult.append(_definitions[event_id])"},{"line":152,"text":{"text_ref":"text_0084"}},{"line":154,"text":"\t\t\tif not _definitions.has(definition.replacement_event_id):"},{"line":155,"text":{"text_ref":"text_0085"}},{"line":156,"text":"\t\t\telif _replacement_cycle_exists(definition.event_id):"},{"line":157,"text":{"text_ref":"text_0086"}},{"line":161,"text":"func resolve_content_event(event_id: StringName) -> Dictionary:"},{"line":162,"text":"\tvar source := get_definition(event_id)"},{"line":168,"text":"\t\t\t&\"event_id\": event_id,"},{"line":178,"text":"\t\t\t\t&\"event_id\": event_id,"},{"line":182,"text":{"text_ref":"text_0087"}},{"line":183,"text":{"text_ref":"text_0088"}},{"line":189,"text":"\t\t\t\t&\"event_id\": replacement.event_id,"},{"line":198,"text":"\tevent_id: StringName,"},{"line":203,"text":"\tvar source := get_definition(event_id)"},{"line":205,"text":"\t\treturn _not_found(\"EventDefinition\", event_id)"},{"line":208,"text":"\tvar content_resolution := resolve_content_event(event_id)"},{"line":211,"text":{"text_ref":"text_0089"}},{"line":212,"text":"\tvar definition := get_definition(resolved_event_id)"},{"line":219,"text":"\t\t_default_deduplication_key(event_id, normalized_actor_ids)"},{"line":228,"text":{"text_ref":"text_0090"}},{"line":231,"text":{"text_ref":"text_0091"}},{"line":243,"text":{"text_ref":"text_0092"}},{"line":246,"text":"\t\tevent_id,"},{"line":247,"text":"\t\tresolved_event_id,"},{"line":262,"text":"\t\t_next_event_sequence += 1"},{"line":264,"text":"\tevent_enqueued.emit(instance)"},{"line":267,"text":"\t\t&\"event_instance_id\": instance_id,"},{"line":268,"text":"\t\t&\"resolved_event_id\": resolved_event_id,"},{"line":273,"text":{"text_ref":"text_0093"}},{"line":282,"text":"\t\t\t&\"event_instance_id\": _foreground_instance_id,"},{"line":290,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":301,"text":{"text_ref":"text_0094"}},{"line":310,"text":"\t\t\t_foreground_instance_id = instance.event_instance_id"},{"line":311,"text":"\t\tevent_started.emit(instance)"},{"line":337,"text":"\t\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":346,"text":"\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":358,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":370,"text":"\t\t\t&\"event_instance_id\": instance_id,"},{"line":379,"text":"\tevent_instance_id: StringName,"},{"line":385,"text":{"text_ref":"text_0095"}},{"line":391,"text":"\tevent_instance_id: StringName,"},{"line":396,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":398,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":401,"text":"\tvar definition := get_definition(instance.resolved_event_id)"},{"line":430,"text":"\tevent_instance_id: StringName,"},{"line":437,"text":{"text_ref":"text_0096"}},{"line":443,"text":"\tevent_instance_id: StringName,"},{"line":453,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":455,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":460,"text":"\tvar definition := get_definition(instance.resolved_event_id)"},{"line":477,"text":{"text_ref":"text_0097"}},{"line":543,"text":"\t\t&\"event_instance_id\": event_instance_id,"},{"line":551,"text":{"text_ref":"text_0098"}},{"line":564,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":567,"text":"\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":574,"text":{"text_ref":"text_0099"}},{"line":575,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":577,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":584,"text":"\treturn _success({&\"event_instance_id\": event_instance_id})"},{"line":587,"text":{"text_ref":"text_0100"}},{"line":588,"text":"\treturn _instances.get(event_instance_id) as EventInstance"},{"line":631,"text":{"text_ref":"text_0101"}},{"line":632,"text":{"text_ref":"text_0102"}},{"line":663,"text":"\t\t&\"next_event_sequence\": _next_event_sequence,"},{"line":685,"text":"\t_next_event_sequence = parsed[&\"next_event_sequence\"]"},{"line":698,"text":{"text_ref":"text_0103"}},{"line":716,"text":{"text_ref":"text_0104"}},{"line":784,"text":{"text_ref":"text_0105"}},{"line":786,"text":"\t\tinstances[instance.event_instance_id] = instance"},{"line":820,"text":{"text_ref":"text_0106"}},{"line":822,"text":"\tif next_event < 1 or next_choice < 1:"},{"line":851,"text":"\t\t&\"next_event_sequence\": next_event,"},{"line":986,"text":{"text_ref":"text_0107"}},{"line":987,"text":"\t\t\tif event_id.is_empty() or not _definitions.has(event_id):"},{"line":988,"text":{"text_ref":"text_0108"}},{"line":993,"text":"\t\t\t\t\tevent_id,"},{"line":998,"text":{"text_ref":"text_0109"}},{"line":1051,"text":"\t\t\t\tbool(_value(action.payload, &\"irreversible_event\", false))"},{"line":1087,"text":"\t\t\t\t_actor_locks[replacement_id] = instance.event_instance_id"},{"line":1113,"text":"\t\t_actor_locks[actor_id] = instance.event_instance_id"},{"line":1119,"text":{"text_ref":"text_0110"}},{"line":1121,"text":"\tif _foreground_instance_id == instance.event_instance_id:"},{"line":1127,"text":"\t_queue.erase(instance.event_instance_id)"},{"line":1147,"text":"\t\tvar source := get_definition(instance.source_event_id)"},{"line":1151,"text":{"text_ref":"text_0111"}},{"line":1152,"text":"\t\tevent_finished.emit(instance)"},{"line":1160,"text":"\t\tevent_cancelled.emit(instance, &\"COST_RELEASE_FAILED\")"},{"line":1165,"text":"\tevent_cancelled.emit(instance, reason)"},{"line":1243,"text":"\tresult[&\"event_instance_id\"] = instance.event_instance_id"},{"line":1257,"text":"func _replacement_cycle_exists(event_id: StringName) -> bool:"},{"line":1259,"text":"\tvar current_id := event_id"},{"line":1267,"text":"\t\tcurrent_id = definition.replacement_event_id"},{"line":1274,"text":"\t\t\treturn StringName(\"save:%s\" % definition.event_id)"},{"line":1276,"text":{"text_ref":"text_0112"}},{"line":1278,"text":{"text_ref":"text_0113"}},{"line":1297,"text":{"text_ref":"text_0114"}},{"line":1301,"text":{"text_ref":"text_0115"}},{"line":1302,"text":{"text_ref":"text_0116"}}]},"evidence_0340":{"source_ref":"context_0068","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0117"}},{"line":5,"text":{"text_ref":"text_0079"}},{"line":6,"text":{"text_ref":"text_0118"}},{"line":41,"text":"var event_id: StringName = &\"\""},{"line":55,"text":"var replacement_event_id: StringName = &\"\""},{"line":64,"text":{"text_ref":"text_0119"}},{"line":65,"text":"\tevent_id = p_event_id"},{"line":79,"text":{"text_ref":"text_0120"}},{"line":90,"text":"\tif event_id.is_empty() or category.is_empty():"},{"line":92,"text":{"text_ref":"text_0121"}},{"line":94,"text":"\tif replacement_event_id == event_id:"},{"line":129,"text":"\t\t&\"event_id\": String(event_id),"},{"line":143,"text":"\t\t&\"replacement_event_id\": String(replacement_event_id),"},{"line":174,"text":"\t\tStringName(_value(raw_value, &\"event_id\", &\"\")),"}]},"evidence_0341":{"source_ref":"context_0069","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0122"}},{"line":100,"text":"var _event_list: ItemList"},{"line":105,"text":"var _selected_event_id := \"\""},{"line":124,"text":"\t_event_list = ItemList.new()"},{"line":125,"text":"\t_event_list.name = \"EventLogList\""},{"line":126,"text":"\t_event_list.custom_minimum_size.y = 150"},{"line":127,"text":"\t_event_list.size_flags_vertical = Control.SIZE_EXPAND_FILL"},{"line":128,"text":"\t_event_list.item_selected.connect(_select_row)"},{"line":129,"text":"\tcolumn.add_child(_event_list)"},{"line":147,"text":"func show_events() -> void:"},{"line":154,"text":"func get_event_rows() -> Array[Dictionary]:"},{"line":158,"text":"\tvar stream: Variant = _runtime.get(\"domain_events\")"},{"line":159,"text":"\tif stream == null or not stream.has_method(\"recent_events\"):"},{"line":161,"text":"\tfor event: SimulationDomainEvent in stream.recent_events():"},{"line":162,"text":"\t\trows.append(event.to_dictionary())"},{"line":166,"text":"func get_selected_event() -> Dictionary:"},{"line":168,"text":"\t\tif String(row[\"event_id\"]) == _selected_event_id:"},{"line":174,"text":"\tif _event_list == null:"},{"line":176,"text":"\t_rows = get_event_rows()"},{"line":177,"text":"\t_event_list.clear()"},{"line":181,"text":"\t\tvar presentation := get_event_presentation(row)"},{"line":182,"text":{"text_ref":"text_0123"}},{"line":183,"text":{"text_ref":"text_0124"}},{"line":184,"text":"\t\t_event_list.set_item_metadata(index, String(row[\"event_id\"]))"},{"line":185,"text":"\t\tif String(row[\"event_id\"]) == _selected_event_id:"},{"line":191,"text":"\t\t_event_list.select(selected_index)"},{"line":194,"text":"\t\t_selected_event_id = \"\""},{"line":202,"text":"\t_selected_event_id = String(row[\"event_id\"])"},{"line":203,"text":"\tvar presentation := get_event_presentation(row)"},{"line":214,"text":"func get_event_presentation(row: Dictionary) -> Dictionary:"},{"line":229,"text":{"text_ref":"text_0125"}},{"line":233,"text":"\t\t\trow.get(\"event_id\", \"\"), row.get(\"event_type\", \"\"),"},{"line":279,"text":{"text_ref":"text_0126"}},{"line":282,"text":{"text_ref":"text_0127"}},{"line":312,"text":"\tif _event_list != null:"},{"line":313,"text":{"text_ref":"text_0128"}},{"line":314,"text":{"text_ref":"text_0129"}}]},"evidence_0342":{"source_ref":"context_0043","search_ref":"context_0070","matches":[]},"evidence_0343":{"source_ref":"context_0068","search_ref":"context_0070","matches":[]},"evidence_0344":{"source_ref":"context_0069","search_ref":"context_0070","matches":[]},"evidence_0345":{"source_ref":"context_0043","search_ref":"context_0071","matches":[]},"evidence_0346":{"source_ref":"context_0068","search_ref":"context_0071","matches":[]},"evidence_0347":{"source_ref":"context_0069","search_ref":"context_0071","matches":[]},"evidence_0348":{"source_ref":"context_0043","search_ref":"context_0072","matches":[]},"evidence_0349":{"source_ref":"context_0068","search_ref":"context_0072","matches":[]},"evidence_0350":{"source_ref":"context_0069","search_ref":"context_0072","matches":[{"line":211,"text":{"text_ref":"text_0130"}}]},"evidence_0351":{"source_ref":"context_0043","search_ref":"context_0073","matches":[]},"evidence_0352":{"source_ref":"context_0068","search_ref":"context_0073","matches":[]},"evidence_0353":{"source_ref":"context_0069","search_ref":"context_0073","matches":[]},"evidence_0354":{"source_ref":"context_0043","search_ref":"context_0074","matches":[]},"evidence_0355":{"source_ref":"context_0068","search_ref":"context_0074","matches":[]},"evidence_0356":{"source_ref":"context_0069","search_ref":"context_0074","matches":[]}},"shared_context":{"context_0001":{"path":"scripts/data/facility_catalog.gd","sha256":{"text_ref":"text_0055"},"scope":"Static search of this file only; no execution or acceptance."},"context_0002":{"searched_tokens":["風俗個室","adult_private_room"]},"context_0003":{"path":"data/facilities/adult_private_room.tres","sha256":{"text_ref":"text_0016"},"scope":"Static search of this file only; no execution or acceptance."},"context_0004":{"path":"data/facilities/cafeteria.tres","sha256":{"text_ref":"text_0017"},"scope":"Static search of this file only; no execution or acceptance."},"context_0005":{"path":"data/facilities/expansion/black_market.tres","sha256":{"text_ref":"text_0018"},"scope":"Static search of this file only; no execution or acceptance."},"context_0006":{"path":"data/facilities/expansion/chapel.tres","sha256":{"text_ref":"text_0019"},"scope":"Static search of this file only; no execution or acceptance."},"context_0007":{"path":"data/facilities/expansion/cleaning_room.tres","sha256":{"text_ref":"text_0020"},"scope":"Static search of this file only; no execution or acceptance."},"context_0008":{"path":"data/facilities/expansion/clinic.tres","sha256":{"text_ref":"text_0021"},"scope":"Static search of this file only; no execution or acceptance."},"context_0009":{"path":"data/facilities/expansion/cold_storage.tres","sha256":{"text_ref":"text_0022"},"scope":"Static search of this file only; no execution or acceptance."},"context_0010":{"path":"data/facilities/expansion/general_store.tres","sha256":{"text_ref":"text_0023"},"scope":"Static search of this file only; no execution or acceptance."},"context_0011":{"path":"data/facilities/expansion/guild_counter.tres","sha256":{"text_ref":"text_0024"},"scope":"Static search of this file only; no execution or acceptance."},"context_0012":{"path":"data/facilities/expansion/laundry.tres","sha256":{"text_ref":"text_0025"},"scope":"Static search of this file only; no execution or acceptance."},"context_0013":{"path":"data/facilities/expansion/maintenance_workshop.tres","sha256":{"text_ref":"text_0026"},"scope":"Static search of this file only; no execution or acceptance."},"context_0014":{"path":"data/facilities/expansion/mana_control_room.tres","sha256":{"text_ref":"text_0027"},"scope":"Static search of this file only; no execution or acceptance."},"context_0015":{"path":"data/facilities/expansion/premium_room.tres","sha256":{"text_ref":"text_0028"},"scope":"Static search of this file only; no execution or acceptance."},"context_0016":{"path":"data/facilities/expansion/private_bath.tres","sha256":{"text_ref":"text_0029"},"scope":"Static search of this file only; no execution or acceptance."},"context_0017":{"path":"data/facilities/expansion/secret_tavern.tres","sha256":{"text_ref":"text_0030"},"scope":"Static search of this file only; no execution or acceptance."},"context_0018":{"path":"data/facilities/expansion/staff_dormitory.tres","sha256":{"text_ref":"text_0031"},"scope":"Static search of this file only; no execution or acceptance."},"context_0019":{"path":"data/facilities/expansion/tea_lounge.tres","sha256":{"text_ref":"text_0032"},"scope":"Static search of this file only; no execution or acceptance."},"context_0020":{"path":"data/facilities/expansion/underground_guest_room.tres","sha256":{"text_ref":"text_0033"},"scope":"Static search of this file only; no execution or acceptance."},"context_0021":{"path":"data/facilities/expansion/vip_private_salon.tres","sha256":{"text_ref":"text_0034"},"scope":"Static search of this file only; no execution or acceptance."},"context_0022":{"path":"data/facilities/expansion/waste_processing.tres","sha256":{"text_ref":"text_0035"},"scope":"Static search of this file only; no execution or acceptance."},"context_0023":{"path":"data/facilities/guest_corridor.tres","sha256":{"text_ref":"text_0036"},"scope":"Static search of this file only; no execution or acceptance."},"context_0024":{"path":"data/facilities/guest_elevator.tres","sha256":{"text_ref":"text_0037"},"scope":"Static search of this file only; no execution or acceptance."},"context_0025":{"path":"data/facilities/infrastructure/guest_stairs.tres","sha256":{"text_ref":"text_0038"},"scope":"Static search of this file only; no execution or acceptance."},"context_0026":{"path":"data/facilities/infrastructure/service_stairs.tres","sha256":{"text_ref":"text_0039"},"scope":"Static search of this file only; no execution or acceptance."},"context_0027":{"path":"data/facilities/kitchen.tres","sha256":{"text_ref":"text_0040"},"scope":"Static search of this file only; no execution or acceptance."},"context_0028":{"path":"data/facilities/massage_room.tres","sha256":{"text_ref":"text_0041"},"scope":"Static search of this file only; no execution or acceptance."},"context_0029":{"path":"data/facilities/public_bath.tres","sha256":{"text_ref":"text_0042"},"scope":"Static search of this file only; no execution or acceptance."},"context_0030":{"path":"data/facilities/reception.tres","sha256":{"text_ref":"text_0043"},"scope":"Static search of this file only; no execution or acceptance."},"context_0031":{"path":"data/facilities/rescue/infirmary.tres","sha256":{"text_ref":"text_0044"},"scope":"Static search of this file only; no execution or acceptance."},"context_0032":{"path":"data/facilities/security_station.tres","sha256":{"text_ref":"text_0045"},"scope":"Static search of this file only; no execution or acceptance."},"context_0033":{"path":"data/facilities/service_corridor.tres","sha256":{"text_ref":"text_0046"},"scope":"Static search of this file only; no execution or acceptance."},"context_0034":{"path":"data/facilities/service_elevator.tres","sha256":{"text_ref":"text_0047"},"scope":"Static search of this file only; no execution or acceptance."},"context_0035":{"path":"data/facilities/staff_door.tres","sha256":{"text_ref":"text_0048"},"scope":"Static search of this file only; no execution or acceptance."},"context_0036":{"path":"data/facilities/staff_waiting_room.tres","sha256":{"text_ref":"text_0049"},"scope":"Static search of this file only; no execution or acceptance."},"context_0037":{"path":"data/facilities/standard_room.tres","sha256":{"text_ref":"text_0050"},"scope":"Static search of this file only; no execution or acceptance."},"context_0038":{"path":"data/facilities/tavern.tres","sha256":{"text_ref":"text_0051"},"scope":"Static search of this file only; no execution or acceptance."},"context_0039":{"path":"data/facilities/warehouse.tres","sha256":{"text_ref":"text_0052"},"scope":"Static search of this file only; no execution or acceptance."},"context_0040":{"path":"scenes/main/main.gd","sha256":{"text_ref":"text_0053"},"scope":"Static search of this file only; no execution or acceptance."},"context_0041":{"path":"autoload/simulation_runtime.gd","sha256":{"text_ref":"text_0014"},"scope":"Static search of this file only; no execution or acceptance."},"context_0042":{"searched_tokens":["風俗個室","adult_private_room","FacilityCatalog.FACILITY_PATHS"]},"context_0043":{"path":"scripts/events/event_service.gd","sha256":{"text_ref":"text_0057"},"scope":"Static search of this file only; no execution or acceptance."},"context_0044":{"searched_tokens":["風俗個室","adult_private_room","event_service.create_snapshot()","save_snapshot"]},"context_0045":{"path":"scripts/core/save_service.gd","sha256":{"text_ref":"text_0054"},"scope":"Static search of this file only; no execution or acceptance."},"context_0046":{"path":"tests/s6/test_runtime_snapshot_serialization.gd","sha256":{"text_ref":"text_0061"},"scope":"Static search of this file only; no execution or acceptance."},"context_0047":{"path":"tests/s2/test_facility_service.gd","sha256":{"text_ref":"text_0059"},"scope":"Static search of this file only; no execution or acceptance."},"context_0048":{"path":"tests/s4/test_runtime_relationship_events.gd","sha256":{"text_ref":"text_0060"},"scope":"Static search of this file only; no execution or acceptance."},"context_0049":{"searched_tokens":["高級ソープ"]},"context_0050":{"searched_tokens":["高級ソープ","FacilityCatalog.FACILITY_PATHS"]},"context_0051":{"searched_tokens":["高級ソープ","event_service.create_snapshot()","save_snapshot"]},"context_0052":{"searched_tokens":["SM拷問室"]},"context_0053":{"searched_tokens":["SM拷問室","FacilityCatalog.FACILITY_PATHS"]},"context_0054":{"searched_tokens":["SM拷問室","event_service.create_snapshot()","save_snapshot"]},"context_0055":{"searched_tokens":["闇市場","black_market"]},"context_0056":{"searched_tokens":["闇市場","black_market","FacilityCatalog.FACILITY_PATHS"]},"context_0057":{"searched_tokens":["闇市場","black_market","event_service.create_snapshot()","save_snapshot"]},"context_0058":{"searched_tokens":["覗き部屋"]},"context_0059":{"searched_tokens":["覗き部屋","FacilityCatalog.FACILITY_PATHS"]},"context_0060":{"searched_tokens":["覗き部屋","event_service.create_snapshot()","save_snapshot"]},"context_0061":{"searched_tokens":["地下牢"]},"context_0062":{"searched_tokens":["地下牢","FacilityCatalog.FACILITY_PATHS"]},"context_0063":{"searched_tokens":["地下牢","event_service.create_snapshot()","save_snapshot"]},"context_0064":{"searched_tokens":["マナ炉"]},"context_0065":{"searched_tokens":["マナ炉","FacilityCatalog.FACILITY_PATHS"]},"context_0066":{"searched_tokens":["マナ炉","event_service.create_snapshot()","save_snapshot"]},"context_0067":{"searched_tokens":["event"]},"context_0068":{"path":"scripts/events/event_definition.gd","sha256":{"text_ref":"text_0056"},"scope":"Static search of this file only; no execution or acceptance."},"context_0069":{"path":"scripts/ui/event_log_dialog.gd","sha256":{"text_ref":"text_0058"},"scope":"Static search of this file only; no execution or acceptance."},"context_0070":{"searched_tokens":["overlay"]},"context_0071":{"searched_tokens":["history"]},"context_0072":{"searched_tokens":["story"]},"context_0073":{"searched_tokens":["voice"]},"context_0074":{"searched_tokens":["scene"]}}} +{"schema_version":2,"task_id":"P13-03","acceptance_ids":["P13-03"],"requirement_ids":["B-1.6","B-2.5","B-8.2","B-8.3","B-10.4","B-10.6"],"validation_ids":["p13-difference"],"base_commit":"e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1","spec_raw_sha256":{"text_ref":"text_0001"},"spec_runner_text_sha256":{"text_ref":"text_0002"},"scope":{"text_ref":"text_0003"},"sources":[{"path":"docs/traceability/original/BASELINE.txt","sha256":{"text_ref":"text_0004"},"applicability":"current_checkout"},{"path":"docs/plans/original-completion-2026-10-02/work_packages.json","sha256":{"text_ref":"text_0005"},"applicability":"base_git_blob","commit":"e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1","scope":{"text_ref":"text_0006"}},{"path":{"text_ref":"text_0007"},"sha256":{"text_ref":"text_0008"},"applicability":"current_checkout"},{"path":{"text_ref":"text_0009"},"sha256":{"text_ref":"text_0010"},"applicability":"current_checkout"},{"path":{"text_ref":"text_0011"},"sha256":{"text_ref":"text_0012"},"applicability":"current_checkout"},{"path":"docs/plans/original-completion-2026-10-02/decisions.json","sha256":{"text_ref":"text_0013"},"applicability":"current_checkout"},{"path":"autoload/simulation_runtime.gd","sha256":{"text_ref":"text_0014"},"applicability":"main_git_blob","commit":"57131ec616ba06a71d3d97eaea738f209f965349","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/adult_private_room.tres","sha256":{"text_ref":"text_0016"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/cafeteria.tres","sha256":{"text_ref":"text_0017"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/black_market.tres","sha256":{"text_ref":"text_0018"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/chapel.tres","sha256":{"text_ref":"text_0019"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/cleaning_room.tres","sha256":{"text_ref":"text_0020"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/clinic.tres","sha256":{"text_ref":"text_0021"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/cold_storage.tres","sha256":{"text_ref":"text_0022"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/general_store.tres","sha256":{"text_ref":"text_0023"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/guild_counter.tres","sha256":{"text_ref":"text_0024"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/laundry.tres","sha256":{"text_ref":"text_0025"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/maintenance_workshop.tres","sha256":{"text_ref":"text_0026"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/mana_control_room.tres","sha256":{"text_ref":"text_0027"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/premium_room.tres","sha256":{"text_ref":"text_0028"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/private_bath.tres","sha256":{"text_ref":"text_0029"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/secret_tavern.tres","sha256":{"text_ref":"text_0030"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/staff_dormitory.tres","sha256":{"text_ref":"text_0031"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/tea_lounge.tres","sha256":{"text_ref":"text_0032"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/underground_guest_room.tres","sha256":{"text_ref":"text_0033"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/vip_private_salon.tres","sha256":{"text_ref":"text_0034"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/expansion/waste_processing.tres","sha256":{"text_ref":"text_0035"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/guest_corridor.tres","sha256":{"text_ref":"text_0036"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/guest_elevator.tres","sha256":{"text_ref":"text_0037"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/infrastructure/guest_stairs.tres","sha256":{"text_ref":"text_0038"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/infrastructure/service_stairs.tres","sha256":{"text_ref":"text_0039"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/kitchen.tres","sha256":{"text_ref":"text_0040"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/massage_room.tres","sha256":{"text_ref":"text_0041"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/public_bath.tres","sha256":{"text_ref":"text_0042"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/reception.tres","sha256":{"text_ref":"text_0043"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/rescue/infirmary.tres","sha256":{"text_ref":"text_0044"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/security_station.tres","sha256":{"text_ref":"text_0045"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/service_corridor.tres","sha256":{"text_ref":"text_0046"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/service_elevator.tres","sha256":{"text_ref":"text_0047"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/staff_door.tres","sha256":{"text_ref":"text_0048"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/staff_waiting_room.tres","sha256":{"text_ref":"text_0049"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/standard_room.tres","sha256":{"text_ref":"text_0050"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/tavern.tres","sha256":{"text_ref":"text_0051"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"data/facilities/warehouse.tres","sha256":{"text_ref":"text_0052"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scenes/main/main.gd","sha256":{"text_ref":"text_0053"},"applicability":"main_git_blob","commit":"57131ec616ba06a71d3d97eaea738f209f965349","scope":{"text_ref":"text_0015"}},{"path":"scripts/core/save_service.gd","sha256":{"text_ref":"text_0054"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/data/facility_catalog.gd","sha256":{"text_ref":"text_0055"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/events/event_definition.gd","sha256":{"text_ref":"text_0056"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/events/event_service.gd","sha256":{"text_ref":"text_0057"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"scripts/ui/event_log_dialog.gd","sha256":{"text_ref":"text_0058"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s2/test_facility_service.gd","sha256":{"text_ref":"text_0059"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s4/test_runtime_relationship_events.gd","sha256":{"text_ref":"text_0060"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}},{"path":"tests/s6/test_runtime_snapshot_serialization.gd","sha256":{"text_ref":"text_0061"},"applicability":"current_checkout","scope":{"text_ref":"text_0015"}}],"facilities":[{"original_id":"original_facility_13","original":{"section":"10.4","name":"風俗個室","definition_id":"adult_private_room","original_size":"2x1","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0001"},{"evidence_ref":"evidence_0002"},{"evidence_ref":"evidence_0003"},{"evidence_ref":"evidence_0004"},{"evidence_ref":"evidence_0005"},{"evidence_ref":"evidence_0006"},{"evidence_ref":"evidence_0007"},{"evidence_ref":"evidence_0008"},{"evidence_ref":"evidence_0009"},{"evidence_ref":"evidence_0010"},{"evidence_ref":"evidence_0011"},{"evidence_ref":"evidence_0012"},{"evidence_ref":"evidence_0013"},{"evidence_ref":"evidence_0014"},{"evidence_ref":"evidence_0015"},{"evidence_ref":"evidence_0016"},{"evidence_ref":"evidence_0017"},{"evidence_ref":"evidence_0018"},{"evidence_ref":"evidence_0019"},{"evidence_ref":"evidence_0020"},{"evidence_ref":"evidence_0021"},{"evidence_ref":"evidence_0022"},{"evidence_ref":"evidence_0023"},{"evidence_ref":"evidence_0024"},{"evidence_ref":"evidence_0025"},{"evidence_ref":"evidence_0026"},{"evidence_ref":"evidence_0027"},{"evidence_ref":"evidence_0028"},{"evidence_ref":"evidence_0029"},{"evidence_ref":"evidence_0030"},{"evidence_ref":"evidence_0031"},{"evidence_ref":"evidence_0032"},{"evidence_ref":"evidence_0033"},{"evidence_ref":"evidence_0034"},{"evidence_ref":"evidence_0035"},{"evidence_ref":"evidence_0036"},{"evidence_ref":"evidence_0037"},{"evidence_ref":"evidence_0038"}]},"current_definition_ids":["adult_private_room"],"current_definition_paths":["data/facilities/adult_private_room.tres"],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0039"},{"evidence_ref":"evidence_0001"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0040"},{"evidence_ref":"evidence_0041"},{"evidence_ref":"evidence_0042"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0043"},{"evidence_ref":"evidence_0044"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0045"},{"evidence_ref":"evidence_0046"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0047"},{"evidence_ref":"evidence_0048"},{"evidence_ref":"evidence_0049"}]}},"media_usage_slots":[{"slot_id":"adult_private_room.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"adult_private_room.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"adult_private_room.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"風俗個室","definition_id":"adult_private_room","level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":"scripts/ui/pixel_tower_art.gd","note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_14","original":{"section":"10.4","name":"高級ソープ","definition_id":null,"original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0050"},{"evidence_ref":"evidence_0051"},{"evidence_ref":"evidence_0052"},{"evidence_ref":"evidence_0053"},{"evidence_ref":"evidence_0054"},{"evidence_ref":"evidence_0055"},{"evidence_ref":"evidence_0056"},{"evidence_ref":"evidence_0057"},{"evidence_ref":"evidence_0058"},{"evidence_ref":"evidence_0059"},{"evidence_ref":"evidence_0060"},{"evidence_ref":"evidence_0061"},{"evidence_ref":"evidence_0062"},{"evidence_ref":"evidence_0063"},{"evidence_ref":"evidence_0064"},{"evidence_ref":"evidence_0065"},{"evidence_ref":"evidence_0066"},{"evidence_ref":"evidence_0067"},{"evidence_ref":"evidence_0068"},{"evidence_ref":"evidence_0069"},{"evidence_ref":"evidence_0070"},{"evidence_ref":"evidence_0071"},{"evidence_ref":"evidence_0072"},{"evidence_ref":"evidence_0073"},{"evidence_ref":"evidence_0074"},{"evidence_ref":"evidence_0075"},{"evidence_ref":"evidence_0076"},{"evidence_ref":"evidence_0077"},{"evidence_ref":"evidence_0078"},{"evidence_ref":"evidence_0079"},{"evidence_ref":"evidence_0080"},{"evidence_ref":"evidence_0081"},{"evidence_ref":"evidence_0082"},{"evidence_ref":"evidence_0083"},{"evidence_ref":"evidence_0084"},{"evidence_ref":"evidence_0085"},{"evidence_ref":"evidence_0086"},{"evidence_ref":"evidence_0087"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0088"},{"evidence_ref":"evidence_0050"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0089"},{"evidence_ref":"evidence_0090"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0091"},{"evidence_ref":"evidence_0092"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0093"},{"evidence_ref":"evidence_0094"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0095"},{"evidence_ref":"evidence_0096"},{"evidence_ref":"evidence_0097"}]}},"media_usage_slots":[{"slot_id":"original_facility_14.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_14.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_14.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"高級ソープ","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_15","original":{"section":"10.4","name":"SM拷問室","definition_id":null,"original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0098"},{"evidence_ref":"evidence_0099"},{"evidence_ref":"evidence_0100"},{"evidence_ref":"evidence_0101"},{"evidence_ref":"evidence_0102"},{"evidence_ref":"evidence_0103"},{"evidence_ref":"evidence_0104"},{"evidence_ref":"evidence_0105"},{"evidence_ref":"evidence_0106"},{"evidence_ref":"evidence_0107"},{"evidence_ref":"evidence_0108"},{"evidence_ref":"evidence_0109"},{"evidence_ref":"evidence_0110"},{"evidence_ref":"evidence_0111"},{"evidence_ref":"evidence_0112"},{"evidence_ref":"evidence_0113"},{"evidence_ref":"evidence_0114"},{"evidence_ref":"evidence_0115"},{"evidence_ref":"evidence_0116"},{"evidence_ref":"evidence_0117"},{"evidence_ref":"evidence_0118"},{"evidence_ref":"evidence_0119"},{"evidence_ref":"evidence_0120"},{"evidence_ref":"evidence_0121"},{"evidence_ref":"evidence_0122"},{"evidence_ref":"evidence_0123"},{"evidence_ref":"evidence_0124"},{"evidence_ref":"evidence_0125"},{"evidence_ref":"evidence_0126"},{"evidence_ref":"evidence_0127"},{"evidence_ref":"evidence_0128"},{"evidence_ref":"evidence_0129"},{"evidence_ref":"evidence_0130"},{"evidence_ref":"evidence_0131"},{"evidence_ref":"evidence_0132"},{"evidence_ref":"evidence_0133"},{"evidence_ref":"evidence_0134"},{"evidence_ref":"evidence_0135"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0136"},{"evidence_ref":"evidence_0098"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0137"},{"evidence_ref":"evidence_0138"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0139"},{"evidence_ref":"evidence_0140"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0141"},{"evidence_ref":"evidence_0142"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0143"},{"evidence_ref":"evidence_0144"},{"evidence_ref":"evidence_0145"}]}},"media_usage_slots":[{"slot_id":"original_facility_15.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_15.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_15.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"SM拷問室","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_16","original":{"section":"10.4","name":"闇市場","definition_id":"black_market","original_size":"4x2","original_layer_zone":"FRONT地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0146"},{"evidence_ref":"evidence_0147"},{"evidence_ref":"evidence_0148"},{"evidence_ref":"evidence_0149"},{"evidence_ref":"evidence_0150"},{"evidence_ref":"evidence_0151"},{"evidence_ref":"evidence_0152"},{"evidence_ref":"evidence_0153"},{"evidence_ref":"evidence_0154"},{"evidence_ref":"evidence_0155"},{"evidence_ref":"evidence_0156"},{"evidence_ref":"evidence_0157"},{"evidence_ref":"evidence_0158"},{"evidence_ref":"evidence_0159"},{"evidence_ref":"evidence_0160"},{"evidence_ref":"evidence_0161"},{"evidence_ref":"evidence_0162"},{"evidence_ref":"evidence_0163"},{"evidence_ref":"evidence_0164"},{"evidence_ref":"evidence_0165"},{"evidence_ref":"evidence_0166"},{"evidence_ref":"evidence_0167"},{"evidence_ref":"evidence_0168"},{"evidence_ref":"evidence_0169"},{"evidence_ref":"evidence_0170"},{"evidence_ref":"evidence_0171"},{"evidence_ref":"evidence_0172"},{"evidence_ref":"evidence_0173"},{"evidence_ref":"evidence_0174"},{"evidence_ref":"evidence_0175"},{"evidence_ref":"evidence_0176"},{"evidence_ref":"evidence_0177"},{"evidence_ref":"evidence_0178"},{"evidence_ref":"evidence_0179"},{"evidence_ref":"evidence_0180"},{"evidence_ref":"evidence_0181"},{"evidence_ref":"evidence_0182"},{"evidence_ref":"evidence_0183"}]},"current_definition_ids":["black_market"],"current_definition_paths":["data/facilities/expansion/black_market.tres"],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0184"},{"evidence_ref":"evidence_0146"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0185"},{"evidence_ref":"evidence_0186"},{"evidence_ref":"evidence_0187"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0188"},{"evidence_ref":"evidence_0189"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0190"},{"evidence_ref":"evidence_0191"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0192"},{"evidence_ref":"evidence_0193"},{"evidence_ref":"evidence_0194"}]}},"media_usage_slots":[{"slot_id":"black_market.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv1.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":1,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv2.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":2,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.front.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"front","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.front.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"front","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.back.exterior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"back","surface":"exterior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"black_market.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"black_market.lv3.back.interior","requirement":["B-13.3","B-10.4"],"facility_name":"闇市場","definition_id":"black_market","level":3,"layer":"back","surface":"interior","original_placement":"FRONT地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_24","original":{"section":"10.6","name":"覗き部屋","definition_id":null,"original_size":"2x1","original_layer_zone":"BACK"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0195"},{"evidence_ref":"evidence_0196"},{"evidence_ref":"evidence_0197"},{"evidence_ref":"evidence_0198"},{"evidence_ref":"evidence_0199"},{"evidence_ref":"evidence_0200"},{"evidence_ref":"evidence_0201"},{"evidence_ref":"evidence_0202"},{"evidence_ref":"evidence_0203"},{"evidence_ref":"evidence_0204"},{"evidence_ref":"evidence_0205"},{"evidence_ref":"evidence_0206"},{"evidence_ref":"evidence_0207"},{"evidence_ref":"evidence_0208"},{"evidence_ref":"evidence_0209"},{"evidence_ref":"evidence_0210"},{"evidence_ref":"evidence_0211"},{"evidence_ref":"evidence_0212"},{"evidence_ref":"evidence_0213"},{"evidence_ref":"evidence_0214"},{"evidence_ref":"evidence_0215"},{"evidence_ref":"evidence_0216"},{"evidence_ref":"evidence_0217"},{"evidence_ref":"evidence_0218"},{"evidence_ref":"evidence_0219"},{"evidence_ref":"evidence_0220"},{"evidence_ref":"evidence_0221"},{"evidence_ref":"evidence_0222"},{"evidence_ref":"evidence_0223"},{"evidence_ref":"evidence_0224"},{"evidence_ref":"evidence_0225"},{"evidence_ref":"evidence_0226"},{"evidence_ref":"evidence_0227"},{"evidence_ref":"evidence_0228"},{"evidence_ref":"evidence_0229"},{"evidence_ref":"evidence_0230"},{"evidence_ref":"evidence_0231"},{"evidence_ref":"evidence_0232"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0233"},{"evidence_ref":"evidence_0195"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0234"},{"evidence_ref":"evidence_0235"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0236"},{"evidence_ref":"evidence_0237"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0238"},{"evidence_ref":"evidence_0239"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0240"},{"evidence_ref":"evidence_0241"},{"evidence_ref":"evidence_0242"}]}},"media_usage_slots":[{"slot_id":"original_facility_24.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_24.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_24.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"覗き部屋","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_25","original":{"section":"10.6","name":"地下牢","definition_id":null,"original_size":"4x2","original_layer_zone":"BACK地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0243"},{"evidence_ref":"evidence_0244"},{"evidence_ref":"evidence_0245"},{"evidence_ref":"evidence_0246"},{"evidence_ref":"evidence_0247"},{"evidence_ref":"evidence_0248"},{"evidence_ref":"evidence_0249"},{"evidence_ref":"evidence_0250"},{"evidence_ref":"evidence_0251"},{"evidence_ref":"evidence_0252"},{"evidence_ref":"evidence_0253"},{"evidence_ref":"evidence_0254"},{"evidence_ref":"evidence_0255"},{"evidence_ref":"evidence_0256"},{"evidence_ref":"evidence_0257"},{"evidence_ref":"evidence_0258"},{"evidence_ref":"evidence_0259"},{"evidence_ref":"evidence_0260"},{"evidence_ref":"evidence_0261"},{"evidence_ref":"evidence_0262"},{"evidence_ref":"evidence_0263"},{"evidence_ref":"evidence_0264"},{"evidence_ref":"evidence_0265"},{"evidence_ref":"evidence_0266"},{"evidence_ref":"evidence_0267"},{"evidence_ref":"evidence_0268"},{"evidence_ref":"evidence_0269"},{"evidence_ref":"evidence_0270"},{"evidence_ref":"evidence_0271"},{"evidence_ref":"evidence_0272"},{"evidence_ref":"evidence_0273"},{"evidence_ref":"evidence_0274"},{"evidence_ref":"evidence_0275"},{"evidence_ref":"evidence_0276"},{"evidence_ref":"evidence_0277"},{"evidence_ref":"evidence_0278"},{"evidence_ref":"evidence_0279"},{"evidence_ref":"evidence_0280"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0281"},{"evidence_ref":"evidence_0243"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0282"},{"evidence_ref":"evidence_0283"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0284"},{"evidence_ref":"evidence_0285"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0286"},{"evidence_ref":"evidence_0287"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0288"},{"evidence_ref":"evidence_0289"},{"evidence_ref":"evidence_0290"}]}},"media_usage_slots":[{"slot_id":"original_facility_25.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_25.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_25.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"地下牢","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false},{"original_id":"original_facility_26","original":{"section":"10.6","name":"マナ炉","definition_id":null,"original_size":"6x3","original_layer_zone":"BACK地下"},"mapping_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0062"},"evidence":[{"evidence_ref":"evidence_0291"},{"evidence_ref":"evidence_0292"},{"evidence_ref":"evidence_0293"},{"evidence_ref":"evidence_0294"},{"evidence_ref":"evidence_0295"},{"evidence_ref":"evidence_0296"},{"evidence_ref":"evidence_0297"},{"evidence_ref":"evidence_0298"},{"evidence_ref":"evidence_0299"},{"evidence_ref":"evidence_0300"},{"evidence_ref":"evidence_0301"},{"evidence_ref":"evidence_0302"},{"evidence_ref":"evidence_0303"},{"evidence_ref":"evidence_0304"},{"evidence_ref":"evidence_0305"},{"evidence_ref":"evidence_0306"},{"evidence_ref":"evidence_0307"},{"evidence_ref":"evidence_0308"},{"evidence_ref":"evidence_0309"},{"evidence_ref":"evidence_0310"},{"evidence_ref":"evidence_0311"},{"evidence_ref":"evidence_0312"},{"evidence_ref":"evidence_0313"},{"evidence_ref":"evidence_0314"},{"evidence_ref":"evidence_0315"},{"evidence_ref":"evidence_0316"},{"evidence_ref":"evidence_0317"},{"evidence_ref":"evidence_0318"},{"evidence_ref":"evidence_0319"},{"evidence_ref":"evidence_0320"},{"evidence_ref":"evidence_0321"},{"evidence_ref":"evidence_0322"},{"evidence_ref":"evidence_0323"},{"evidence_ref":"evidence_0324"},{"evidence_ref":"evidence_0325"},{"evidence_ref":"evidence_0326"},{"evidence_ref":"evidence_0327"},{"evidence_ref":"evidence_0328"}]},"current_definition_ids":[],"current_definition_paths":[],"connections":{"normal_entry":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0063"},"evidence":[{"evidence_ref":"evidence_0329"},{"evidence_ref":"evidence_0291"}]},"runtime":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0064"},"evidence":[{"evidence_ref":"evidence_0330"},{"evidence_ref":"evidence_0331"}]},"event_state":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0066"},"evidence":[{"evidence_ref":"evidence_0332"},{"evidence_ref":"evidence_0333"}]},"save":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0067"},"evidence":[{"evidence_ref":"evidence_0334"},{"evidence_ref":"evidence_0335"}]},"test":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0071"},"evidence":[{"evidence_ref":"evidence_0336"},{"evidence_ref":"evidence_0337"},{"evidence_ref":"evidence_0338"}]}},"media_usage_slots":[{"slot_id":"original_facility_26.lv1.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv1.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv1.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":1,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv2.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv2.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":2,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.front.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.front.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"front","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.front.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.front.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"front","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.back.exterior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.back.exterior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"back","surface":"exterior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false},{"slot_id":"original_facility_26.lv3.back.interior","source_path":{"text_ref":"text_0009"},"source_sha256":{"text_ref":"text_0010"},"source_record":{"slot_id":"original_facility_26.lv3.back.interior","requirement":["B-13.3","B-10.6"],"facility_name":"マナ炉","definition_id":null,"level":3,"layer":"back","surface":"interior","original_placement":"BACK地下","creator":"unassigned","status":"unverified_required_slot","approved_asset":null,"existing_candidate":null,"note":{"text_ref":"text_0072"}},"status":"unverified_required_slot","approved_asset":null,"content_complete":false}],"actual_required_asset_count":null,"actual_required_asset_count_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false}],"nonfacility_differences":[{"difference_id":"P13-03.event","category":"event","requirement_ids":["B-1.6","B-2.5","B-8.2","B-8.3"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0339"},{"evidence_ref":"evidence_0340"},{"evidence_ref":"evidence_0341"}]}},{"difference_id":"P13-03.overlay","category":"overlay","requirement_ids":["B-2.5"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0342"},{"evidence_ref":"evidence_0343"},{"evidence_ref":"evidence_0344"}]}},{"difference_id":"P13-03.history","category":"history","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0345"},{"evidence_ref":"evidence_0346"},{"evidence_ref":"evidence_0347"}]}},{"difference_id":"P13-03.story","category":"story","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0348"},{"evidence_ref":"evidence_0349"},{"evidence_ref":"evidence_0350"}]}},{"difference_id":"P13-03.voice","category":"voice","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0351"},{"evidence_ref":"evidence_0352"},{"evidence_ref":"evidence_0353"}]}},{"difference_id":"P13-03.scene","category":"scene","requirement_ids":["B-1.6"],"authority_path":"docs/traceability/original/BASELINE.txt","authority_sha256":{"text_ref":"text_0004"},"related_original_sections":["1.6","2.5","8.2","8.3","10.4","10.6","13","14"],"content_ids":null,"content_ids_status":"unknown","quantity":null,"quantity_status":"unknown","completed_asset_acceptance":"unverified","original_content_completion":"unverified","technical_as_content_credit":false,"decisions":["D08","D09"],"difference":{"text_ref":"text_0073"},"technical_observation":{"status":"unverified","accepted":false,"note":{"text_ref":"text_0074"},"evidence":[{"evidence_ref":"evidence_0354"},{"evidence_ref":"evidence_0355"},{"evidence_ref":"evidence_0356"}]}}],"unknowns":{"D08":"unknown","D09":"unknown","final_content_ids":null,"final_content_quantity":null,"final_actual_asset_count":null},"accounting":{"packages":30,"delivery_units":88,"no_partial_credit":true,"package_completion_inferred":false,"original_views_edited":false,"content_completion_inferred":false,"technical_as_content_credit":false},"asset_policy":{"text_ref":"text_0131"},"test_applicability":{"runtime":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"native":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"Windows":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"engine":{"status":"not_applicable","reason":{"text_ref":"text_0132"}},"full_game_regression":{"status":"not_applicable","reason":{"text_ref":"text_0132"}}},"formal_validation":"pending_runner","formal_claude_review":"pending_runner","integration_gate":{"text_ref":"text_0133"},"shared_text":{"text_0001":"917cf1504bbfc700e0da42b2db496b42486fe3c36c680f301f58cf34c95267b6","text_0002":"e1255835c1227e02bac42eb99b026b0fcbe69c272f9ed0b36199a2daf8d55c53","text_0003":"Existing original P13-03 documentation/accounting delivery. This does not implement or accept P13-01/P13-02, sexual scenes, original game completion, numerical mana choices or Windows acceptance.","text_0004":"75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a","text_0005":"bc87ec52b4913e890fb61ad99b641dd693c0b272dbb1fab347d860118e4bd4af","text_0006":"Frozen contract input. Live plan state is maintained separately and is not content completion evidence.","text_0007":"docs/plans/original-completion-2026-09-29/execution/original_facility_mapping.json","text_0008":"df0c933220449c8bb3e0fd942ad6f1dee49075abdd6587c4856022e12e3665cf","text_0009":"docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/facility_usage_slots.json","text_0010":"56a031b6430aa9cb408f14b66efc5dd9a779841c0e7c19301945c49c12711491","text_0011":"docs/plans/original-completion-2026-10-02/asset_inventory_reaudit/inventory_summary.json","text_0012":"298b37e65c41febe8a2ccdea10bd105ab7a606904f06b16c1659cda6214859b9","text_0013":"ad0673051b0fa601e525f05128e0b11e2dddd9d4bae6a3e0170bbf47da35efe9","text_0014":"4696df4a77feb465a5a3ba8b806569f7bcbe1d03c88289acfb78a3928f307d67","text_0015":"Bounded static observation; no executed connection/content acceptance.","text_0016":"d8501586416b5c57a8b3b3b2afd1c0143428d8a4fa1df7112e995bd36649df6d","text_0017":"86d540fe2d78b9dcdbe5a0af6e4a001f4cec54934636ed01deb25a943c79128a","text_0018":"c209d734c82487f6df4c03714618865d6a5f1d2cf991dc0056fe4bbad8f03a42","text_0019":"9b30a7c51712e7bb99c17870d1f03e3429ea9279851d88284545bb2eb5042fcb","text_0020":"ae366cf67cbf117db7989c6b76092eb5a65229b93d35999a40d19b8260f95ad8","text_0021":"339cf22c68d7ab3cb1514b9e8d2ea63dc0772fe93918d70767c11cf7b6ee0e16","text_0022":"1aac824147b52b41e124d2ab2ce63c3bac58de2ec7fc447a5806a1cf9fa9ad99","text_0023":"76872e0375648b43f05fdc5581ccabe4aa6a166674c3b523980dd1cf0b6e6dc1","text_0024":"93e8736da4aab8a17b1c8e7831c9a7b8de7f32d0ec251aa9aa5c8cf859c8fd7b","text_0025":"2518ea2e5da12cf4f2997502bf50f00dd8145caca153fb3486b44b99881fdab4","text_0026":"8bd10332a9f45a252febdc626f22f90507317fb4cff5b18b2526aacd1f1a176b","text_0027":"55e4c52a049ff61ddf3d081ccb990a8572b64bc7cf37d3a0d52ca5a08cc32f25","text_0028":"6665090e041f36df5809314cd171be228a94bf77d7e93f5b70be648db4705d98","text_0029":"241b807e7fa3a1b9dc4bda0d2495e637155cdaea89a4234e37a121f00098499c","text_0030":"f0a1372931078fa0f93dd5b9cec6df6b137975479aa706633fdf6a9be4cf1f62","text_0031":"8d7c7cd6dfe98d137f7fef62e35eb31f82f1ca282216a40df54ac81728101271","text_0032":"77d1ace36c5e84f80c0e6d563ae973c7ff1cd12b56956afd4895cdcdd5771a67","text_0033":"cdfd0f8cd21812a9972485926dff27daaa6718af16aac1651894728b087bef9e","text_0034":"1c94a7a70393262fba82112c3f4a0cb67ad22728664f5ca408f450049d3657a7","text_0035":"9954855c7a07e425376a220c589989beb6ec95da3c5331316ef3615a60b45f1d","text_0036":"d77ccf267e20a26ed70527d29e8d54e6fcab1df213f02d5a4e28ead4f705276b","text_0037":"ad4fb3c439ac4ed90fe52f07e29ed7b4ff654c54d1c400c7c8e226da77127af7","text_0038":"757c687b1ebe2a3f237fb28092cd5f01591f15b2bcd1b4e639042a24635a92c6","text_0039":"637217d867bcc99669d27c54b6d2c391c82a4a17356ab9a80c897ccaee38622c","text_0040":"38197aa8a3e90c03a82e9ccdc88bb444af4eeb0349c41a39e0bdd7b188e7d5d3","text_0041":"75ecf845fb3cfa8d3150f6b0dc90e901953469af512611384b70cc4878d21e85","text_0042":"8ec259f48ed75c8ab2e5154a1caccf19f6be04331adbe774b877f0a2d8b2f778","text_0043":"bed3de120a0e98c539771d1bb189111d095712f8ae25dfdf7cb2983efc0dee9f","text_0044":"c3e861533971e369068ae9e42f71b660fa4ab3893c7c1f798fc367893befd943","text_0045":"69f3f518df7714d00c8e954e9c7405aa44b683dd274181cc3da832cc956815b3","text_0046":"5d79fbde201d657740efcba924f595bd7075e069b344d708e424dbebbdc2f254","text_0047":"35d552d5b96065413feccb50847e3cd7173e673896ce65afba238f90abc25132","text_0048":"a993058bfd809ccdbbb9a61b9850259d7bf6e60003e57ccfa3972f6c29170752","text_0049":"5c7a2f7f7c508102c4ee89401ad6348191b57d1ff65538acb9d450e464a3a46f","text_0050":"89f0a3a861d66afa4c1338ff1ec919685cf338b93b8da9a2387ce85e7e5bc336","text_0051":"eb494ae6ab0d1b9e88ae0a38944609702e43c81a370a29cfb030af9ae46f523c","text_0052":"d0fcf0528da66da7b354ab5efaafe2483a7a76e05b324db255700ef73cdfc791","text_0053":"92677e4ac57ed8d418a4a716bf0874cbbaea79cff893e5163c82ad1f75e7140a","text_0054":"0c158d3e6ee693b89814bf232c954e4757c5ff91dc9df03bb322c3e593e73617","text_0055":"7bb0c5085ddb361d384314cb219620d1483840942bc3f0f46dcb9dfa29d56e29","text_0056":"4af68f2e5ec185a750d59aaa24c7cb63fe612cd6a785e7fd39af11f0b5ce74a2","text_0057":"d58c416d7a1126b36023fa6ba9f02338678bd54426a3b5d04ce511d9a48c0103","text_0058":"62000f559c49c3a58b244b991c10c1738add10702bfa66cb7cb40798cb559290","text_0059":"4b834f1d9d9ab2ad00cb4a56f5202b70468bfe5f71318dbf816da1e29cc32690","text_0060":"466f9a40b3471a9bb39c670cdd1106e990d297bc8bfff0db557cd63bb74c8ef3","text_0061":"d9106f9defb6cc195b969ff040d24f1f8ceebe055ba66c39d4634a68620cde84","text_0062":"Current catalog and all data/facilities definitions searched. No match means missing in this bounded set; historical null is not treated as proof.","text_0063":"adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.","text_0064":"Runtime loads ORIGINAL_FACILITY_PATHS, including some files under the expansion directory. It does not load EXPANSION_FACILITY_PATHS or black_market. Generic services do not prove original special behavior.","text_0065":"\t\tFacilityCatalog.FACILITY_PATHS + FacilityCatalog.INFRASTRUCTURE_FACILITY_PATHS + FacilityCatalog.RESCUE_FACILITY_PATHS + FacilityCatalog.ORIGINAL_FACILITY_PATHS)","text_0066":"No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.","text_0067":"Generic snapshot plumbing is a technical lead only. Facility event round-trip and original semantics remain unverified.","text_0068":"\t\t\tor not _strict_variants_equal(event_service.create_snapshot(), saved[&\"events\"]) \\","text_0069":"\t\telse SaveService.save_snapshot(save_path, snapshot, effective_metadata)","text_0070":"static func save_snapshot(save_path: String, snapshot: Dictionary, metadata := {}) -> Dictionary:","text_0071":"Selected generic suite sources searched; no formal suite run or dedicated original facility acceptance inferred.","text_0072":"Code token is only a search lead; it does not prove a dedicated level/layer/surface variant. These are usage slots, not a committed image count.","text_0073":"Required original presentation/content is not accepted by generic state processing. Final catalog, variants, production quantities and ownership remain unknown.","text_0074":"Neutral metadata search only; matches are not finished media, history semantics, story, voice or scenes.","text_0075":"## Deterministic event candidate queue, foreground actor locking and transactional","text_0076":"signal event_cancelled(instance: EventInstance, reason: StringName)","text_0077":"const EventDefinitionType = preload(\"res://scripts/events/event_definition.gd\")","text_0078":"const EventInstanceType = preload(\"res://scripts/events/event_instance.gd\")","text_0079":"const EventActionType = preload(\"res://scripts/events/event_action.gd\")","text_0080":"## a queued event acquires actors or executes actions. It is rebuilt on restore.","text_0081":"\t\treturn _invalid(\"Duplicate EventDefinition: %s\" % definition.event_id)","text_0082":"func create_definition(event_id: StringName, options: Dictionary = {}) -> CommandResult:","text_0083":"\treturn register_definition(EventDefinitionType.new().configure(event_id, options))","text_0084":"\t\t\terrors.append(\"Invalid definition: %s\" % definition.event_id)","text_0085":"\t\t\t\terrors.append(\"Replacement missing: %s -> %s\" % [definition.event_id, definition.replacement_event_id])","text_0086":"\t\t\t\terrors.append(\"Replacement cycle: %s\" % definition.event_id)","text_0087":"\t\t\tvar replacement := get_definition(source.replacement_event_id)","text_0088":"\t\t\tif replacement == null or replacement.event_id == source.event_id:","text_0089":"\tvar resolved_event_id := StringName(content_resolution[&\"event_id\"])","text_0090":"\tvar instance_id := StringName(_value(options, &\"event_instance_id\", &\"\"))","text_0091":"\t\tinstance_id = StringName(\"event_instance_%08d\" % _next_event_sequence)","text_0092":"\t\treturn _invalid(\"Event candidate is prevented by placement protection.\", {&\"reason\": &\"PLACEMENT_PROTECTION\"})","text_0093":"func start_next_event(absolute_minute: int, extra_context: Dictionary = {}) -> CommandResult:","text_0094":"\t\tvar original_definition := get_definition(instance.source_event_id)","text_0095":"\tvar result := _reserve_choice_cost_inside_transaction(event_instance_id, choice_id, absolute_minute, extra_context)","text_0096":"\tvar result := _submit_choice_inside_transaction(event_instance_id, choice_instance_id, choice_id, absolute_minute, extra_context)","text_0097":"\t\tvar reserve_result := reserve_choice_cost(event_instance_id, choice_id, absolute_minute, extra_context)","text_0098":"\tchoice_resolved.emit(event_instance_id, choice_id, result.to_dictionary())","text_0099":"func cancel_event(event_instance_id: StringName, reason: StringName = &\"CANCELLED\") -> CommandResult:","text_0100":"func get_instance(event_instance_id: StringName) -> EventInstance:","text_0101":"\t\tif not instance.is_valid() or not _definitions.has(instance.resolved_event_id):","text_0102":"\t\t\terrors.append(\"Invalid EventInstance: %s\" % instance.event_instance_id)","text_0103":"## this routine never invents actors, events, choices, or route ownership.","text_0104":"\t\tif raw_instance is Dictionary and StringName(_value(raw_instance, &\"event_instance_id\", &\"\")) == foreground_id:","text_0105":"\t\tif not instance.is_valid() or instances.has(instance.event_instance_id) or not _definitions.has(instance.resolved_event_id):","text_0106":"\tvar next_event := int(_value(snapshot, &\"next_event_sequence\", 0))","text_0107":"\t\t\tvar event_id := StringName(_value(action.payload, &\"event_id\", &\"\"))","text_0108":"\t\t\t\treturn {&\"ok\": false, &\"error\": \"SCHEDULE_EVENT references an unknown event.\"}","text_0109":"\t\t\t\treturn {&\"ok\": result.is_success(), &\"error\": result.message, &\"token\": result.details.get(&\"event_instance_id\", &\"\")}","text_0110":"\t\tif _actor_locks.get(actor_id, &\"\") == instance.event_instance_id:","text_0111":"\t\t\t\t_completed_scope_keys[scope_key] = instance.event_instance_id","text_0112":"\t\t\treturn StringName(\"day:%s:%d\" % [definition.event_id, absolute_minute / 1_440])","text_0113":"\t\t\treturn StringName(\"pair:%s:%s\" % [definition.event_id, \",\".join(_names_to_strings(actor_ids))])","text_0114":"\t\t\treturn String(a.event_instance_id) < String(b.event_instance_id)","text_0115":"static func _default_deduplication_key(event_id: StringName, actor_ids: Array[StringName]) -> StringName:","text_0116":"\treturn StringName(\"%s:%s\" % [event_id, \",\".join(_names_to_strings(actor_ids))])","text_0117":"const EventConditionType = preload(\"res://scripts/events/event_condition.gd\")","text_0118":"const EventChoiceType = preload(\"res://scripts/events/event_choice.gd\")","text_0119":"func configure(p_event_id: StringName, options: Dictionary = {}) -> EventDefinition:","text_0120":"\treplacement_event_id = StringName(_value(options, &\"replacement_event_id\", &\"\"))","text_0121":"\tif filter_behavior == FilterBehavior.REPLACE and replacement_event_id.is_empty():","text_0122":"## View the existing retained event stream. No catalog membership, unlock,","text_0123":"\t\t_event_list.add_item(\"%s %s — %s\" % [presentation[&\"time\"], presentation[&\"title\"], presentation[&\"targets\"]])","text_0124":"\t\t_event_list.set_item_tooltip(index, presentation[&\"supplement\"])","text_0125":"\t\t&\"title\": String(EVENT_NAMES.get(StringName(row.get(\"event_type\", \"\")), \"未識別の記録\")),","text_0126":"\t_event_list.add_theme_stylebox_override(\"panel\", _skin_box(Color(\"f4e3bd\"), &\"panel_parchment\"))","text_0127":"\t\t_event_list.add_theme_stylebox_override(key, _skin_box(Color(\"65452d\"), &\"button_pressed\"))","text_0128":"\t\t_event_list.add_theme_color_override(\"font_color\", Color(\"d8eeea\") if layer == 1 else Color(\"55371e\"))","text_0129":"\t\t_event_list.add_theme_color_override(\"font_selected_color\", Color(\"fff0cf\"))","text_0130":"## This is presentation of existing notification facts, not a story catalog.","text_0131":"Usage slots are not image counts. Fallback, Kenney pack, mockup, candidate token, file existence and technical tests confer no content credit.","text_0132":"Records-only change; no product code, assets, save schema or values changed. No game/platform acceptance is claimed.","text_0133":"Required p13-difference validator and separate formal Claude review must pass before integration."},"shared_evidence":{"evidence_0001":{"source_ref":"context_0001","search_ref":"context_0002","matches":[{"line":25,"text":"\t&\"adult_private_room\","},{"line":44,"text":"\t\"res://data/facilities/adult_private_room.tres\","}]},"evidence_0002":{"source_ref":"context_0003","search_ref":"context_0002","matches":[{"line":8,"text":"id = &\"adult_private_room\""}]},"evidence_0003":{"source_ref":"context_0004","search_ref":"context_0002","matches":[]},"evidence_0004":{"source_ref":"context_0005","search_ref":"context_0002","matches":[]},"evidence_0005":{"source_ref":"context_0006","search_ref":"context_0002","matches":[]},"evidence_0006":{"source_ref":"context_0007","search_ref":"context_0002","matches":[]},"evidence_0007":{"source_ref":"context_0008","search_ref":"context_0002","matches":[]},"evidence_0008":{"source_ref":"context_0009","search_ref":"context_0002","matches":[]},"evidence_0009":{"source_ref":"context_0010","search_ref":"context_0002","matches":[]},"evidence_0010":{"source_ref":"context_0011","search_ref":"context_0002","matches":[]},"evidence_0011":{"source_ref":"context_0012","search_ref":"context_0002","matches":[]},"evidence_0012":{"source_ref":"context_0013","search_ref":"context_0002","matches":[]},"evidence_0013":{"source_ref":"context_0014","search_ref":"context_0002","matches":[]},"evidence_0014":{"source_ref":"context_0015","search_ref":"context_0002","matches":[]},"evidence_0015":{"source_ref":"context_0016","search_ref":"context_0002","matches":[]},"evidence_0016":{"source_ref":"context_0017","search_ref":"context_0002","matches":[]},"evidence_0017":{"source_ref":"context_0018","search_ref":"context_0002","matches":[]},"evidence_0018":{"source_ref":"context_0019","search_ref":"context_0002","matches":[]},"evidence_0019":{"source_ref":"context_0020","search_ref":"context_0002","matches":[]},"evidence_0020":{"source_ref":"context_0021","search_ref":"context_0002","matches":[]},"evidence_0021":{"source_ref":"context_0022","search_ref":"context_0002","matches":[]},"evidence_0022":{"source_ref":"context_0023","search_ref":"context_0002","matches":[]},"evidence_0023":{"source_ref":"context_0024","search_ref":"context_0002","matches":[]},"evidence_0024":{"source_ref":"context_0025","search_ref":"context_0002","matches":[]},"evidence_0025":{"source_ref":"context_0026","search_ref":"context_0002","matches":[]},"evidence_0026":{"source_ref":"context_0027","search_ref":"context_0002","matches":[]},"evidence_0027":{"source_ref":"context_0028","search_ref":"context_0002","matches":[]},"evidence_0028":{"source_ref":"context_0029","search_ref":"context_0002","matches":[]},"evidence_0029":{"source_ref":"context_0030","search_ref":"context_0002","matches":[]},"evidence_0030":{"source_ref":"context_0031","search_ref":"context_0002","matches":[]},"evidence_0031":{"source_ref":"context_0032","search_ref":"context_0002","matches":[]},"evidence_0032":{"source_ref":"context_0033","search_ref":"context_0002","matches":[]},"evidence_0033":{"source_ref":"context_0034","search_ref":"context_0002","matches":[]},"evidence_0034":{"source_ref":"context_0035","search_ref":"context_0002","matches":[]},"evidence_0035":{"source_ref":"context_0036","search_ref":"context_0002","matches":[]},"evidence_0036":{"source_ref":"context_0037","search_ref":"context_0002","matches":[]},"evidence_0037":{"source_ref":"context_0038","search_ref":"context_0002","matches":[]},"evidence_0038":{"source_ref":"context_0039","search_ref":"context_0002","matches":[]},"evidence_0039":{"source_ref":"context_0040","search_ref":"context_0002","matches":[{"line":53,"text":"\t&\"adult_private_room\","}]},"evidence_0040":{"source_ref":"context_0041","search_ref":"context_0042","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0041":{"source_ref":"context_0001","search_ref":"context_0042","matches":[{"line":25,"text":"\t&\"adult_private_room\","},{"line":44,"text":"\t\"res://data/facilities/adult_private_room.tres\","}]},"evidence_0042":{"source_ref":"context_0003","search_ref":"context_0042","matches":[{"line":8,"text":"id = &\"adult_private_room\""}]},"evidence_0043":{"source_ref":"context_0041","search_ref":"context_0002","matches":[]},"evidence_0044":{"source_ref":"context_0043","search_ref":"context_0002","matches":[]},"evidence_0045":{"source_ref":"context_0041","search_ref":"context_0044","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0046":{"source_ref":"context_0045","search_ref":"context_0044","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0047":{"source_ref":"context_0046","search_ref":"context_0002","matches":[]},"evidence_0048":{"source_ref":"context_0047","search_ref":"context_0002","matches":[]},"evidence_0049":{"source_ref":"context_0048","search_ref":"context_0002","matches":[]},"evidence_0050":{"source_ref":"context_0001","search_ref":"context_0049","matches":[]},"evidence_0051":{"source_ref":"context_0003","search_ref":"context_0049","matches":[]},"evidence_0052":{"source_ref":"context_0004","search_ref":"context_0049","matches":[]},"evidence_0053":{"source_ref":"context_0005","search_ref":"context_0049","matches":[]},"evidence_0054":{"source_ref":"context_0006","search_ref":"context_0049","matches":[]},"evidence_0055":{"source_ref":"context_0007","search_ref":"context_0049","matches":[]},"evidence_0056":{"source_ref":"context_0008","search_ref":"context_0049","matches":[]},"evidence_0057":{"source_ref":"context_0009","search_ref":"context_0049","matches":[]},"evidence_0058":{"source_ref":"context_0010","search_ref":"context_0049","matches":[]},"evidence_0059":{"source_ref":"context_0011","search_ref":"context_0049","matches":[]},"evidence_0060":{"source_ref":"context_0012","search_ref":"context_0049","matches":[]},"evidence_0061":{"source_ref":"context_0013","search_ref":"context_0049","matches":[]},"evidence_0062":{"source_ref":"context_0014","search_ref":"context_0049","matches":[]},"evidence_0063":{"source_ref":"context_0015","search_ref":"context_0049","matches":[]},"evidence_0064":{"source_ref":"context_0016","search_ref":"context_0049","matches":[]},"evidence_0065":{"source_ref":"context_0017","search_ref":"context_0049","matches":[]},"evidence_0066":{"source_ref":"context_0018","search_ref":"context_0049","matches":[]},"evidence_0067":{"source_ref":"context_0019","search_ref":"context_0049","matches":[]},"evidence_0068":{"source_ref":"context_0020","search_ref":"context_0049","matches":[]},"evidence_0069":{"source_ref":"context_0021","search_ref":"context_0049","matches":[]},"evidence_0070":{"source_ref":"context_0022","search_ref":"context_0049","matches":[]},"evidence_0071":{"source_ref":"context_0023","search_ref":"context_0049","matches":[]},"evidence_0072":{"source_ref":"context_0024","search_ref":"context_0049","matches":[]},"evidence_0073":{"source_ref":"context_0025","search_ref":"context_0049","matches":[]},"evidence_0074":{"source_ref":"context_0026","search_ref":"context_0049","matches":[]},"evidence_0075":{"source_ref":"context_0027","search_ref":"context_0049","matches":[]},"evidence_0076":{"source_ref":"context_0028","search_ref":"context_0049","matches":[]},"evidence_0077":{"source_ref":"context_0029","search_ref":"context_0049","matches":[]},"evidence_0078":{"source_ref":"context_0030","search_ref":"context_0049","matches":[]},"evidence_0079":{"source_ref":"context_0031","search_ref":"context_0049","matches":[]},"evidence_0080":{"source_ref":"context_0032","search_ref":"context_0049","matches":[]},"evidence_0081":{"source_ref":"context_0033","search_ref":"context_0049","matches":[]},"evidence_0082":{"source_ref":"context_0034","search_ref":"context_0049","matches":[]},"evidence_0083":{"source_ref":"context_0035","search_ref":"context_0049","matches":[]},"evidence_0084":{"source_ref":"context_0036","search_ref":"context_0049","matches":[]},"evidence_0085":{"source_ref":"context_0037","search_ref":"context_0049","matches":[]},"evidence_0086":{"source_ref":"context_0038","search_ref":"context_0049","matches":[]},"evidence_0087":{"source_ref":"context_0039","search_ref":"context_0049","matches":[]},"evidence_0088":{"source_ref":"context_0040","search_ref":"context_0049","matches":[]},"evidence_0089":{"source_ref":"context_0041","search_ref":"context_0050","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0090":{"source_ref":"context_0001","search_ref":"context_0050","matches":[]},"evidence_0091":{"source_ref":"context_0041","search_ref":"context_0049","matches":[]},"evidence_0092":{"source_ref":"context_0043","search_ref":"context_0049","matches":[]},"evidence_0093":{"source_ref":"context_0041","search_ref":"context_0051","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0094":{"source_ref":"context_0045","search_ref":"context_0051","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0095":{"source_ref":"context_0046","search_ref":"context_0049","matches":[]},"evidence_0096":{"source_ref":"context_0047","search_ref":"context_0049","matches":[]},"evidence_0097":{"source_ref":"context_0048","search_ref":"context_0049","matches":[]},"evidence_0098":{"source_ref":"context_0001","search_ref":"context_0052","matches":[]},"evidence_0099":{"source_ref":"context_0003","search_ref":"context_0052","matches":[]},"evidence_0100":{"source_ref":"context_0004","search_ref":"context_0052","matches":[]},"evidence_0101":{"source_ref":"context_0005","search_ref":"context_0052","matches":[]},"evidence_0102":{"source_ref":"context_0006","search_ref":"context_0052","matches":[]},"evidence_0103":{"source_ref":"context_0007","search_ref":"context_0052","matches":[]},"evidence_0104":{"source_ref":"context_0008","search_ref":"context_0052","matches":[]},"evidence_0105":{"source_ref":"context_0009","search_ref":"context_0052","matches":[]},"evidence_0106":{"source_ref":"context_0010","search_ref":"context_0052","matches":[]},"evidence_0107":{"source_ref":"context_0011","search_ref":"context_0052","matches":[]},"evidence_0108":{"source_ref":"context_0012","search_ref":"context_0052","matches":[]},"evidence_0109":{"source_ref":"context_0013","search_ref":"context_0052","matches":[]},"evidence_0110":{"source_ref":"context_0014","search_ref":"context_0052","matches":[]},"evidence_0111":{"source_ref":"context_0015","search_ref":"context_0052","matches":[]},"evidence_0112":{"source_ref":"context_0016","search_ref":"context_0052","matches":[]},"evidence_0113":{"source_ref":"context_0017","search_ref":"context_0052","matches":[]},"evidence_0114":{"source_ref":"context_0018","search_ref":"context_0052","matches":[]},"evidence_0115":{"source_ref":"context_0019","search_ref":"context_0052","matches":[]},"evidence_0116":{"source_ref":"context_0020","search_ref":"context_0052","matches":[]},"evidence_0117":{"source_ref":"context_0021","search_ref":"context_0052","matches":[]},"evidence_0118":{"source_ref":"context_0022","search_ref":"context_0052","matches":[]},"evidence_0119":{"source_ref":"context_0023","search_ref":"context_0052","matches":[]},"evidence_0120":{"source_ref":"context_0024","search_ref":"context_0052","matches":[]},"evidence_0121":{"source_ref":"context_0025","search_ref":"context_0052","matches":[]},"evidence_0122":{"source_ref":"context_0026","search_ref":"context_0052","matches":[]},"evidence_0123":{"source_ref":"context_0027","search_ref":"context_0052","matches":[]},"evidence_0124":{"source_ref":"context_0028","search_ref":"context_0052","matches":[]},"evidence_0125":{"source_ref":"context_0029","search_ref":"context_0052","matches":[]},"evidence_0126":{"source_ref":"context_0030","search_ref":"context_0052","matches":[]},"evidence_0127":{"source_ref":"context_0031","search_ref":"context_0052","matches":[]},"evidence_0128":{"source_ref":"context_0032","search_ref":"context_0052","matches":[]},"evidence_0129":{"source_ref":"context_0033","search_ref":"context_0052","matches":[]},"evidence_0130":{"source_ref":"context_0034","search_ref":"context_0052","matches":[]},"evidence_0131":{"source_ref":"context_0035","search_ref":"context_0052","matches":[]},"evidence_0132":{"source_ref":"context_0036","search_ref":"context_0052","matches":[]},"evidence_0133":{"source_ref":"context_0037","search_ref":"context_0052","matches":[]},"evidence_0134":{"source_ref":"context_0038","search_ref":"context_0052","matches":[]},"evidence_0135":{"source_ref":"context_0039","search_ref":"context_0052","matches":[]},"evidence_0136":{"source_ref":"context_0040","search_ref":"context_0052","matches":[]},"evidence_0137":{"source_ref":"context_0041","search_ref":"context_0053","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0138":{"source_ref":"context_0001","search_ref":"context_0053","matches":[]},"evidence_0139":{"source_ref":"context_0041","search_ref":"context_0052","matches":[]},"evidence_0140":{"source_ref":"context_0043","search_ref":"context_0052","matches":[]},"evidence_0141":{"source_ref":"context_0041","search_ref":"context_0054","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0142":{"source_ref":"context_0045","search_ref":"context_0054","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0143":{"source_ref":"context_0046","search_ref":"context_0052","matches":[]},"evidence_0144":{"source_ref":"context_0047","search_ref":"context_0052","matches":[]},"evidence_0145":{"source_ref":"context_0048","search_ref":"context_0052","matches":[]},"evidence_0146":{"source_ref":"context_0001","search_ref":"context_0055","matches":[{"line":81,"text":"\t&\"black_market\","},{"line":100,"text":"\t\"res://data/facilities/expansion/black_market.tres\","}]},"evidence_0147":{"source_ref":"context_0003","search_ref":"context_0055","matches":[]},"evidence_0148":{"source_ref":"context_0004","search_ref":"context_0055","matches":[]},"evidence_0149":{"source_ref":"context_0005","search_ref":"context_0055","matches":[{"line":7,"text":"id = &\"black_market\""}]},"evidence_0150":{"source_ref":"context_0006","search_ref":"context_0055","matches":[]},"evidence_0151":{"source_ref":"context_0007","search_ref":"context_0055","matches":[]},"evidence_0152":{"source_ref":"context_0008","search_ref":"context_0055","matches":[]},"evidence_0153":{"source_ref":"context_0009","search_ref":"context_0055","matches":[]},"evidence_0154":{"source_ref":"context_0010","search_ref":"context_0055","matches":[]},"evidence_0155":{"source_ref":"context_0011","search_ref":"context_0055","matches":[]},"evidence_0156":{"source_ref":"context_0012","search_ref":"context_0055","matches":[]},"evidence_0157":{"source_ref":"context_0013","search_ref":"context_0055","matches":[]},"evidence_0158":{"source_ref":"context_0014","search_ref":"context_0055","matches":[]},"evidence_0159":{"source_ref":"context_0015","search_ref":"context_0055","matches":[]},"evidence_0160":{"source_ref":"context_0016","search_ref":"context_0055","matches":[]},"evidence_0161":{"source_ref":"context_0017","search_ref":"context_0055","matches":[]},"evidence_0162":{"source_ref":"context_0018","search_ref":"context_0055","matches":[]},"evidence_0163":{"source_ref":"context_0019","search_ref":"context_0055","matches":[]},"evidence_0164":{"source_ref":"context_0020","search_ref":"context_0055","matches":[]},"evidence_0165":{"source_ref":"context_0021","search_ref":"context_0055","matches":[]},"evidence_0166":{"source_ref":"context_0022","search_ref":"context_0055","matches":[]},"evidence_0167":{"source_ref":"context_0023","search_ref":"context_0055","matches":[]},"evidence_0168":{"source_ref":"context_0024","search_ref":"context_0055","matches":[]},"evidence_0169":{"source_ref":"context_0025","search_ref":"context_0055","matches":[]},"evidence_0170":{"source_ref":"context_0026","search_ref":"context_0055","matches":[]},"evidence_0171":{"source_ref":"context_0027","search_ref":"context_0055","matches":[]},"evidence_0172":{"source_ref":"context_0028","search_ref":"context_0055","matches":[]},"evidence_0173":{"source_ref":"context_0029","search_ref":"context_0055","matches":[]},"evidence_0174":{"source_ref":"context_0030","search_ref":"context_0055","matches":[]},"evidence_0175":{"source_ref":"context_0031","search_ref":"context_0055","matches":[]},"evidence_0176":{"source_ref":"context_0032","search_ref":"context_0055","matches":[]},"evidence_0177":{"source_ref":"context_0033","search_ref":"context_0055","matches":[]},"evidence_0178":{"source_ref":"context_0034","search_ref":"context_0055","matches":[]},"evidence_0179":{"source_ref":"context_0035","search_ref":"context_0055","matches":[]},"evidence_0180":{"source_ref":"context_0036","search_ref":"context_0055","matches":[]},"evidence_0181":{"source_ref":"context_0037","search_ref":"context_0055","matches":[]},"evidence_0182":{"source_ref":"context_0038","search_ref":"context_0055","matches":[]},"evidence_0183":{"source_ref":"context_0039","search_ref":"context_0055","matches":[]},"evidence_0184":{"source_ref":"context_0040","search_ref":"context_0055","matches":[]},"evidence_0185":{"source_ref":"context_0041","search_ref":"context_0056","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0186":{"source_ref":"context_0001","search_ref":"context_0056","matches":[{"line":81,"text":"\t&\"black_market\","},{"line":100,"text":"\t\"res://data/facilities/expansion/black_market.tres\","}]},"evidence_0187":{"source_ref":"context_0005","search_ref":"context_0056","matches":[{"line":7,"text":"id = &\"black_market\""}]},"evidence_0188":{"source_ref":"context_0041","search_ref":"context_0055","matches":[]},"evidence_0189":{"source_ref":"context_0043","search_ref":"context_0055","matches":[]},"evidence_0190":{"source_ref":"context_0041","search_ref":"context_0057","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0191":{"source_ref":"context_0045","search_ref":"context_0057","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0192":{"source_ref":"context_0046","search_ref":"context_0055","matches":[]},"evidence_0193":{"source_ref":"context_0047","search_ref":"context_0055","matches":[]},"evidence_0194":{"source_ref":"context_0048","search_ref":"context_0055","matches":[]},"evidence_0195":{"source_ref":"context_0001","search_ref":"context_0058","matches":[]},"evidence_0196":{"source_ref":"context_0003","search_ref":"context_0058","matches":[]},"evidence_0197":{"source_ref":"context_0004","search_ref":"context_0058","matches":[]},"evidence_0198":{"source_ref":"context_0005","search_ref":"context_0058","matches":[]},"evidence_0199":{"source_ref":"context_0006","search_ref":"context_0058","matches":[]},"evidence_0200":{"source_ref":"context_0007","search_ref":"context_0058","matches":[]},"evidence_0201":{"source_ref":"context_0008","search_ref":"context_0058","matches":[]},"evidence_0202":{"source_ref":"context_0009","search_ref":"context_0058","matches":[]},"evidence_0203":{"source_ref":"context_0010","search_ref":"context_0058","matches":[]},"evidence_0204":{"source_ref":"context_0011","search_ref":"context_0058","matches":[]},"evidence_0205":{"source_ref":"context_0012","search_ref":"context_0058","matches":[]},"evidence_0206":{"source_ref":"context_0013","search_ref":"context_0058","matches":[]},"evidence_0207":{"source_ref":"context_0014","search_ref":"context_0058","matches":[]},"evidence_0208":{"source_ref":"context_0015","search_ref":"context_0058","matches":[]},"evidence_0209":{"source_ref":"context_0016","search_ref":"context_0058","matches":[]},"evidence_0210":{"source_ref":"context_0017","search_ref":"context_0058","matches":[]},"evidence_0211":{"source_ref":"context_0018","search_ref":"context_0058","matches":[]},"evidence_0212":{"source_ref":"context_0019","search_ref":"context_0058","matches":[]},"evidence_0213":{"source_ref":"context_0020","search_ref":"context_0058","matches":[]},"evidence_0214":{"source_ref":"context_0021","search_ref":"context_0058","matches":[]},"evidence_0215":{"source_ref":"context_0022","search_ref":"context_0058","matches":[]},"evidence_0216":{"source_ref":"context_0023","search_ref":"context_0058","matches":[]},"evidence_0217":{"source_ref":"context_0024","search_ref":"context_0058","matches":[]},"evidence_0218":{"source_ref":"context_0025","search_ref":"context_0058","matches":[]},"evidence_0219":{"source_ref":"context_0026","search_ref":"context_0058","matches":[]},"evidence_0220":{"source_ref":"context_0027","search_ref":"context_0058","matches":[]},"evidence_0221":{"source_ref":"context_0028","search_ref":"context_0058","matches":[]},"evidence_0222":{"source_ref":"context_0029","search_ref":"context_0058","matches":[]},"evidence_0223":{"source_ref":"context_0030","search_ref":"context_0058","matches":[]},"evidence_0224":{"source_ref":"context_0031","search_ref":"context_0058","matches":[]},"evidence_0225":{"source_ref":"context_0032","search_ref":"context_0058","matches":[]},"evidence_0226":{"source_ref":"context_0033","search_ref":"context_0058","matches":[]},"evidence_0227":{"source_ref":"context_0034","search_ref":"context_0058","matches":[]},"evidence_0228":{"source_ref":"context_0035","search_ref":"context_0058","matches":[]},"evidence_0229":{"source_ref":"context_0036","search_ref":"context_0058","matches":[]},"evidence_0230":{"source_ref":"context_0037","search_ref":"context_0058","matches":[]},"evidence_0231":{"source_ref":"context_0038","search_ref":"context_0058","matches":[]},"evidence_0232":{"source_ref":"context_0039","search_ref":"context_0058","matches":[]},"evidence_0233":{"source_ref":"context_0040","search_ref":"context_0058","matches":[]},"evidence_0234":{"source_ref":"context_0041","search_ref":"context_0059","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0235":{"source_ref":"context_0001","search_ref":"context_0059","matches":[]},"evidence_0236":{"source_ref":"context_0041","search_ref":"context_0058","matches":[]},"evidence_0237":{"source_ref":"context_0043","search_ref":"context_0058","matches":[]},"evidence_0238":{"source_ref":"context_0041","search_ref":"context_0060","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0239":{"source_ref":"context_0045","search_ref":"context_0060","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0240":{"source_ref":"context_0046","search_ref":"context_0058","matches":[]},"evidence_0241":{"source_ref":"context_0047","search_ref":"context_0058","matches":[]},"evidence_0242":{"source_ref":"context_0048","search_ref":"context_0058","matches":[]},"evidence_0243":{"source_ref":"context_0001","search_ref":"context_0061","matches":[]},"evidence_0244":{"source_ref":"context_0003","search_ref":"context_0061","matches":[]},"evidence_0245":{"source_ref":"context_0004","search_ref":"context_0061","matches":[]},"evidence_0246":{"source_ref":"context_0005","search_ref":"context_0061","matches":[]},"evidence_0247":{"source_ref":"context_0006","search_ref":"context_0061","matches":[]},"evidence_0248":{"source_ref":"context_0007","search_ref":"context_0061","matches":[]},"evidence_0249":{"source_ref":"context_0008","search_ref":"context_0061","matches":[]},"evidence_0250":{"source_ref":"context_0009","search_ref":"context_0061","matches":[]},"evidence_0251":{"source_ref":"context_0010","search_ref":"context_0061","matches":[]},"evidence_0252":{"source_ref":"context_0011","search_ref":"context_0061","matches":[]},"evidence_0253":{"source_ref":"context_0012","search_ref":"context_0061","matches":[]},"evidence_0254":{"source_ref":"context_0013","search_ref":"context_0061","matches":[]},"evidence_0255":{"source_ref":"context_0014","search_ref":"context_0061","matches":[]},"evidence_0256":{"source_ref":"context_0015","search_ref":"context_0061","matches":[]},"evidence_0257":{"source_ref":"context_0016","search_ref":"context_0061","matches":[]},"evidence_0258":{"source_ref":"context_0017","search_ref":"context_0061","matches":[]},"evidence_0259":{"source_ref":"context_0018","search_ref":"context_0061","matches":[]},"evidence_0260":{"source_ref":"context_0019","search_ref":"context_0061","matches":[]},"evidence_0261":{"source_ref":"context_0020","search_ref":"context_0061","matches":[]},"evidence_0262":{"source_ref":"context_0021","search_ref":"context_0061","matches":[]},"evidence_0263":{"source_ref":"context_0022","search_ref":"context_0061","matches":[]},"evidence_0264":{"source_ref":"context_0023","search_ref":"context_0061","matches":[]},"evidence_0265":{"source_ref":"context_0024","search_ref":"context_0061","matches":[]},"evidence_0266":{"source_ref":"context_0025","search_ref":"context_0061","matches":[]},"evidence_0267":{"source_ref":"context_0026","search_ref":"context_0061","matches":[]},"evidence_0268":{"source_ref":"context_0027","search_ref":"context_0061","matches":[]},"evidence_0269":{"source_ref":"context_0028","search_ref":"context_0061","matches":[]},"evidence_0270":{"source_ref":"context_0029","search_ref":"context_0061","matches":[]},"evidence_0271":{"source_ref":"context_0030","search_ref":"context_0061","matches":[]},"evidence_0272":{"source_ref":"context_0031","search_ref":"context_0061","matches":[]},"evidence_0273":{"source_ref":"context_0032","search_ref":"context_0061","matches":[]},"evidence_0274":{"source_ref":"context_0033","search_ref":"context_0061","matches":[]},"evidence_0275":{"source_ref":"context_0034","search_ref":"context_0061","matches":[]},"evidence_0276":{"source_ref":"context_0035","search_ref":"context_0061","matches":[]},"evidence_0277":{"source_ref":"context_0036","search_ref":"context_0061","matches":[]},"evidence_0278":{"source_ref":"context_0037","search_ref":"context_0061","matches":[]},"evidence_0279":{"source_ref":"context_0038","search_ref":"context_0061","matches":[]},"evidence_0280":{"source_ref":"context_0039","search_ref":"context_0061","matches":[]},"evidence_0281":{"source_ref":"context_0040","search_ref":"context_0061","matches":[]},"evidence_0282":{"source_ref":"context_0041","search_ref":"context_0062","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0283":{"source_ref":"context_0001","search_ref":"context_0062","matches":[]},"evidence_0284":{"source_ref":"context_0041","search_ref":"context_0061","matches":[]},"evidence_0285":{"source_ref":"context_0043","search_ref":"context_0061","matches":[]},"evidence_0286":{"source_ref":"context_0041","search_ref":"context_0063","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0287":{"source_ref":"context_0045","search_ref":"context_0063","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0288":{"source_ref":"context_0046","search_ref":"context_0061","matches":[]},"evidence_0289":{"source_ref":"context_0047","search_ref":"context_0061","matches":[]},"evidence_0290":{"source_ref":"context_0048","search_ref":"context_0061","matches":[]},"evidence_0291":{"source_ref":"context_0001","search_ref":"context_0064","matches":[]},"evidence_0292":{"source_ref":"context_0003","search_ref":"context_0064","matches":[]},"evidence_0293":{"source_ref":"context_0004","search_ref":"context_0064","matches":[]},"evidence_0294":{"source_ref":"context_0005","search_ref":"context_0064","matches":[]},"evidence_0295":{"source_ref":"context_0006","search_ref":"context_0064","matches":[]},"evidence_0296":{"source_ref":"context_0007","search_ref":"context_0064","matches":[]},"evidence_0297":{"source_ref":"context_0008","search_ref":"context_0064","matches":[]},"evidence_0298":{"source_ref":"context_0009","search_ref":"context_0064","matches":[]},"evidence_0299":{"source_ref":"context_0010","search_ref":"context_0064","matches":[]},"evidence_0300":{"source_ref":"context_0011","search_ref":"context_0064","matches":[]},"evidence_0301":{"source_ref":"context_0012","search_ref":"context_0064","matches":[]},"evidence_0302":{"source_ref":"context_0013","search_ref":"context_0064","matches":[]},"evidence_0303":{"source_ref":"context_0014","search_ref":"context_0064","matches":[]},"evidence_0304":{"source_ref":"context_0015","search_ref":"context_0064","matches":[]},"evidence_0305":{"source_ref":"context_0016","search_ref":"context_0064","matches":[]},"evidence_0306":{"source_ref":"context_0017","search_ref":"context_0064","matches":[]},"evidence_0307":{"source_ref":"context_0018","search_ref":"context_0064","matches":[]},"evidence_0308":{"source_ref":"context_0019","search_ref":"context_0064","matches":[]},"evidence_0309":{"source_ref":"context_0020","search_ref":"context_0064","matches":[]},"evidence_0310":{"source_ref":"context_0021","search_ref":"context_0064","matches":[]},"evidence_0311":{"source_ref":"context_0022","search_ref":"context_0064","matches":[]},"evidence_0312":{"source_ref":"context_0023","search_ref":"context_0064","matches":[]},"evidence_0313":{"source_ref":"context_0024","search_ref":"context_0064","matches":[]},"evidence_0314":{"source_ref":"context_0025","search_ref":"context_0064","matches":[]},"evidence_0315":{"source_ref":"context_0026","search_ref":"context_0064","matches":[]},"evidence_0316":{"source_ref":"context_0027","search_ref":"context_0064","matches":[]},"evidence_0317":{"source_ref":"context_0028","search_ref":"context_0064","matches":[]},"evidence_0318":{"source_ref":"context_0029","search_ref":"context_0064","matches":[]},"evidence_0319":{"source_ref":"context_0030","search_ref":"context_0064","matches":[]},"evidence_0320":{"source_ref":"context_0031","search_ref":"context_0064","matches":[]},"evidence_0321":{"source_ref":"context_0032","search_ref":"context_0064","matches":[]},"evidence_0322":{"source_ref":"context_0033","search_ref":"context_0064","matches":[]},"evidence_0323":{"source_ref":"context_0034","search_ref":"context_0064","matches":[]},"evidence_0324":{"source_ref":"context_0035","search_ref":"context_0064","matches":[]},"evidence_0325":{"source_ref":"context_0036","search_ref":"context_0064","matches":[]},"evidence_0326":{"source_ref":"context_0037","search_ref":"context_0064","matches":[]},"evidence_0327":{"source_ref":"context_0038","search_ref":"context_0064","matches":[]},"evidence_0328":{"source_ref":"context_0039","search_ref":"context_0064","matches":[]},"evidence_0329":{"source_ref":"context_0040","search_ref":"context_0064","matches":[]},"evidence_0330":{"source_ref":"context_0041","search_ref":"context_0065","matches":[{"line":437,"text":{"text_ref":"text_0065"}}]},"evidence_0331":{"source_ref":"context_0001","search_ref":"context_0065","matches":[]},"evidence_0332":{"source_ref":"context_0041","search_ref":"context_0064","matches":[]},"evidence_0333":{"source_ref":"context_0043","search_ref":"context_0064","matches":[]},"evidence_0334":{"source_ref":"context_0041","search_ref":"context_0066","matches":[{"line":555,"text":"\t\t\t&\"events\": event_service.create_snapshot(),"},{"line":2012,"text":"\t\t&\"events\": event_service.create_snapshot(),"},{"line":2221,"text":{"text_ref":"text_0068"}},{"line":4602,"text":{"text_ref":"text_0069"}}]},"evidence_0335":{"source_ref":"context_0045","search_ref":"context_0066","matches":[{"line":29,"text":{"text_ref":"text_0070"}},{"line":37,"text":"\tvar result := _save_snapshot_absolute("},{"line":145,"text":"\tvar candidate := _save_snapshot_absolute("},{"line":673,"text":"static func _save_snapshot_absolute("}]},"evidence_0336":{"source_ref":"context_0046","search_ref":"context_0064","matches":[]},"evidence_0337":{"source_ref":"context_0047","search_ref":"context_0064","matches":[]},"evidence_0338":{"source_ref":"context_0048","search_ref":"context_0064","matches":[]},"evidence_0339":{"source_ref":"context_0043","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0075"}},{"line":11,"text":"signal event_registered(definition: EventDefinition)"},{"line":12,"text":"signal event_enqueued(instance: EventInstance)"},{"line":13,"text":"signal event_started(instance: EventInstance)"},{"line":14,"text":"signal event_finished(instance: EventInstance)"},{"line":15,"text":{"text_ref":"text_0076"}},{"line":18,"text":{"text_ref":"text_0077"}},{"line":19,"text":{"text_ref":"text_0078"}},{"line":20,"text":{"text_ref":"text_0079"}},{"line":39,"text":"var _next_event_sequence := 1"},{"line":78,"text":{"text_ref":"text_0080"}},{"line":125,"text":"\tif _definitions.has(definition.event_id):"},{"line":126,"text":{"text_ref":"text_0081"}},{"line":127,"text":"\t_definitions[definition.event_id] = definition"},{"line":128,"text":"\tevent_registered.emit(definition)"},{"line":130,"text":"\treturn _success({&\"event_id\": definition.event_id})"},{"line":133,"text":{"text_ref":"text_0082"}},{"line":134,"text":{"text_ref":"text_0083"}},{"line":137,"text":"func get_definition(event_id: StringName) -> EventDefinition:"},{"line":138,"text":"\treturn _definitions.get(event_id) as EventDefinition"},{"line":143,"text":"\tfor event_id: StringName in _sorted_name_keys(_definitions):"},{"line":144,"text":"\t\tresult.append(_definitions[event_id])"},{"line":152,"text":{"text_ref":"text_0084"}},{"line":154,"text":"\t\t\tif not _definitions.has(definition.replacement_event_id):"},{"line":155,"text":{"text_ref":"text_0085"}},{"line":156,"text":"\t\t\telif _replacement_cycle_exists(definition.event_id):"},{"line":157,"text":{"text_ref":"text_0086"}},{"line":161,"text":"func resolve_content_event(event_id: StringName) -> Dictionary:"},{"line":162,"text":"\tvar source := get_definition(event_id)"},{"line":168,"text":"\t\t\t&\"event_id\": event_id,"},{"line":178,"text":"\t\t\t\t&\"event_id\": event_id,"},{"line":182,"text":{"text_ref":"text_0087"}},{"line":183,"text":{"text_ref":"text_0088"}},{"line":189,"text":"\t\t\t\t&\"event_id\": replacement.event_id,"},{"line":198,"text":"\tevent_id: StringName,"},{"line":203,"text":"\tvar source := get_definition(event_id)"},{"line":205,"text":"\t\treturn _not_found(\"EventDefinition\", event_id)"},{"line":208,"text":"\tvar content_resolution := resolve_content_event(event_id)"},{"line":211,"text":{"text_ref":"text_0089"}},{"line":212,"text":"\tvar definition := get_definition(resolved_event_id)"},{"line":219,"text":"\t\t_default_deduplication_key(event_id, normalized_actor_ids)"},{"line":228,"text":{"text_ref":"text_0090"}},{"line":231,"text":{"text_ref":"text_0091"}},{"line":243,"text":{"text_ref":"text_0092"}},{"line":246,"text":"\t\tevent_id,"},{"line":247,"text":"\t\tresolved_event_id,"},{"line":262,"text":"\t\t_next_event_sequence += 1"},{"line":264,"text":"\tevent_enqueued.emit(instance)"},{"line":267,"text":"\t\t&\"event_instance_id\": instance_id,"},{"line":268,"text":"\t\t&\"resolved_event_id\": resolved_event_id,"},{"line":273,"text":{"text_ref":"text_0093"}},{"line":282,"text":"\t\t\t&\"event_instance_id\": _foreground_instance_id,"},{"line":290,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":301,"text":{"text_ref":"text_0094"}},{"line":310,"text":"\t\t\t_foreground_instance_id = instance.event_instance_id"},{"line":311,"text":"\t\tevent_started.emit(instance)"},{"line":337,"text":"\t\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":346,"text":"\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":358,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":370,"text":"\t\t\t&\"event_instance_id\": instance_id,"},{"line":379,"text":"\tevent_instance_id: StringName,"},{"line":385,"text":{"text_ref":"text_0095"}},{"line":391,"text":"\tevent_instance_id: StringName,"},{"line":396,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":398,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":401,"text":"\tvar definition := get_definition(instance.resolved_event_id)"},{"line":430,"text":"\tevent_instance_id: StringName,"},{"line":437,"text":{"text_ref":"text_0096"}},{"line":443,"text":"\tevent_instance_id: StringName,"},{"line":453,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":455,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":460,"text":"\tvar definition := get_definition(instance.resolved_event_id)"},{"line":477,"text":{"text_ref":"text_0097"}},{"line":543,"text":"\t\t&\"event_instance_id\": event_instance_id,"},{"line":551,"text":{"text_ref":"text_0098"}},{"line":564,"text":"\t\tvar definition := get_definition(instance.resolved_event_id)"},{"line":567,"text":"\t\t\t&\"event_instance_id\": instance.event_instance_id,"},{"line":574,"text":{"text_ref":"text_0099"}},{"line":575,"text":"\tvar instance := get_instance(event_instance_id)"},{"line":577,"text":"\t\treturn _not_found(\"EventInstance\", event_instance_id)"},{"line":584,"text":"\treturn _success({&\"event_instance_id\": event_instance_id})"},{"line":587,"text":{"text_ref":"text_0100"}},{"line":588,"text":"\treturn _instances.get(event_instance_id) as EventInstance"},{"line":631,"text":{"text_ref":"text_0101"}},{"line":632,"text":{"text_ref":"text_0102"}},{"line":663,"text":"\t\t&\"next_event_sequence\": _next_event_sequence,"},{"line":685,"text":"\t_next_event_sequence = parsed[&\"next_event_sequence\"]"},{"line":698,"text":{"text_ref":"text_0103"}},{"line":716,"text":{"text_ref":"text_0104"}},{"line":784,"text":{"text_ref":"text_0105"}},{"line":786,"text":"\t\tinstances[instance.event_instance_id] = instance"},{"line":820,"text":{"text_ref":"text_0106"}},{"line":822,"text":"\tif next_event < 1 or next_choice < 1:"},{"line":851,"text":"\t\t&\"next_event_sequence\": next_event,"},{"line":986,"text":{"text_ref":"text_0107"}},{"line":987,"text":"\t\t\tif event_id.is_empty() or not _definitions.has(event_id):"},{"line":988,"text":{"text_ref":"text_0108"}},{"line":993,"text":"\t\t\t\t\tevent_id,"},{"line":998,"text":{"text_ref":"text_0109"}},{"line":1051,"text":"\t\t\t\tbool(_value(action.payload, &\"irreversible_event\", false))"},{"line":1087,"text":"\t\t\t\t_actor_locks[replacement_id] = instance.event_instance_id"},{"line":1113,"text":"\t\t_actor_locks[actor_id] = instance.event_instance_id"},{"line":1119,"text":{"text_ref":"text_0110"}},{"line":1121,"text":"\tif _foreground_instance_id == instance.event_instance_id:"},{"line":1127,"text":"\t_queue.erase(instance.event_instance_id)"},{"line":1147,"text":"\t\tvar source := get_definition(instance.source_event_id)"},{"line":1151,"text":{"text_ref":"text_0111"}},{"line":1152,"text":"\t\tevent_finished.emit(instance)"},{"line":1160,"text":"\t\tevent_cancelled.emit(instance, &\"COST_RELEASE_FAILED\")"},{"line":1165,"text":"\tevent_cancelled.emit(instance, reason)"},{"line":1243,"text":"\tresult[&\"event_instance_id\"] = instance.event_instance_id"},{"line":1257,"text":"func _replacement_cycle_exists(event_id: StringName) -> bool:"},{"line":1259,"text":"\tvar current_id := event_id"},{"line":1267,"text":"\t\tcurrent_id = definition.replacement_event_id"},{"line":1274,"text":"\t\t\treturn StringName(\"save:%s\" % definition.event_id)"},{"line":1276,"text":{"text_ref":"text_0112"}},{"line":1278,"text":{"text_ref":"text_0113"}},{"line":1297,"text":{"text_ref":"text_0114"}},{"line":1301,"text":{"text_ref":"text_0115"}},{"line":1302,"text":{"text_ref":"text_0116"}}]},"evidence_0340":{"source_ref":"context_0068","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0117"}},{"line":5,"text":{"text_ref":"text_0079"}},{"line":6,"text":{"text_ref":"text_0118"}},{"line":41,"text":"var event_id: StringName = &\"\""},{"line":55,"text":"var replacement_event_id: StringName = &\"\""},{"line":64,"text":{"text_ref":"text_0119"}},{"line":65,"text":"\tevent_id = p_event_id"},{"line":79,"text":{"text_ref":"text_0120"}},{"line":90,"text":"\tif event_id.is_empty() or category.is_empty():"},{"line":92,"text":{"text_ref":"text_0121"}},{"line":94,"text":"\tif replacement_event_id == event_id:"},{"line":129,"text":"\t\t&\"event_id\": String(event_id),"},{"line":143,"text":"\t\t&\"replacement_event_id\": String(replacement_event_id),"},{"line":174,"text":"\t\tStringName(_value(raw_value, &\"event_id\", &\"\")),"}]},"evidence_0341":{"source_ref":"context_0069","search_ref":"context_0067","matches":[{"line":4,"text":{"text_ref":"text_0122"}},{"line":100,"text":"var _event_list: ItemList"},{"line":105,"text":"var _selected_event_id := \"\""},{"line":124,"text":"\t_event_list = ItemList.new()"},{"line":125,"text":"\t_event_list.name = \"EventLogList\""},{"line":126,"text":"\t_event_list.custom_minimum_size.y = 150"},{"line":127,"text":"\t_event_list.size_flags_vertical = Control.SIZE_EXPAND_FILL"},{"line":128,"text":"\t_event_list.item_selected.connect(_select_row)"},{"line":129,"text":"\tcolumn.add_child(_event_list)"},{"line":147,"text":"func show_events() -> void:"},{"line":154,"text":"func get_event_rows() -> Array[Dictionary]:"},{"line":158,"text":"\tvar stream: Variant = _runtime.get(\"domain_events\")"},{"line":159,"text":"\tif stream == null or not stream.has_method(\"recent_events\"):"},{"line":161,"text":"\tfor event: SimulationDomainEvent in stream.recent_events():"},{"line":162,"text":"\t\trows.append(event.to_dictionary())"},{"line":166,"text":"func get_selected_event() -> Dictionary:"},{"line":168,"text":"\t\tif String(row[\"event_id\"]) == _selected_event_id:"},{"line":174,"text":"\tif _event_list == null:"},{"line":176,"text":"\t_rows = get_event_rows()"},{"line":177,"text":"\t_event_list.clear()"},{"line":181,"text":"\t\tvar presentation := get_event_presentation(row)"},{"line":182,"text":{"text_ref":"text_0123"}},{"line":183,"text":{"text_ref":"text_0124"}},{"line":184,"text":"\t\t_event_list.set_item_metadata(index, String(row[\"event_id\"]))"},{"line":185,"text":"\t\tif String(row[\"event_id\"]) == _selected_event_id:"},{"line":191,"text":"\t\t_event_list.select(selected_index)"},{"line":194,"text":"\t\t_selected_event_id = \"\""},{"line":202,"text":"\t_selected_event_id = String(row[\"event_id\"])"},{"line":203,"text":"\tvar presentation := get_event_presentation(row)"},{"line":214,"text":"func get_event_presentation(row: Dictionary) -> Dictionary:"},{"line":229,"text":{"text_ref":"text_0125"}},{"line":233,"text":"\t\t\trow.get(\"event_id\", \"\"), row.get(\"event_type\", \"\"),"},{"line":279,"text":{"text_ref":"text_0126"}},{"line":282,"text":{"text_ref":"text_0127"}},{"line":312,"text":"\tif _event_list != null:"},{"line":313,"text":{"text_ref":"text_0128"}},{"line":314,"text":{"text_ref":"text_0129"}}]},"evidence_0342":{"source_ref":"context_0043","search_ref":"context_0070","matches":[]},"evidence_0343":{"source_ref":"context_0068","search_ref":"context_0070","matches":[]},"evidence_0344":{"source_ref":"context_0069","search_ref":"context_0070","matches":[]},"evidence_0345":{"source_ref":"context_0043","search_ref":"context_0071","matches":[]},"evidence_0346":{"source_ref":"context_0068","search_ref":"context_0071","matches":[]},"evidence_0347":{"source_ref":"context_0069","search_ref":"context_0071","matches":[]},"evidence_0348":{"source_ref":"context_0043","search_ref":"context_0072","matches":[]},"evidence_0349":{"source_ref":"context_0068","search_ref":"context_0072","matches":[]},"evidence_0350":{"source_ref":"context_0069","search_ref":"context_0072","matches":[{"line":211,"text":{"text_ref":"text_0130"}}]},"evidence_0351":{"source_ref":"context_0043","search_ref":"context_0073","matches":[]},"evidence_0352":{"source_ref":"context_0068","search_ref":"context_0073","matches":[]},"evidence_0353":{"source_ref":"context_0069","search_ref":"context_0073","matches":[]},"evidence_0354":{"source_ref":"context_0043","search_ref":"context_0074","matches":[]},"evidence_0355":{"source_ref":"context_0068","search_ref":"context_0074","matches":[]},"evidence_0356":{"source_ref":"context_0069","search_ref":"context_0074","matches":[]}},"shared_context":{"context_0001":{"path":"scripts/data/facility_catalog.gd","sha256":{"text_ref":"text_0055"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0002":{"searched_tokens":["風俗個室","adult_private_room"]},"context_0003":{"path":"data/facilities/adult_private_room.tres","sha256":{"text_ref":"text_0016"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0004":{"path":"data/facilities/cafeteria.tres","sha256":{"text_ref":"text_0017"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0005":{"path":"data/facilities/expansion/black_market.tres","sha256":{"text_ref":"text_0018"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0006":{"path":"data/facilities/expansion/chapel.tres","sha256":{"text_ref":"text_0019"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0007":{"path":"data/facilities/expansion/cleaning_room.tres","sha256":{"text_ref":"text_0020"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0008":{"path":"data/facilities/expansion/clinic.tres","sha256":{"text_ref":"text_0021"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0009":{"path":"data/facilities/expansion/cold_storage.tres","sha256":{"text_ref":"text_0022"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0010":{"path":"data/facilities/expansion/general_store.tres","sha256":{"text_ref":"text_0023"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0011":{"path":"data/facilities/expansion/guild_counter.tres","sha256":{"text_ref":"text_0024"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0012":{"path":"data/facilities/expansion/laundry.tres","sha256":{"text_ref":"text_0025"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0013":{"path":"data/facilities/expansion/maintenance_workshop.tres","sha256":{"text_ref":"text_0026"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0014":{"path":"data/facilities/expansion/mana_control_room.tres","sha256":{"text_ref":"text_0027"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0015":{"path":"data/facilities/expansion/premium_room.tres","sha256":{"text_ref":"text_0028"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0016":{"path":"data/facilities/expansion/private_bath.tres","sha256":{"text_ref":"text_0029"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0017":{"path":"data/facilities/expansion/secret_tavern.tres","sha256":{"text_ref":"text_0030"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0018":{"path":"data/facilities/expansion/staff_dormitory.tres","sha256":{"text_ref":"text_0031"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0019":{"path":"data/facilities/expansion/tea_lounge.tres","sha256":{"text_ref":"text_0032"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0020":{"path":"data/facilities/expansion/underground_guest_room.tres","sha256":{"text_ref":"text_0033"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0021":{"path":"data/facilities/expansion/vip_private_salon.tres","sha256":{"text_ref":"text_0034"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0022":{"path":"data/facilities/expansion/waste_processing.tres","sha256":{"text_ref":"text_0035"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0023":{"path":"data/facilities/guest_corridor.tres","sha256":{"text_ref":"text_0036"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0024":{"path":"data/facilities/guest_elevator.tres","sha256":{"text_ref":"text_0037"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0025":{"path":"data/facilities/infrastructure/guest_stairs.tres","sha256":{"text_ref":"text_0038"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0026":{"path":"data/facilities/infrastructure/service_stairs.tres","sha256":{"text_ref":"text_0039"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0027":{"path":"data/facilities/kitchen.tres","sha256":{"text_ref":"text_0040"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0028":{"path":"data/facilities/massage_room.tres","sha256":{"text_ref":"text_0041"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0029":{"path":"data/facilities/public_bath.tres","sha256":{"text_ref":"text_0042"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0030":{"path":"data/facilities/reception.tres","sha256":{"text_ref":"text_0043"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0031":{"path":"data/facilities/rescue/infirmary.tres","sha256":{"text_ref":"text_0044"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0032":{"path":"data/facilities/security_station.tres","sha256":{"text_ref":"text_0045"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0033":{"path":"data/facilities/service_corridor.tres","sha256":{"text_ref":"text_0046"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0034":{"path":"data/facilities/service_elevator.tres","sha256":{"text_ref":"text_0047"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0035":{"path":"data/facilities/staff_door.tres","sha256":{"text_ref":"text_0048"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0036":{"path":"data/facilities/staff_waiting_room.tres","sha256":{"text_ref":"text_0049"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0037":{"path":"data/facilities/standard_room.tres","sha256":{"text_ref":"text_0050"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0038":{"path":"data/facilities/tavern.tres","sha256":{"text_ref":"text_0051"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0039":{"path":"data/facilities/warehouse.tres","sha256":{"text_ref":"text_0052"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0040":{"path":"scenes/main/main.gd","sha256":{"text_ref":"text_0053"},"applicability":"main_git_blob","commit":"57131ec616ba06a71d3d97eaea738f209f965349","scope":"Static search of this file only; no execution or acceptance."},"context_0041":{"path":"autoload/simulation_runtime.gd","sha256":{"text_ref":"text_0014"},"applicability":"main_git_blob","commit":"57131ec616ba06a71d3d97eaea738f209f965349","scope":"Static search of this file only; no execution or acceptance."},"context_0042":{"searched_tokens":["風俗個室","adult_private_room","FacilityCatalog.FACILITY_PATHS"]},"context_0043":{"path":"scripts/events/event_service.gd","sha256":{"text_ref":"text_0057"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0044":{"searched_tokens":["風俗個室","adult_private_room","event_service.create_snapshot()","save_snapshot"]},"context_0045":{"path":"scripts/core/save_service.gd","sha256":{"text_ref":"text_0054"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0046":{"path":"tests/s6/test_runtime_snapshot_serialization.gd","sha256":{"text_ref":"text_0061"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0047":{"path":"tests/s2/test_facility_service.gd","sha256":{"text_ref":"text_0059"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0048":{"path":"tests/s4/test_runtime_relationship_events.gd","sha256":{"text_ref":"text_0060"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0049":{"searched_tokens":["高級ソープ"]},"context_0050":{"searched_tokens":["高級ソープ","FacilityCatalog.FACILITY_PATHS"]},"context_0051":{"searched_tokens":["高級ソープ","event_service.create_snapshot()","save_snapshot"]},"context_0052":{"searched_tokens":["SM拷問室"]},"context_0053":{"searched_tokens":["SM拷問室","FacilityCatalog.FACILITY_PATHS"]},"context_0054":{"searched_tokens":["SM拷問室","event_service.create_snapshot()","save_snapshot"]},"context_0055":{"searched_tokens":["闇市場","black_market"]},"context_0056":{"searched_tokens":["闇市場","black_market","FacilityCatalog.FACILITY_PATHS"]},"context_0057":{"searched_tokens":["闇市場","black_market","event_service.create_snapshot()","save_snapshot"]},"context_0058":{"searched_tokens":["覗き部屋"]},"context_0059":{"searched_tokens":["覗き部屋","FacilityCatalog.FACILITY_PATHS"]},"context_0060":{"searched_tokens":["覗き部屋","event_service.create_snapshot()","save_snapshot"]},"context_0061":{"searched_tokens":["地下牢"]},"context_0062":{"searched_tokens":["地下牢","FacilityCatalog.FACILITY_PATHS"]},"context_0063":{"searched_tokens":["地下牢","event_service.create_snapshot()","save_snapshot"]},"context_0064":{"searched_tokens":["マナ炉"]},"context_0065":{"searched_tokens":["マナ炉","FacilityCatalog.FACILITY_PATHS"]},"context_0066":{"searched_tokens":["マナ炉","event_service.create_snapshot()","save_snapshot"]},"context_0067":{"searched_tokens":["event"]},"context_0068":{"path":"scripts/events/event_definition.gd","sha256":{"text_ref":"text_0056"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0069":{"path":"scripts/ui/event_log_dialog.gd","sha256":{"text_ref":"text_0058"},"applicability":"current_checkout","scope":"Static search of this file only; no execution or acceptance."},"context_0070":{"searched_tokens":["overlay"]},"context_0071":{"searched_tokens":["history"]},"context_0072":{"searched_tokens":["story"]},"context_0073":{"searched_tokens":["voice"]},"context_0074":{"searched_tokens":["scene"]}}} diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json b/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json index 065dd75..481fcef 100644 --- a/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json +++ b/docs/plans/original-completion-2026-10-02/execution/p13-03/validation.json @@ -152,8 +152,9 @@ }, { "path": "autoload/simulation_runtime.gd", - "sha256": "d52a995ae715542bbc550f68d35889540658275d12e04ae0b21ac276f5843f39", - "applicability": "current_checkout", + "sha256": "4696df4a77feb465a5a3ba8b806569f7bcbe1d03c88289acfb78a3928f307d67", + "applicability": "main_git_blob", + "commit": "57131ec616ba06a71d3d97eaea738f209f965349", "scope": "Bounded static observation; no executed connection/content acceptance." }, { @@ -380,8 +381,9 @@ }, { "path": "scenes/main/main.gd", - "sha256": "a3d7d7ddd08a8df1f987806e60accf51792d728cf71c06e6b822f5a31d8ed3e3", - "applicability": "current_checkout", + "sha256": "92677e4ac57ed8d418a4a716bf0874cbbaea79cff893e5163c82ad1f75e7140a", + "applicability": "main_git_blob", + "commit": "57131ec616ba06a71d3d97eaea738f209f965349", "scope": "Bounded static observation; no executed connection/content acceptance." }, { @@ -434,28 +436,24 @@ } ], "output_pins": { - "docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json": "b7edd7fc8f5fa5602edc540a3eb8c4150b0268e7551c97a5c5ccc725ea5bb341", - "docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md": "e5964c169bae48a7ae937d8b6a5103ebc34f5f0860b69b18b0755d6f3b2a480a", - "tools/check_p13_content_difference.py": "bf09c77441e821779a381b34b7ab97f754b38b7bc0f778b27c6fb2ebe29a75aa" + "docs/plans/original-completion-2026-10-02/execution/p13-03/difference-ledger.json": "d9aa4725e191d9cef194b01695fe18c6c6ecdc5140c7dc0e72d9409dc1606630", + "docs/plans/original-completion-2026-10-02/execution/p13-03/DIFFERENCE_LEDGER.md": "1217a2356432cbf833e0baab443ee48a39776a3747e965e4fc3f914066959dcd", + "tools/check_p13_content_difference.py": "7b29180c776218138bfe1bf23013102932d853481cff41e7d830f1f5cf5c4d26" }, - "status": "blocked", - "formal_tests": "not_run", - "formal_claude_review": "not_run", - "worker_local_checks": { - "python3_B_integrity_and_mandatory_negatives": "pass", - "ast_parse": "pass", - "registered_argv": "blocked: python executable is unavailable in this worker environment", - "git_diff_check": "pass", - "acceptance": "not_claimed" - }, - "command": "python -B tools/check_p13_content_difference.py --verify-only", + "status": "ready_for_external_validation", + "formal_tests": "external_runner_required", + "formal_claude_review": "external_independent_review_required", + "worker_history": [ + "Earlier invocation failed because a literal python alias was unavailable; historical failure is not current readiness or formal acceptance." + ], + "command": "{python} -B tools/check_p13_content_difference.py --verify-only", "purpose": "Verify record integrity and negative rejection only; not content acceptance.", - "source_applicability": "Exact IDs, source SHA256 and scopes are in difference-ledger.json. Work package frozen base Git blob and current checkout are separately identified.", + "source_applicability": "Exact IDs, source SHA256 and scopes are in difference-ledger.json. Work package base_git_blob, two main_git_blob sources and other current_checkout sources are separately identified.", "required_before_integration": [ "Runner p13-difference pass", "separate formal Claude review pass" ], - "worker_tests_run": true, + "record_readiness": "Canonical records prepared; formal validation and review are external.", "test_applicability": { "runtime": "Not applicable to records-only changes; no game or platform acceptance.", "native": "Not applicable to records-only changes; no game or platform acceptance.", diff --git a/tools/check_p13_content_difference.py b/tools/check_p13_content_difference.py index de1db97..9fdcd30 100644 --- a/tools/check_p13_content_difference.py +++ b/tools/check_p13_content_difference.py @@ -12,6 +12,7 @@ from pathlib import Path import re import subprocess import sys +from unittest.mock import patch ROOT = Path(__file__).resolve().parents[1] OUT = 'docs/plans/original-completion-2026-10-02/execution/p13-03/' @@ -20,6 +21,8 @@ MAPPING = 'docs/plans/original-completion-2026-09-29/execution/original_facility SLOTS = PLAN + 'asset_inventory_reaudit/facility_usage_slots.json' SPEC = 'docs/spec/acceptance/P13-03.json' BASE = 'e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1' +MAIN = '57131ec616ba06a71d3d97eaea738f209f965349' +TARGET_PATHS = ('autoload/simulation_runtime.gd', 'scenes/main/main.gd') SPEC_RAW = '917cf1504bbfc700e0da42b2db496b42486fe3c36c680f301f58cf34c95267b6' SPEC_RUNNER = 'e1255835c1227e02bac42eb99b026b0fcbe69c272f9ed0b36199a2daf8d55c53' VIEWS = ('normal_entry', 'runtime', 'event_state', 'save', 'test') @@ -33,12 +36,10 @@ CATEGORIES = { } INTEGRATION_NOTES = [ - 'Read-only integration audit: contract base e1a1651e15bbc9a0526ef31d0b2786feb20d8cd1 versus main 57131ec. This is a future refresh instruction, not a relabeling of any recorded source/game/asset hash.', - 'autoload/simulation_runtime.gd adds preview_build_facility and extracts _build_facility_precheck shared by preview and execution. scenes/main/world_preview.gd routes previews through Runtime with a fallback and adds demolition mode. scenes/main/main.gd adds demolition confirmation/command handling, preview error messages and stricter interface-selection version checks.', - 'At normal integration Root must refresh normal_entry observations for original_facility_13, original_facility_14, original_facility_15, original_facility_16, original_facility_24, original_facility_25 and original_facility_26 against the integrated main.gd and preview path; refresh runtime observations against the integrated Runtime. Refresh event_state and save search evidence too because their Runtime source hash changes, even though these changed hunks do not establish dedicated original facility events or save round-trips. Recheck mapping/catalog/definitions without promoting missing identities or black_market eligibility.', - 'The selected test sources in this ledger, facility catalog, event service and save service are unchanged between these commits. Added tests/transport/test_runtime_build_preview.gd and tests/ui/test_p08_normal_placement_ops.gd concern generic preview/placement/demolition; tests/ui/test_selection_departure.gd and tests/ui/fixtures/selection_cross_process.gd concern selection restoration. Root should assess their bounded relevance when refreshing each facility test observation; none accepts original content. Guest observation selection changes and P08 migration fixtures likewise provide no original facility content acceptance.', - 'Minimal handling: retain this base-version evidence, explicitly re-search changed integrated source paths and rebuild affected technical observations, source pins and output receipt as a reviewed integration refresh; retain all unknown/unverified content states and the 30/88 denominator. Do not merely replace old hashes or claim old tests ran against new code. No rebase, overwrite or Git write is performed here.', - 'If P13 integrates first, P23 9a full tools map gains tools/check_p13_content_difference.py. P23 proof remains bound to its own version and requires future final source verification; this audit does not extend that proof.', + 'The two target sources are immutable main Git blobs at ' + MAIN + '. Matches are re-searched from those bytes with main_git_blob provenance.', + 'Read-only Git ancestry determines applicability: descendant HEAD requires working files equal to main blobs; non-descendant HEAD requires base blobs. Git errors reject. Report flags cannot select a mode.', + 'Other current-checkout checks remain strict; work packages remain frozen at the contract base. All unknown/unverified states and 30/88 accounting remain unchanged.', + 'Formal Runner validation and separate independent review remain external requirements; static observations confer no content completion credit.', ] @@ -67,27 +68,59 @@ def load(path): return json.loads(raw(path), object_pairs_hook=unique) +def git_blob(commit, path): + return subprocess.check_output(['git', 'show', commit + ':' + path], cwd=ROOT) + + +def main_is_ancestor(): + result = subprocess.run(['git', 'merge-base', '--is-ancestor', MAIN, 'HEAD'], + cwd=ROOT, capture_output=True) + if result.returncode not in (0, 1): + raise ValueError('Git ancestry check failed: ' + result.stderr.decode(errors='replace')) + return result.returncode == 0 + + +def check_target_sources(): + commit = MAIN if main_is_ancestor() else BASE + for path in TARGET_PATHS: + if raw(path) != git_blob(commit, path): + raise ValueError('stale working source: ' + path) + + +def source_bytes(path): + return git_blob(MAIN, path) if path in TARGET_PATHS else raw(path) + + +def provenance(path): + record = {'path': path, 'sha256': sha(source_bytes(path)), + 'applicability': 'main_git_blob' if path in TARGET_PATHS else 'current_checkout'} + if path in TARGET_PATHS: + record['commit'] = MAIN + return record + + def observation(paths, tokens, note): """Exact token matches are search observations, never accepted links.""" evidence = [] for path in paths: - lines = raw(path).decode('utf-8').splitlines() + lines = source_bytes(path).decode('utf-8').splitlines() matches = [{'line': i + 1, 'text': line} for i, line in enumerate(lines) if any(token in line for token in tokens)] - evidence.append({'path': path, 'sha256': sha(raw(path)), + evidence.append({**provenance(path), 'searched_tokens': tokens, 'matches': matches, 'scope': 'Static search of this file only; no execution or acceptance.'}) return {'status': 'unverified', 'accepted': False, 'note': note, 'evidence': evidence} def expected(): + check_target_sources() if sha(raw(SPEC)) != SPEC_RAW or sha(raw(SPEC).decode().strip().encode()) != SPEC_RUNNER: raise ValueError('specification hash mismatch') spec = load(SPEC) sources = [] for path, pin in spec['source_pins'].items(): if path == PLAN + 'work_packages.json': - frozen = subprocess.check_output(['git', 'show', BASE + ':' + path], cwd=ROOT) + frozen = git_blob(BASE, path) if sha(frozen) != pin: raise ValueError('frozen work package pin mismatch') sources.append({'path': path, 'sha256': pin, 'applicability': 'base_git_blob', 'commit': BASE}) @@ -139,7 +172,7 @@ def expected(): 'normal_entry': observation([entry, catalog], tokens, 'adult_private_room is in the UI list and baseline catalog; black_market is expansion-only. No other original identity match. Static eligibility only; actual construction is unverified.'), 'runtime': observation([runtime, catalog] + matching, tokens + ['FacilityCatalog.FACILITY_PATHS'], - 'Runtime loads baseline/infrastructure/rescue/original paths, not expansion paths at this load site. Generic services do not prove original special behavior.'), + 'Runtime loads ORIGINAL_FACILITY_PATHS, including some files under the expansion directory. It does not load EXPANSION_FACILITY_PATHS or black_market. Generic services do not prove original special behavior.'), 'event_state': observation([runtime, event], tokens, 'No facility-specific transition established by this search. Generic EventService is not a dedicated content catalog.'), 'save': observation([runtime, save], tokens + ['event_service.create_snapshot()', 'save_snapshot'], @@ -171,7 +204,7 @@ def expected(): additional = sorted(set(search_paths + [entry, runtime, event, save, test, 'tests/s2/test_facility_service.gd', 'tests/s4/test_runtime_relationship_events.gd', 'scripts/events/event_definition.gd', 'scripts/ui/event_log_dialog.gd'])) - sources += [{'path': p, 'sha256': sha(raw(p)), 'applicability': 'current_checkout', + sources += [{**provenance(p), 'scope': 'Bounded static observation; no executed connection/content acceptance.'} for p in additional] return {'schema_version': 1, 'task_id': 'P13-03', 'acceptance_ids': ['P13-03'], 'requirement_ids': spec['package_requirement_ids'], 'validation_ids': ['p13-difference'], @@ -231,7 +264,7 @@ def compact(document): if signature not in evidence_ids: identity = 'evidence_%04d' % (len(evidence) + 1) evidence_ids[signature] = identity - provenance = {k: record[k] for k in ('path', 'sha256', 'scope')} + provenance = {k: v for k, v in record.items() if k not in ('searched_tokens', 'matches')} evidence[identity] = { 'source_ref': context(provenance), 'search_ref': context({'searched_tokens': record['searched_tokens']}), @@ -270,9 +303,11 @@ def expand(document): return visit(document) -def negative_checks(canonical): +def negative_checks(canonical, ledger_path=OUT + "difference-ledger.json"): cases = {} mutations = { + 'tampered_ancestry_flag': lambda d: d.update(main_is_ancestor=False), + 'tampered_report_flag': lambda d: d.update(source_mode='legacy_fallback'), 'facility_omission': lambda d: d['facilities'].pop(), 'slot_omission': lambda d: d['facilities'][0]['media_usage_slots'].pop(), 'stale_pin': lambda d: d['sources'][0].update(sha256='0' * 64), @@ -301,27 +336,91 @@ def negative_checks(canonical): cases[name] = 'rejected' else: raise ValueError('negative case was accepted: ' + name) + # Inject source bytes and Git results only in memory; no product/Git writes. + real_raw, real_blob = raw, git_blob + snapshots = {(commit, path): real_blob(commit, path) + for commit in (BASE, MAIN) for path in TARGET_PATHS} + + def rejected(name, operation): + try: + operation() + except (ValueError, OSError, subprocess.CalledProcessError): + cases[name] = 'rejected' + else: + raise ValueError('negative case was accepted: ' + name) + + for descendant in (False, True): + commit = MAIN if descendant else BASE + label = 'merged' if descendant else 'frozen' + def working(path): + return snapshots[commit, path] if path in TARGET_PATHS else real_raw(path) + with patch(__name__ + '.main_is_ancestor', return_value=descendant): + with patch(__name__ + '.raw', side_effect=working): + verify(compact(expected()), canonical) + for target in TARGET_PATHS: + def corrupt(path): + data = working(path) + return data + b'\n# corrupted source' if path == target else data + with patch(__name__ + '.raw', side_effect=corrupt): + rejected(label + '_stale_' + target, expected) + other = BASE if descendant else MAIN + def wrong_version(path): + return snapshots[other, path] if path in TARGET_PATHS else real_raw(path) + with patch(__name__ + '.raw', side_effect=wrong_version): + rejected(label + '_wrong_snapshot', expected) + def corrupt_blob(version, path): + data = real_blob(version, path) + return data + b'\n# corrupted blob' if version == MAIN else data + with patch(__name__ + '.raw', side_effect=working), patch(__name__ + '.git_blob', side_effect=corrupt_blob): + rejected(label + '_corrupt_git_blob', lambda: verify(compact(expected()), canonical)) + for result in (subprocess.CompletedProcess([], 2, b'', b'Git failure'), + subprocess.CompletedProcess([], -1, b'', b'interrupted')): + with patch.object(subprocess, 'run', return_value=result): + rejected('ancestry_git_error_' + str(result.returncode), expected) + with patch.object(subprocess, 'run', side_effect=OSError('Git unavailable')): + rejected('ancestry_git_unavailable', expected) + with patch(__name__ + '.git_blob', side_effect=subprocess.CalledProcessError(128, ['git', 'show'])): + rejected('blob_git_error', expected) + + # Exercise the same read-only alternate input path used by the CLI. + alternate = OUT + 'in_memory_candidate.json' + ledger_bytes = real_raw(ledger_path) + def alternate_raw(path): + if path == alternate: + return ledger_bytes + if path == OUT + 'difference-ledger.json': + raise ValueError('default ledger must not be read for alternate input') + return real_raw(path) + with patch(__name__ + '.raw', side_effect=alternate_raw): + verify_records(alternate, canonical) + cases['alternate_ledger_valid'] = 'verified_read_only' + with patch(__name__ + '.raw', side_effect=lambda path: b'{}' if path == alternate else real_raw(path)): + rejected('alternate_ledger_corrupt', lambda: verify_records(alternate, canonical)) return cases +def verify_records(ledger_path, canonical): + verify(load(ledger_path), canonical) + if load(OUT + 'validation.json') != receipt_expected(ledger_path): + raise ValueError('receipt mismatch or false formal acceptance') + if raw(OUT + 'DIFFERENCE_LEDGER.md').decode() != readable(expand(canonical)): + raise ValueError('readable ledger differs from machine ledger') + + def main(): parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument('--ledger', default=OUT + 'difference-ledger.json') + parser.add_argument('--ledger', default=OUT + 'difference-ledger.json', + help='Read-only checkout-relative alternate ledger; must match canonical records and the registered receipt hash. No output is written.') parser.add_argument('--negative-checks', action='store_true') parser.add_argument('--verify-only', action='store_true', help='Read-only verification; negative checks are always mandatory.') args = parser.parse_args() try: canonical = compact(expected()) - verify(load(args.ledger), canonical) - receipt = load(OUT + 'validation.json') - if receipt != receipt_expected(): - raise ValueError('receipt mismatch or false formal acceptance') - if raw(OUT + 'DIFFERENCE_LEDGER.md').decode() != readable(expand(canonical)): - raise ValueError('readable ledger differs from machine ledger') + verify_records(args.ledger, canonical) result = {'record_integrity': 'pass', 'content_acceptance': 'not_claimed', 'formal_review': 'external_runner_required'} - result['negative_checks'] = negative_checks(canonical) + result['negative_checks'] = negative_checks(canonical, args.ledger) print(json.dumps(result, ensure_ascii=False)) return 0 except (ValueError, OSError, KeyError, TypeError, subprocess.CalledProcessError) as error: @@ -329,28 +428,25 @@ def main(): return 1 -def receipt_expected(): - ledger = expand(load(OUT + 'difference-ledger.json')) +def receipt_expected(ledger_path=OUT + 'difference-ledger.json'): + ledger = expand(load(ledger_path)) return {'task_id': 'P13-03', 'acceptance_ids': ['P13-03'], 'validation_ids': ['p13-difference'], 'requirement_ids': ledger['requirement_ids'], 'facility_ids': [f['original_id'] for f in ledger['facilities']], 'slot_ids': [s['slot_id'] for f in ledger['facilities'] for s in f['media_usage_slots']], 'difference_ids': [n['difference_id'] for n in ledger['nonfacility_differences']], 'source_applicability_records': ledger['sources'], - 'output_pins': {p: sha(raw(p)) for p in [OUT + 'difference-ledger.json', + 'output_pins': {p: sha(raw(ledger_path if p == OUT + 'difference-ledger.json' else p)) for p in [OUT + 'difference-ledger.json', OUT + 'DIFFERENCE_LEDGER.md', 'tools/check_p13_content_difference.py']}, - 'status': 'blocked', 'formal_tests': 'not_run', 'formal_claude_review': 'not_run', - 'worker_local_checks': { - 'python3_B_integrity_and_mandatory_negatives': 'pass', - 'ast_parse': 'pass', - 'registered_argv': 'blocked: python executable is unavailable in this worker environment', - 'git_diff_check': 'pass', - 'acceptance': 'not_claimed'}, - 'command': 'python -B tools/check_p13_content_difference.py --verify-only', + 'status': 'ready_for_external_validation', + 'formal_tests': 'external_runner_required', + 'formal_claude_review': 'external_independent_review_required', + 'worker_history': ['Earlier invocation failed because a literal python alias was unavailable; historical failure is not current readiness or formal acceptance.'], + 'command': '{python} -B tools/check_p13_content_difference.py --verify-only', 'purpose': 'Verify record integrity and negative rejection only; not content acceptance.', - 'source_applicability': 'Exact IDs, source SHA256 and scopes are in difference-ledger.json. Work package frozen base Git blob and current checkout are separately identified.', + 'source_applicability': 'Exact IDs, source SHA256 and scopes are in difference-ledger.json. Work package base_git_blob, two main_git_blob sources and other current_checkout sources are separately identified.', 'required_before_integration': ['Runner p13-difference pass', 'separate formal Claude review pass'], - 'worker_tests_run': True, + 'record_readiness': 'Canonical records prepared; formal validation and review are external.', 'test_applicability': {name: 'Not applicable to records-only changes; no game or platform acceptance.' for name in ['runtime', 'native', 'Windows', 'engine', 'full_game_regression']}}