S00-023: Document the interrupted storage experiment restart point

Changes: Preserve existing storage artifacts and add a scoped recovery inventory with missing outputs, unfinished rollback logic and next steps for S00-005; record recovery evidence and handoff.
Validation: Assignment/packet, manifest-lock inventory assertions, both node --check commands and tasks.py validate passed. Storage runtime, quota and browser behavior were not tested; original storage task remains unaccepted.

Task: S00-023
Agent: auto-storage-e6946c6f94e3
Role: storage
Action: claim
Status: review

Task title: Устранить прерывание: Выбрать IndexedDB wrapper и migration policy
This commit is contained in:
wt committed 2026-10-15 18:06:23 +07:00
1 parent 6ac04950bf
commit 30ee500054
8 files changed
+156 -16

No files matched your search

@@ -0,0 +1,47 @@
# Interrupted S00-005 checkpoint
Recovery task: S00-023; executor: auto-storage-e6946c6f94e3; 2026-10-15.
This directory contains unfinished research, not an accepted storage design.
S00-023 inventories preserved work and supplies a bounded restart point;
S00-005 must still implement and independently review its original acceptance.
## Preserved inputs
- package.json / package-lock.json agree on fake-indexeddb 6.2.5.
Lock metadata lists Apache-2.0, HTTPS registry URL and SHA512 integrity.
This inventory does not replace S00-005 license/API/browser research.
- .nvmrc and manifest select Node 24.21.0; manifest selects npm 11.19.0,
consistent with accepted ADR 0001. Keep these pins for execution.
- .npmrc retains registry HTTPS and strict-ssl. No TLS bypass is needed.
- src/_probe.mjs is an exploratory in-memory open/delete probe.
- src/rollback.mjs is an unfinished migration experiment. Both files pass
node --check, but neither has been executed or accepted by this recovery.
- docs/decisions/0004-storage-design.md has not been created.
- check:quota points to missing src/quota-blocked.mjs; npm run check is
not a completed test suite and must not be reported as passing.
## Known unfinished rollback code
Static inspection shows failedUpgradeRollsBack and retryAfterRollbackSucceeds
attempt createObjectStore("accounts") although seedV1 already created it.
The intended unique-index data failure therefore has not been demonstrated.
The promise in failedUpgradeRollsBack also overwrites req.onsuccess/onerror;
its aborted flag cannot reliably distinguish success from failure. Assertions
must verify the actual failure, preserved schema/data/indexes, and successful
corrected retry. Do not rely on the existing PASS text as evidence.
## Next assigned S00-005 session
Read the original card, STORE-001/STORE-004, ADR 0001 and this checkpoint.
Complete candidate research and ADR, repair the incomplete rollback experiment,
and implement the required quota/blocked-upgrade scenario within the original
scope. Execute with the pinned runtime and locked dependencies, retaining normal
HTTPS verification. Record actual outcomes and explicit fixture/browser limits.
In-memory fake-indexeddb is not browser durability, quota or restart evidence.
No shared persistence contract or application adapter has been established here.
The historical S00-005 interruption is recorded in
state/runs/auto-storage-88c3286c6641/run.json (recovered_interruption=true).
S00-025 independently resolved the subsequent launcher interruption. This fresh
S00-023 session received its inputs and produced a reviewable recovery checkpoint.
After independent QA and coordinator commit, a new executor may resume S00-005.