Specify original P08-03 acceptance and resume retained UI transport repair
This commit is contained in:
@@ -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."
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user