Docs: build hash grammar, theme rollback, reference-identity change detection, option-list boundary rule

This commit is contained in:
2026-06-12 21:53:42 +03:00
parent 5fe5aed50f
commit af9cc8a716
4 changed files with 48 additions and 12 deletions
+2 -1
View File
@@ -469,7 +469,8 @@ single transaction spanning many records across stores**. So a bulk operation li
the **service boundary** instead: write the new records to IndexedDB first, tracking what
succeeded, and only on full success commit to the Zustand stores. On any write failure
(typically `QuotaExceededError`) it **rolls back best-effort** — deletes the records written
so far (`Promise.allSettled`) and removes any datasets already added to the store — so the
so far (`Promise.allSettled`) and removes any datasets and custom themes already added to
their stores (their persistence subscribers propagate the removals to IDB) — so the
spec §08 "no partial import is committed" contract holds and the user gets an actionable
"storage full, delete and retry" message.