Files
on_the_level/app
thejayman77 e5d15c920f Serialize app-scope writes via Main.immediate (Codex hardening note)
Non-blocking follow-up from the audit: applicationScope ran on
Dispatchers.Default, so two very fast conflicting persistence writes
(recalibrate then immediately Reset) had no ordering guarantee. Main.immediate
launches the coroutine body synchronously in call order, so the DataStore
edits enqueue deterministically; DataStore still does the IO on its own
dispatcher. Only lightweight persistence uses this scope.

64 tests passing; assembleDebug clean; runs on device.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 11:21:57 -04:00
..