5.0 KiB
P08-02 retained implementation condition matrix
Status: submitted for Root verification; original P08-02 acceptance remains pending.
Frozen spec: docs/spec/acceptance/P08-02.json, stripped UTF-8 SHA-256
19f02bb7912a4d7354e565186f02366fc1d4dd698468d26142e8204fd14ebfb0.
The raw file has a trailing newline. The six rows are facets of one existing unit, not six units.
All rows use tests/fixtures/p08-02/mixed_world.gd through writer.gd and
reader.gd, and the standalone tests/s1/test_p08_combined_migration.gd.
Driver phases are off-positive, off-refusal, on-positive, on-refusal,
each with -writer then -reader; import/parse precede them.
| Required condition | Retained fixture/test coverage | Driver phase | Checker rule (tools/check_p08_migration_evidence.py) |
Negative mutation (tools/test_p08_migration_evidence.py) |
Pending evidence |
|---|---|---|---|---|---|
| mixed_construction | setup: two paid old-size premium jobs plus completed dorm; run: progress/reservations and completion shape |
All four pairs; positive applies batch, refusal continues old shape | semantics checks active paid old-size jobs and completed dorm; case_gate permits only explicit typed geometry deltas and requires four-cell positive jobs |
partial_batch; unapproved typed changes are compared without dropping fields |
Native runtime/save and distinct-PID continuation; normal OS flow; Root final verification pending |
| occupancy_change | invariant: restore validation of ownership/support; migrated occupied/reserved cells captured in whole snapshots |
All four pairs | semantics: disjoint cells, exact construction/world ownership and operational facility cells; GEOMETRY finite allowlist |
orphan_occupancy |
Native added/released cells and support validation; OS model/formal records; Root review pending |
| actual_actor_positions | Mid-route walker, fractional credit, real staff/rescue/cargo and EV positions; no route changes approved | All four pairs, checkpoint and minutes 001–160 | typed_differences forbids actor/credit/route/money deltas; full typed and raw Variant writer/reader equality |
duplicate_actor, unequal_cross_pid |
Native actual positions/credit/routes and cross-PID equality; OS state captures; Root review pending |
| combined_rescue_logistics_ev | setup: actual in-flight rescue, purchased carried food with original requests, four EV boarded plus one waiting; run: patient treated, original cargo completed, each EV arrival once |
All four pairs and uncapped events | semantics: IDs, endpoints, reservations and EV actors; case_gate: final patient health, original cargo completion and exactly one arrival per original EV request |
lost_patient, lost_cargo, lost_ev |
Native coherent same-save mixed state and continuation; OS save/model attribution; Root review pending |
| no_overlap_orphan_loss | Whole typed snapshots/raw Variant files and uncapped events; runtime/cargo invariants | ON and OFF positive/refusal pairs | Ordered four-case roster, actual mode, distinct lifecycle PIDs, strict markers, all 162 labels compared, semantic ownership/reference checks | duplicate_actor, orphan_occupancy, unequal_cross_pid, missing_on, missing_phase, duplicate_pid, wrong_source, stale_source |
Native ON/OFF and separate writer/reader PIDs; normal-menu OS proof; final regression and Root verification pending |
| unsolvable_preservation | Real pre-existing migration backup, late maintenance obstruction at dorm, independently migratable first job; refusal rollback and unchanged live/formal/backup | off-refusal, on-refusal writer/reader |
Live equality; original equals refusal checkpoint; before/after member hash maps equal; raw four-member original/result/backup hashes bound | partial_batch, overwritten_original, overwritten_backup |
Native late refusal and separate-PID original continuation; OS cancel/changed-source preservation; Root review pending |
The standalone suite executes both roles in one process and does not establish distinct-PID proof.
Only the Root collector launches separate phases through existing execute_phase/owned-outer
and fresh guarded profiles. Exactly one public suite marker exists:
P08 combined migration: <checks> checks, <failures> failures.
The driver privately owns the writer/reader marker templates; no second public entry is added.
Local Python tests are synthetic checker fixtures, including synthetic lifecycle/OS/regression records; their success establishes checker reachability and rejection tests only. Native Godot/OS execution, normal production menu preview/cancel/confirm/changed-source rejection, final full regression, final submitted reviewer-packet measurement, applicable Windows coverage, independent Opus review, integration/current verification and ledger closure remain Root conditions. Controlled old-save setup must be labelled controlled, never natural production. Checker integrity success cannot close the original unit. No production defect or product fix was demonstrated by the authorized local checks; retained code and marker contract are reused.