5.0 KiB
P08-03 condition matrix — implementation submission, not acceptance
Immutable specification: docs/spec/acceptance/P08-03.json, normalized SHA-256
7941da4edbd3c43a636a4a3d834d57c095b56da988fa3a056e55b22d3a5d50e9.
Base HEAD: 12430ba89970bda349781e51157e72e48a4ac06f. Worker made no commit.
This is one existing unit in 30 packages / 88 units, with no partial credit.
| Condition | Implemented paths / diagnostic cases | Current evidence state |
|---|---|---|
| support_connection | Normal palette: unsupported standard room; supported/connected reception; supported stair with missing landing; lower/upper stair construction. Real preview and Runtime command results are retained. | Source and synthetic checker controls only; real handler/native/OS pending. |
| invalid_position_reason | Reception footprint crosses the boundary from an in-bounds origin; existing reception overlap. Exact displayed Japanese reason and report codes; whole typed before/after preservation. | Source and semantic corruption controls only; actual refusals pending. |
| demolish_rebuild | Palette demolition toggle, cell selection, confirmation/cancel, Runtime demolish_facility, synchronous/queued results. Lower landing refusal, cancellation, reception removal, same-cell reconstruction. Occupancy, operational/construction instances, costs/refund checked. |
Implemented; Godot parsing, actual UI, audio ownership, Runtime results pending. |
| pan_zoom_world_identity | Move mode + non-Ctrl wheel; normal wheel zoom, 0.5/4.0 clamps; recomputed local/viewport/screen coordinates and actual selected cell. OS recorder requests CUA only. | Mock bridge/checker controls only; actual OS wheel/screenshot provenance pending. |
| separate_pid_resume | Formal four-member save; separate native writer/reader; normal load menu; whole typed/raw checkpoint identity, instance ID, cell and overlap judgement. | Collector/source prepared; real private profiles, actual distinct PIDs and formal saves pending. |
Original-matched diagnostic choices
BASELINE.txt §9.3 names reception/checkout in the lobby; current
data/facilities/reception.tres is FRONT 4×2, cost read directly from the
definition. §10.1 explicitly gives standard room 2×1 FRONT; current
standard_room.tres matches and is used for unsupported-placement rejection.
§8.4 names stairs; current infrastructure/guest_stairs.tres and
tests/transport/test_runtime_stairs.gd expose ordinary two-floor stair
construction and STAIR_LANDING_MISSING / STAIR_LANDING_IN_USE.
All three IDs are in Main's existing normal palette and Runtime registry.
These choices establish this diagnostic slice, never all30 acceptance.
The handler fixture computes any diagnostic resource top-up from the four planned positive construction definitions. It emits an initial formal save and a budget report explicitly tagged diagnostic. No production costs, services, balance values or definitions are changed. New art is unnecessary; the demolition button reuses Main's existing styling and audio.
Evidence boundary
placement.gd contains the shared finite scenario and handler endpoints.
passive_placement.gd overrides all input/setup/progression endpoints:
button, reveal, click, wheel, load_menu, complete_build, setup,
diagnostic_budget, save_initial_fixture, archive_formal. Its reachable
scenario neither calls product handlers nor emits their signals, advances
the clock, submits commands, resets Runtime or restores models. It reads
snapshots/reports and archives evidence. Root performs all OS gameplay.
Constructing/freeing the Main scene uses the existing ordinary cleanup helper.
The passive executable has a separate completion line. Only the handler UI suite adds one entry to the strict marker contract and one source-pinned ordinary cleanup policy. All previous marker/policy entries are retained. The native OS collector never routes its process through the headless gate.
Checker controls are synthetic, including fabricated engine, PID, typed-byte
stand-ins, screenshots and weak-reference records. A positive local test
validates the checker, not the game or OS. Controller tests replace Popen,
engine probes, profiles and owner gate with mocks and launch no engine.
See local-validation.json and implementation.json for the actual final
executed source/input hashes and results.
Still required from Root / independent review
Freeze a clean exact candidate; collect guarded native handler and real CUA OS writer/reader evidence; run verify-only against that candidate; perform impact checks and final full regression after related sources are frozen; obtain independent Opus review of all five conditions; integrate and verify the current final source, then update the authoritative ledger. No reused P08-02 PASS is claimed for changed sources. P08-01 and the whole P08 package remain open. Windows same-distribution/device evidence remains open; Mac/Linux results cannot substitute for it. No outside-scope service defect or required permission change has been demonstrated by this worker.