S00-005: Select idb and verify transactional storage failure policies

Changes: Propose ADR 0004 comparing native IndexedDB, idb and Dexie; select idb 8.0.4 with account, transaction, quota, upgrade and key ownership policy. Repair rollback and add injected quota/blocked upgrade checks, exact wrapper lock, runtime guard, license texts and reproduction notes. Preserve historical recovery artifacts.
Validation: Fresh-cache npm ci and npm run check passed on Node 24.21.0/npm 11.19.0; manifest, HTTPS/SHA512 and license checks passed. make check passed 72 tooling tests; tasks.py validate and git diff --check passed. Native browser quota, disk durability and process restart were not tested; ADR remains proposed for independent QA.

Task: S00-005
Agent: auto-storage-0ce544ac4b40
Role: storage
Action: claim
Status: review

Task title: Выбрать IndexedDB wrapper и migration policy
This commit is contained in:
wt committed 2026-10-15 18:33:15 +07:00
1 parent 8f918bc040
commit 0e2b3098df
17 files changed
+713 -128

No files matched your search

+28 -5
View File
@@ -1,9 +1,32 @@
# S00-005 handoff for independent QA
Executor: auto-storage-0ce544ac4b40 (storage), 2026-10-15.
Outcome: proposed ADR 0004 selects idb 8.0.4 and defines transaction, quota,
migration/connection and crypto key ownership policy. Scoped experiment now
executes rollback, explicit quota-failure policy and blocked upgrade scenarios.
Historical interrupted work was resumed only after independently reviewed S00-023;
RECOVERY.md remains a historical inventory, not current test status.
# Blocked handoff
QA input: docs/decisions/0004-storage-design.md, experiment README, exact lock/
license texts and src checks; full executor evidence at
state/evidence/S00-005-auto-storage-0ce544ac4b40.md. Verify source scope and
executor message, reproduce fresh-cache npm ci and npm run check on accepted
Node 24.21.0/npm 11.19.0. Linux runtime used here:
/tmp/luma-approved-toolchain/node-v24.21.0-linux-x64/bin.
The wrapper lock digest is c6c416a92b1a3d10e3fb83bcdbbc803114adbd1dd24e06f5dceebb4b59f9ea7b.
Original: S00-005; reporter: auto-storage-88c3286c6641; resolution: S00-023.
Actual results: fresh-cache install and selected-wrapper fixture checks exit 0;
make check exit 0 (296 tasks, 72 tooling tests). Foundation checks are not app
readiness. Rollback now causes actual unique-index ConstraintError, validates
schema/data restoration, retry and same-process reopen. Injected quota failure
aborts history/checkpoint together and preserves account B. Held old connection
produces versionchange/blocked, closes to release v2, and stale v1 is refused.
Previous runner session was interrupted before submit/escalate; processes stopped. User now explicitly requests resuming development. Preserve partial artifacts, verify them in a fresh bounded remediation, and return original to a new executor only after independent review.
Next: complete and review the remediation; only a fresh session may continue.
Limits: browser inventory empty. Quota is an explicit injected error; no native
quota exhaustion, disk durability, process restart, eviction, real multi-tab,
persistence grants, deletion/suppression or crypto-unlock test was run. Fixtures
are synthetic and test-only. S01 contracts remain future work; no app schema/
port/adapter was introduced. ADR remains proposed until independent acceptance.
If QA accepts, record ADR acceptance metadata within its allowed scope and
separate review evidence, then approve via CLI. Coordinator alone commits and
launches another fresh session. Executor exits immediately after submit.