WBML 0.5.0 — Safe Mutation Atlas
Final status: CLOSED PASS
Canonical probe: 0.5.0
Run: 00d01039f05e
Final matrix: 34 PASS / 0 FAIL / 0 SKIP, P–F PASS.
Research question
Section titled “Research question”Can WBML prove a narrow set of state mutations without turning “mutation atlas” into a dangerous mass-invoker?
Transaction methodology
Section titled “Transaction methodology”Only explicitly selected low-risk scalar members were eligible. Each transaction performed:
snapshot → one write → exact readback/delta → immediate restore → residual checkA property setter also needed a safe read getter and trivial setter IL shape (one stfld, no calls) or an equivalent explicit low-risk proof.
Canonical result
Section titled “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 0Domain coverage: ActorData 8, CityData 6, KingdomData 5.
Important boundary
Section titled “Important boundary”The 7,049 queued methods are not “safe mutation APIs”. Unknown set/add/remove/create/spawn/destroy/kill/save/load paths were intentionally not batch-invoked. Later lifecycle/disposable-world work decides how to research them.
Reporting artifact
Section titled “Reporting artifact”The canonical JSON’s timing_ms.export is 0 because the file must serialize timing before its own write is complete. The final Player.log observed 59 ms. This is a self-measurement limitation, not a result failure.
Machine data: /worldbox-modding-docs/data/wbml/0500-safe-mutation-atlas.json
Evidence: /worldbox-modding-docs/evidence/wbml-0500-result.txt