mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-15 02:36:12 -04:00
BillingCache reads and writes are now bounded by a timeout seam: a wedged DataStore file lock made the debug-log header hang, and a silent fallback to the default snapshot would have reported "never bought" for an install whose evidence merely could not be read. Reads now fail loudly, writes fail soft. UpgradeDiagnosticsGplay absorbs the pro-state history that the recorder header used to read directly, with a separate failure boundary per source so one broken DataStore cannot suppress the other's evidence. RecorderModule's start-failure guard now covers ordinary exceptions, not just cancellation, stops the uncommitted recorder under NonCancellable and appears once instead of per resume branch.