Specify original P08-03 acceptance and resume retained UI transport repair

This commit is contained in:
Takeshi
2026-10-14 01:31:29 +09:00
parent fdae2084f7
commit 12430ba899
6 changed files with 167 additions and 0 deletions
@@ -0,0 +1,27 @@
{
"original_target": "P08-03",
"original_denominator": {
"packages": 30,
"units": 88,
"completed": 11
},
"UI_impl_worker_started": false,
"necessary_prerequisite": {
"task": "RP24-02",
"state": "implementing",
"preserved_submission": "7acd9a30f9500948dbdcd126afed41d5065ab1f7",
"repairs": 4,
"individual_cap": null,
"active_model": "gpt-6-astra",
"active_session": 92112,
"scope": [
"runner/core.py",
"tests/test_runner.py"
],
"actual_bug": "user_input acceptance fixed; real kernel shell-denial stdout and required init/user_input missing rejectedness need repair",
"counting_scope": "infrastructure task, no original game-unit completion credit"
},
"Claude_auth": "existing native subscription client automatically renewed; actual authenticated request success, no user login wait or API fallback",
"P08_03_next": "formal spec registration and Opus scope confirmation; real UI work after Agy transport guard accepted",
"current_game_sources_changed": false
}
@@ -0,0 +1,8 @@
{
"candidate": "7acd9a30f9500948dbdcd126afed41d5065ab1f7",
"actual_original_stream_replay_pass": true,
"recovered_original_ENOENT": 5,
"observed_shell_denial_rejected": false,
"required_before_live_ui": "registered verification and independent review; actual shell denial negative must be addressed",
"original_game_unit_completed": false
}
@@ -0,0 +1,27 @@
{
"candidate": "7acd9a30f9500948dbdcd126afed41d5065ab1f7",
"original_success_stream_sha256": "f7e5ad9fbaaf547816b83745d62b28bad893ac8ad0de324458d2ac4c6d6802c5",
"observed_failed_shell_stream_sha256": "b419333cc6630ad4c5a54d7299cd0d00aadf676e0ce4dadb1a96b79fe08fd875",
"exact_observed_shell_event": {
"event": "step_update",
"step_update": {
"conversation_id": "268b53f9-a8aa-428c-8c21-7d96b989a9ce",
"step_index": 2,
"state": "DONE",
"step_type": "tool",
"tool_name": "run_command",
"duration_seconds": 0.164541,
"tool_info": {
"name": "run_command",
"parameters": {
"CommandLine": "git status"
},
"output": "sandbox-exec: sandbox_apply: Operation not permitted\r\n"
}
}
},
"diagnostic_controlled_mutation": "insert exact observed shell event before SUCCESS; conversation id adjusted to valid init only",
"must_reject_permission_failure_but_rejected": false,
"actual_host_suite": "58 tests17.860s OK; insufficent actual-shell-denial coverage",
"original_unit_completion": false
}
@@ -0,0 +1,13 @@
{
"purpose": "Isolated registered self-test bootstrap from actual submitted RP24-02, no production adoption",
"current_owner_control": "/private/tmp/the-tree-p24-02-control-r02",
"isolated_control": "/private/tmp/the-tree-p08-rp24-trusted-selftest-control-r03",
"submitted_core_sha256": "d7b940c062b6d1864b606f9d0527271528576b3d4505cef722f167d130169f60",
"bootstrapped_exact_elements": [
"SELF_TEST_PINS",
"Runner.trusted_self_test"
],
"all_current_caps_review_material_tools_preserved": true,
"new_filesystem_rights": false,
"AGY_transport_not_yet_adopted": true
}
@@ -0,0 +1,10 @@
{
"spec": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/docs/spec/acceptance/P08-03.json",
"raw_sha256": "37a6a581b5a9bbe03c07a3a266b03df1f740ff488da33ecd9bd60f5b32f1efe1",
"state": "draft_ready_for_registration_Opus_confirmation",
"original_work_unchanged": true,
"original_acceptance_unchanged": true,
"new_worker_started": false,
"fixture_test_input_policy": "stable tests/fixtures input; no mutable Root handoff dependency",
"roles": "Antigravity UI whole bounded unit after provider transport acceptance; Opus commander/reviewer; Root real OS/native; Codex support per Opus model choice"
}
+82
View File
@@ -0,0 +1,82 @@
{
"id": "P08-03",
"title": "配置の通常操作受入",
"work": "通常パレットから支持・接続・不正位置・撤去・再建築を操作する。",
"acceptance": "拒否理由と実判定が一致し、パン・ズーム・保存再開後も同じ位置を扱う。",
"counting_scope": "One existing original delivery among30packages/88units. These facets are no new units; no partial credit. UI source, fixture and evidence are one bounded whole task.",
"original_authority": "docs/traceability/original/BASELINE.txt",
"approved_plan": "docs/plans/original-completion-2026-10-02/IMPLEMENTATION_PLAN.md",
"prior_completed": "P08-02 integrated at c675bed91d694a18abbddac85013eb5b443bdca1; use source/protocol, never inherit changed-source PASS without applicability",
"required_conditions": [
{
"id": "support_connection",
"text": "通常パレットで支持・接続の成立する正例と、支持・接続を満たさない拒否例を実操作し、同一セルの実判定を確認する。"
},
{
"id": "invalid_position_reason",
"text": "範囲外・重複等の不正位置を通常パレットで拒否し、表示理由と実判定コードが一致し、状態/予約/資源を部分適用しない。"
},
{
"id": "demolish_rebuild",
"text": "通常パレットから撤去を選択して既存Runtime撤去コマンドを使い、撤去完了後に同じ世界セルへ再建築する。拒否時の保全と取消も確認する。"
},
{
"id": "pan_zoom_world_identity",
"text": "既存の移動モード+Ctrlなしwheelと通常wheelズームを実OS操作し、変換後の画面座標で同じ世界セルを正しく扱う。画面ピクセルを固定するという意味へ置き換えない。"
},
{
"id": "separate_pid_resume",
"text": "正式保存から別PIDで再開し、保存時の対象セル/施設ID/占有/判定を保全し、通常UIから同じ位置を扱う。"
}
],
"initial_allowed_paths": [
"scenes/main/main.gd",
"scenes/main/world_preview.gd",
"tests/ui/test_p08_normal_placement_ops.gd",
"tests/ui/test_p08_normal_placement_ops.gd.uid",
"tests/fixtures/p08-03/**",
"tools/run_p08_normal_placement.py",
"tools/check_p08_normal_placement_evidence.py",
"tools/test_p08_normal_placement_evidence.py",
"docs/plans/original-completion-2026-10-02/execution/p08-03/**",
"docs/plans/original-completion-2026-10-02/execution/completion_marker_contracts.json",
"tools/regression/suite-policy.json"
],
"production_scope": "Add necessary normal-palette demolition entry/mode/selection/confirmation/cancel and result/status handling to existing Main/WorldPreview only. Use SimulationRuntime.submit_command demolish_facility and existing domain refusals. Do not duplicate demolition domain logic or mutate Runtime models directly. Reuse existing button styling and Kenney assets first if any image is needed; new art is not required merely for a functional entry.",
"initial_forbidden": [
"Runtime/service/construction data changes, numerical production values, original spec or denomination edits",
"Unmapped13, black market, VIP high-floor, exterior turret semantics chosen without approval",
"Claim P08-01/all30 accepted or P08 whole package complete",
"Use deferred Ctrl-wheel/left-drag as acceptance, or infer Windows from Mac",
"No credentials/Runner/policy/API/provider changes, commits, branches, push or external messages by worker",
"No Root player save mutation; no worker Godot/native/full regression; Root owns isolated native profiles"
],
"verification_outputs": [
"tests/ui/test_p08_normal_placement_ops.gd with one new strict marker entry only, existing entries retained",
"composable GDScript fixtures under tests/fixtures/p08-03, with matching stable UID files",
"Root driver tools/run_p08_normal_placement.py using existing execute_phase/profile guard/owned_outer; actual bounded PIDs and raw lifecycle, no source/profile mutation omitted",
"tools/check_p08_normal_placement_evidence.py --verify-only reads BUILD_OUTPUT_DIR/p08-normal-placement-evidence/index.json",
"tools/test_p08_normal_placement_evidence.py meaningful whole checker positive and semantic corruption negatives; fixture data lives under tests/fixtures/p08-03, not mutable Root handoff docs",
"CONDITION_MATRIX.md and implementation.json with final executed local-source/input SHA, honest current states"
],
"evidence_requirements": [
"Reachable positive and required rejection cases through actual production palette/UI, with a controlled fixture explicitly tagged as diagnostic setup, no claiming natural play. Existing registered definitions and costs may supply calculated diagnostic budgets, never new production constants.",
"Whole typed model states and formal save members plus real OS screenshots/input receipts, command/result codes, selected world cell and transformed viewport coordinates. Handler tests do not count as OS. Root observers read only and never invoke product handlers.",
"Native writer/reader distinct actual PID, engine version/hash and exact source/spec/input/config/environment. Correct same instance after save/resume; rebuilding may legitimately create a new ID according to existing Runtime.",
"Pan/zoom diagnostics selected from existing source bounds; clamp boundaries tested. Same world coordinates with transformed pixels, not unchanged pixels. Do not require persisted camera offsets that original never required.",
"Reject reason mismatch, world-cell drift, stale source or inputs, missing/fake OS provenance, partial demolition/orphan occupation, incorrect resume or omitted members. Recompute hashes/state, not all-boolean proof.",
"Static/local and impact checks first; freeze related changes before required final full regression. Reuse proof only with explicit actual source/input/settings/environment applicability. Root collects normal OS and native, separate Opus reviews all conditions, integration/current final verification and ledger required for completion.",
"Windows same-distribution/device remains explicitly open under global platform/release acceptance; no Mac substitution."
],
"worker_instructions": [
"Read original work/acceptance and Opus corrected direction. Declare exact edit/test scope briefly. Keep one implementation worker; no new providers/agents.",
"First inspect current original-matched, normally constructible definitions and choose diagnostic facilities for support/connection and rebuilding. Do not invent availability or claim all30.",
"Implement mandatory missing normal demolition action using existing Runtime API and response. Keep normal build/excavation/pan/selection/modal interaction coherent. Demonstrate necessary defect before proposing service fixes outside allowed_paths.",
"Implement finite fixtures/checker/docs as one related batch; no synthetic specimen depends on an operational ROOT_REPAIR_INPUT document. Keep all raw proof fields/events required for invariants.",
"Pure local Python syntax and meaningful checker tests only in worker. Do not run Godot or full regression; Root does guarded native after genuine submitted. Record final fixture SHA and actual tests, no earlier-version PASS.",
"If outside-scope defect appears, return concrete minimal proposal and failing evidence, preserve independent completed work; do not manufacture completion or arbitrary blocker.",
"Return genuine submitted with every pending native/OS/full/regression/review/integration condition stated. Required Root collection is not reason to refuse submission.",
"Use latest owner unlimited individual repair/inference/material policy; do not compress/omit source merely to fit obsolete500k. Keep no new billing or filesystem rights.",
"If the new UI suite uses existing ui_audio_fixture_cleanup helper, add only its new source-SHA-pinned ordinary cleanup policy to tools/regression/suite-policy.json. Retain all existing policies/labels and real owner cleanup proof; do not bypass audio/proof gates or edit run_all_tests.py."
]
}