M31V cached articles enthusiastically, then removed the service worker when it could not explain freshness, coverage, updates, or recovery to readers.
#offline
X8B6 replaced version numbers and overwrite buttons with explanations of the local action, confirmed state, and intervening change.
X8B6’s server committed an inventory adjustment after the browser stopped waiting, turning a familiar error state into outcome unknown.
A deterministic timestamp merge made X8B6 converge by silently erasing one legitimate inventory action, proving that conflict resolution needed domain verbs.
X8B6’s browser database could contain the only copy of an inventory action, so a schema upgrade had to behave like a deployment rather than a disposable cache reset.
X8B6 stopped treating an editable inventory row as the truth and began preserving immutable actions from which local and shared projections could be explained.
X8B6 could retain a form in the browser and still lose the meaning of an unconfirmed inventory change, forcing offline work to become a protocol.