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
2.7 KiB
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.