WBML 0.5.0 — Safe Mutation Atlas
Финальный статус: CLOSED PASS
Canonical probe: 0.5.0
Run: 00d01039f05e
Final matrix: 34 PASS / 0 FAIL / 0 SKIP, P–F PASS.
Вопрос исследования
Заголовок раздела «Вопрос исследования»Можно ли доказать узкий набор state mutations, не превращая «mutation atlas» в опасный mass-invoker?
Transaction methodology
Заголовок раздела «Transaction methodology»Eligible только explicitly selected low-risk scalar members. Каждая transaction:
snapshot → one write → exact readback/delta → immediate restore → residual checkProperty setter дополнительно требовал safe getter и trivial setter IL (one stfld, no calls) либо эквивалентный explicit low-risk proof.
Canonical result
Заголовок раздела «Canonical result»mutation methods 5,943destructive methods 729lifecycle methods 377setter methods 299research queue 7,049records 19attempted 19VERIFIED-REVERSIBLE 19OBSERVED-THREW 0restore failed 0unexpected collateral 0residual mutation 0unsafe auto-invoked 0engine exceptions 0Coverage: ActorData 8, CityData 6, KingdomData 5.
Важная граница
Заголовок раздела «Важная граница»7,049 queued methods — не «safe mutation API». Unknown set/add/remove/create/spawn/destroy/kill/save/load намеренно не batch-invoke. Их исследуют lifecycle/disposable-world этапы.
Reporting artifact
Заголовок раздела «Reporting artifact»В canonical JSON timing_ms.export=0, потому что timing собственного export сериализуется до завершения write. Final Player.log наблюдал 59 ms. Это self-measurement limitation, а не failure.
Machine data: /worldbox-modding-docs/data/wbml/0500-safe-mutation-atlas.json
Evidence: /worldbox-modding-docs/evidence/wbml-0500-result.txt