From 1e8d4ea88876865a72547ff0edf43ed5b0e74c7e Mon Sep 17 00:00:00 2001 From: Takeshi Date: Sat, 17 Oct 2026 16:38:25 +0900 Subject: [PATCH] docs: register original P13 target-reference implementation scope --- .../ACTUAL_OPUS_INDEPENDENT_SELECTION.json | 7 ++ .../execution/p13-02/CODE1_TASK_SPEC.json | 65 +++++++++++++++++++ .../plan_validation.json | 2 +- .../work_packages.json | 18 ++++- 4 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 docs/plans/original-completion-2026-10-02/execution/p13-02/ACTUAL_OPUS_INDEPENDENT_SELECTION.json create mode 100644 docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-02/ACTUAL_OPUS_INDEPENDENT_SELECTION.json b/docs/plans/original-completion-2026-10-02/execution/p13-02/ACTUAL_OPUS_INDEPENDENT_SELECTION.json new file mode 100644 index 0000000..71d3c43 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p13-02/ACTUAL_OPUS_INDEPENDENT_SELECTION.json @@ -0,0 +1,7 @@ +{ + "action": "wait", + "task_id": "P04-01", + "reason": "P04-01: WAIT. Waiting for the owner's Japanese answers on D05 (a) power vs closure/dependency precedence, (b) destruction vs completion, (c) exit vs completion, (d) which day a 00:00 sale belongs to. Do not re-ask, do not request-repair (repair30), do not redo tests.\n\nINDEPENDENT NEXT ORIGINAL UNIT (new contract proposal; no matching project in the 20-project inventory, nothing started here): P13-02 「背面条件と対象参照」.\n- Work: 覗き部屋の対象背面、通路寸断、対象喪失と証拠IDを状態として実装する。\n- Acceptance (unchanged): 対象撤去、重複収集、停止、途中保存で状態と参照が整合する。\n- Package P13 acceptance also applies: special rules hold at build time and run time; invalid placement and actions on lost targets rejected; event state saved; implemented scope reported separately from unmade content.\n- Package deps: P09, P12 (both incomplete; bounded progress is allowed, not unit closure). Decisions D04/D05/D08.\n- Original sources: B-2.5 (built behind VIPルーム/風俗個室/脱衣所 on back layer; its cells are no longer usable as back corridor; 記録係 collects 脅迫ネタ); B-8.3 (VIP/浴場/風俗の裏限定・裏通路を寸断); B-10.6 (覗き部屋 2x1, back-only).\n\nSOURCE GAP (main 2f3884b): no peeping/覗き code, data or tests in scripts/autoload/data/resources/tests/tools.\n- FacilityCatalog (scripts/data/facility_catalog.gd) has no peeping_room.\n- No recorder role; no back-side target reference; no evidence-ID ledger; no target-loss state.\n- Existing targets: public_bath, adult_private_room. VIP suite is undefined (P10-01); vip_private_salon must not substitute.\n- Rejected alternatives:\n - P07-01: weather_timeline has no rain/fog effects or natural generation (D04 values).\n - P12-01: security_station only checks the guard role (simulation_runtime.gd:6631); guard effects need D04 values.\n - P15-02: cleric witness/morale rule needs an undecided definition of \"witness\" plus a D04 magnitude.\n - P16: wages/severance/sale amounts are D04.\n\nMECHANISMS POSSIBLE WITH APPROVED INPUTS vs PENDING:\n- Possible:\n - placement check: room cells must lie entirely behind a single allowed, completed target's FRONT footprint on the BACK layer;\n - corridor blocking as an occupancy rule with no automatic bypass;\n - stable target reference;\n - target removal sets TARGET_LOST; no automatic recovery, explicit relink only (D03 pattern / kitchen relink);\n - idempotent evidence IDs keyed by (room, target, source_event_key);\n - no collection while stopped (NO_POWER/closed/under construction);\n - versioned save section with legacy-absent migration and atomic rejection of malformed data.\n- Pending (record, do not invent):\n - build cost/materials/build_minutes/upkeep (D04); FacilityDefinition requires them, so no normal palette registration;\n - recorder role and staffing, collection trigger/rate (D04/D08/P16);\n - VIP suite target (P10-01);\n - D05 ordering;\n - blackmail use and camera UI (P19/P24).\n\nBRIEF: Add a separate PeepingRoomService connected from the Runtime; no rewrite of the whole runtime.\n- Reuse world_service.cells_for_footprint/validate_occupancy/occupy and construction_service.validate_placement.\n- Copy the weather snapshot-version pattern (simulation_runtime.gd:29/520/663/1248).\n- Hook facility removal so the target is marked lost.\n- Add commands for placement validation, explicit relink and evidence recording.\n- No product values, no content, no Clock/P04 change.\n\nALLOWED PATHS:\n- scripts/special/peeping_room_service.gd (new)\n- autoload/simulation_runtime.gd (bounded connection: save section, removal hook, commands)\n- scripts/core/save_service.gd (only if needed)\n- tests/special/test_peeping_room_*.gd\n- docs/plans/original-completion-2026-10-02/execution/p13-02/**\n\nLOCAL TESTS:\n- Valid public_bath and adult_private_room backs.\n- Rejections: front layer, partial overlap, non-target, incomplete target, VIP pending.\n- Corridor cell conflict and path disconnect.\n- Target demolition leads to TARGET_LOST; rebuilt target does not auto-relink; explicit relink works.\n- Duplicate event key yields a single evidence ID.\n- Stopped room rejects collection.\n- Save/restore round-trip, legacy save without the section, malformed restore leaves state unchanged.\n- Existing suites: construction/world/path, tests/supply/test_supply_save_migration.gd, tests/transport/test_transport_save.gd, tests/environment/test_runtime_weather.gd.\n\nREUSE / FULL REVIEW:\n- No completed P18/P23 rerun.\n- Full regression only on the exact final version, then a separate Claude review and normal integration.\n- No partial credit (formal 14/88 and original 30/88 unchanged); do not claim P13 or the backend complete.\n\nOwner must register the new task contract before any run.", + "codex_model": "gpt-6.1-sol", + "codex_model_reason": "P04-01 itself stays in wait, so no worker runs for it. For the proposed P13-02 batch: one new state service plus a bounded runtime connection. It follows existing patterns (weather snapshot versioning, kitchen explicit relink, world occupancy), uses no numeric balancing and no native code. Sol is sufficient on quality, time and usage. Switch to Astra only if review finds the runtime save-version change crosses many existing save paths." +} diff --git a/docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json b/docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json new file mode 100644 index 0000000..8d8acc7 --- /dev/null +++ b/docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json @@ -0,0 +1,65 @@ +{ + "id": "P13-02-CODE1", + "parent_original_delivery_unit": "P13-02", + "parent_work": "覗き部屋の対象背面、通路寸断、対象喪失と証拠IDを状態として実装する。", + "parent_acceptance": "対象撤去、重複収集、停止、途中保存で状態と参照が整合する。", + "original_denominator": { + "packages": 30, + "units": 88, + "formal_complete_at_registration": 14, + "partial_credit": false + }, + "whole_parent_acceptance": false, + "scope": "Non-graphic state/reference/occupancy/save machinery connected to real Runtime; no sexual depiction, camera content or blackmail action; this registered batch is not the whole original unit.", + "authority": [ + { + "ref": "BASELINE:52-53", + "text": "Target FRONT VIP room/private room/changing area BACK; occupied room cells cannot be back corridor; recorder collects evidence." + }, + { + "ref": "BASELINE:167-174", + "text": "VIP suite/public bath/private room explicitly peeping-compatible; restricted behind these target types and cuts back corridor." + }, + { + "ref": "BASELINE:199-209", + "text": "Peeping room 2x1 BACK. Current public_bath/adult_private_room target definitions exist; missing VIP suite must remain missing, vip_private_salon is not a substitute." + } + ], + "implementation_requirements": [ + "Introduce separate PeepingRoomService, bounded real Runtime wiring; no whole runtime rewrite.", + "Validate 2x1 BACK footprint entirely behind one allowed completed FRONT target, integrate existing construction/world occupancy rules; reject wrong layer, partial/multi-target overlap, unknown/missing/incomplete target and corridor conflicts.", + "Stable room/target identity with target removal/loss detection; reconstructed different target is not silently the old identity; explicit validated relink only, preserving stopped/no-auto-resume rules.", + "Idempotent evidence IDs bound to stable room/target/source event key; replay cannot duplicate or alias another target. Opaque state records only.", + "Collection rejects stopped/no-power/closed/under-construction/lost-target cases; do not create undefined natural trigger/rate/staffing eligibility.", + "Versioned Runtime snapshot section; genuinely legacy absent section migrates empty; current-schema missing/malformed/unknown/wrong-reference/duplicate data reject atomically with original whole Runtime untouched. Preserve all existing schema migrations and pending references.", + "No free production placement, bypassed build costs or arbitrary content-event injection exposed through new commands. Unknown build/upkeep/staff/collection values remain unset and unavailable; backend tests may use clearly labeled controlled fixtures. Normal palette registration and naturally collected production evidence are pending. Define command preconditions precisely; construction costs/definition and recorder eligibility cannot be silently invented.", + "Reuse existing guarded native harness logic for a strict narrow runner and add new test marker registrations without weakening prior marker/policy behavior. Do not rerun full regression during implementation." + ], + "required_local_coverage": [ + "public_bath and adult_private_room valid geometry; VIP unavailable not substituted", + "wrong FRONT, partial/multiple target footprint, incomplete/missing target; corridor/path occupancy conflict/disconnection", + "target demolition/loss, rebuild different identity, explicit relink; reject collection after removal", + "same event replay one evidence ID; different room/target keys distinct and stable", + "stopped/no-power/closed/under-construction collection rejection", + "roundtrip exact typed state; legacy absence; current missing/malformed version/references/duplicates atomic unchanged", + "Runtime command/removal/save integration; existing construction/world/path/supply-save/transport-save/weather migrations impact coverage" + ], + "pending_not_invented": [ + "D04 build/upkeep/build_minutes and related numbers", + "recorder role staffing and natural collection trigger/rate D04/D08/P16", + "VIP suite P10-01", + "D05 unresolved transaction rules; no tick-phase changes", + "P19 use of evidence and P24 camera UI", + "normal construction/operation/full parent acceptance, final whole review and applicable Windows conditions" + ], + "workflow": [ + "Actual Opus commander confirms registered run and model; Runner worker only edits allowed paths.", + "Worker static/local preparation only; Root owns serialized native collection in allocation build with private profile and guarded process/cleanup receipts.", + "Registered validation reads/verifies complete native evidence, exact current selected source and marker/policy/engine/input/environment binding. Zero exit alone is not acceptance.", + "Separate actual Opus review, final exact-version required regression and ordinary integration/final; any backend completion never adds parent original-unit credit." + ], + "model_proposal": { + "codex": "gpt-6.1-sol", + "selected_by_actual_opus_run": "e65d48f5a7294378a81bb58dea00c605" + } +} diff --git a/docs/plans/original-completion-2026-10-02/plan_validation.json b/docs/plans/original-completion-2026-10-02/plan_validation.json index 16b88c9..3658593 100644 --- a/docs/plans/original-completion-2026-10-02/plan_validation.json +++ b/docs/plans/original-completion-2026-10-02/plan_validation.json @@ -254,6 +254,6 @@ "validate_facility_value_contracts.py": "91640e2a76cd6cc9186f7b85c0bf379b24b6cac0d48962815235ee628e7ae43e", "validate_plan.py": "23678227d9b3c556f1bd903f4b5b3147c4a82ce5085e10055481026803451b80", "validator_update_checks.json": "f997d0f3de2cea29550840b1d5cb23647d64f81329de46758551e2b6c8fecc27", - "work_packages.json": "230baac8a8d9f33ab817fb2ab059a4feec6314ee09a5f8087cf149cb0560ad48" + "work_packages.json": "cd70846e0701396a3492cbab95aed9a3272cb108a08f9920b9c28e46c21e7361" } } diff --git a/docs/plans/original-completion-2026-10-02/work_packages.json b/docs/plans/original-completion-2026-10-02/work_packages.json index 0cb541c..966d393 100644 --- a/docs/plans/original-completion-2026-10-02/work_packages.json +++ b/docs/plans/original-completion-2026-10-02/work_packages.json @@ -8026,8 +8026,22 @@ "title": "背面条件と対象参照", "work": "覗き部屋の対象背面、通路寸断、対象喪失と証拠IDを状態として実装する。", "acceptance": "対象撤去、重複収集、停止、途中保存で状態と参照が整合する。", - "state": "planned", - "evidence": [] + "state": "in_progress", + "evidence": [ + { + "path": "docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json", + "sha256": "988d6e18a49372549863cd433432c2852c962fa64b138e490361c023e80249dc", + "scope": "Actual Opus-selected bounded implementation contract preparation; no tests or whole acceptance credit" + } + ], + "progress_summary": "実Opus e65d48f5がP04回答に依存しない実装対象として選定。現mainにない背面配置/対象喪失/証拠ID重複防止/保存機構をRuntimeへ接続するCODE1契約を準備。担当sol指定。未承認建設値・記録係/自然収集契機・VIP未定義・D05/カメラUI等は捏造せず残す。通常建設/自然営業/全原条件は未受入、正式14/88で加算0。", + "current_summary": "実Opus e65d48f5がP04回答に依存しない実装対象として選定。現mainにない背面配置/対象喪失/証拠ID重複防止/保存機構をRuntimeへ接続するCODE1契約を準備。担当sol指定。未承認建設値・記録係/自然収集契機・VIP未定義・D05/カメラUI等は捏造せず残す。通常建設/自然営業/全原条件は未受入、正式14/88で加算0。", + "updated_at_jst": "2026-10-17T16:38:25.025337+09:00", + "current_execution": "docs/plans/original-completion-2026-10-02/execution/p13-02/CODE1_TASK_SPEC.json", + "remaining_gaps": [ + "CODE1実装・必要な局所/影響検証・独立レビュー・通常統合finalは未実行。登録機構は元成果の全条件/通常Runtime/画面/保存受入を代替しない。", + "未承認建設/維持/収集数値・記録係条件、VIP施設、自然収集トリガ、D05取引規則、P19/P24接続と完成資産、原P13-02全条件の受入を残す。" + ] }, { "id": "P13-03",