P08-02: 旧配置の安全な変更
This commit is contained in:
@@ -3668,6 +3668,17 @@
|
||||
"text": "\tprint(\"TOMARI_FLOOR_TROUBLE checks=%d failures=%d\" % [checks,failures])"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"test": "tests/s1/test_p08_combined_migration.gd",
|
||||
"template": "P08 combined migration: <checks> checks, <failures> failures",
|
||||
"required": true,
|
||||
"fixed_check_count_used": false,
|
||||
"source_sha256_at_schema_audit": "9284a8cfb478b4c8d69f6d8166eec6c41107e3902029289b3c0e9ba48c370855",
|
||||
"authority": {
|
||||
"path": "docs/spec/acceptance/P08-02.json",
|
||||
"scope": "new standalone mixed suite; native execution pending"
|
||||
}
|
||||
}
|
||||
],
|
||||
"unknown_roster_suite_policy": "refuse, explicitly review its source/schema before accepting",
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# 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.
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user