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:
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.
|
||||
@@ -1,6 +1,6 @@
|
||||
# Матрица задач
|
||||
|
||||
Generated; state revision **109**. Canonical status: state/tasks.json.
|
||||
Generated; state revision **111**. Canonical status: state/tasks.json.
|
||||
|
||||
| ID | Этап | Оператор | Reviewer | Статус | Owner | Зависимости | Задача |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
@@ -25,7 +25,7 @@ Generated; state revision **109**. Canonical status: state/tasks.json.
|
||||
| [S00-020](tasks/S00-020.md) | S00 | ci-cd | qa | done | auto-ci-cd-2a0186c54ce9 | S00-001, S00-002, S00-017, S00-018, S00-019, S00-024 | Restore access to the pinned Linux XMPP experiment toolchain |
|
||||
| [S00-021](tasks/S00-021.md) | S00 | crypto | security | done | auto-crypto-fcef9b6781bf | S00-001, S00-002 | Устранить прерывание: Проверить browser OMEMO backend |
|
||||
| [S00-022](tasks/S00-022.md) | S00 | crypto | security | blocked | auto-crypto-bcd7f2a71667 | S00-001, S00-002, S00-021, S00-027, S00-029 | Confirm or source a verified browser/WASM-capable OMEMO2 backend for the Web client endpoint |
|
||||
| [S00-023](tasks/S00-023.md) | S00 | storage | qa | todo | | S00-002, S00-025 | Устранить прерывание: Выбрать IndexedDB wrapper и migration policy |
|
||||
| [S00-023](tasks/S00-023.md) | S00 | storage | qa | review | auto-storage-e6946c6f94e3 | S00-002, S00-025 | Устранить прерывание: Выбрать IndexedDB wrapper и migration policy |
|
||||
| [S00-024](tasks/S00-024.md) | S00 | ci-cd | qa | done | auto-ci-cd-49907d48a6d1 | S00-001, S00-002, S00-017, S00-018, S00-019, S00-026 | Устранить прерывание: Restore access to the pinned Linux XMPP experiment toolchain |
|
||||
| [S00-025](tasks/S00-025.md) | S00 | storage | qa | done | auto-storage-8b47cee148df | S00-002, S00-028 | Устранить прерывание: Устранить прерывание: Выбрать IndexedDB wrapper и migration policy |
|
||||
| [S00-026](tasks/S00-026.md) | S00 | ci-cd | qa | done | auto-ci-cd-4255c34da227 | S00-001, S00-002, S00-017, S00-018, S00-019 | Provide approved access to the pinned Linux experiment artifacts |
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
- [S00-020](../tasks/S00-020.md): Restore access to the pinned Linux XMPP experiment toolchain — ci-cd; done.
|
||||
- [S00-021](../tasks/S00-021.md): Устранить прерывание: Проверить browser OMEMO backend — crypto; done.
|
||||
- [S00-022](../tasks/S00-022.md): Confirm or source a verified browser/WASM-capable OMEMO2 backend for the Web client endpoint — crypto; blocked.
|
||||
- [S00-023](../tasks/S00-023.md): Устранить прерывание: Выбрать IndexedDB wrapper и migration policy — storage; todo.
|
||||
- [S00-023](../tasks/S00-023.md): Устранить прерывание: Выбрать IndexedDB wrapper и migration policy — storage; review.
|
||||
- [S00-024](../tasks/S00-024.md): Устранить прерывание: Restore access to the pinned Linux XMPP experiment toolchain — ci-cd; done.
|
||||
- [S00-025](../tasks/S00-025.md): Устранить прерывание: Устранить прерывание: Выбрать IndexedDB wrapper и migration policy — storage; done.
|
||||
- [S00-026](../tasks/S00-026.md): Provide approved access to the pinned Linux experiment artifacts — ci-cd; done.
|
||||
|
||||
@@ -20,7 +20,7 @@ S00-019,S00,crypto,security,done,auto-crypto-c68801170fa4,"S00-001, S00-002, S00
|
||||
S00-020,S00,ci-cd,qa,done,auto-ci-cd-2a0186c54ce9,"S00-001, S00-002, S00-017, S00-018, S00-019, S00-024",Restore access to the pinned Linux XMPP experiment toolchain
|
||||
S00-021,S00,crypto,security,done,auto-crypto-fcef9b6781bf,"S00-001, S00-002",Устранить прерывание: Проверить browser OMEMO backend
|
||||
S00-022,S00,crypto,security,blocked,auto-crypto-bcd7f2a71667,"S00-001, S00-002, S00-021, S00-027, S00-029",Confirm or source a verified browser/WASM-capable OMEMO2 backend for the Web client endpoint
|
||||
S00-023,S00,storage,qa,todo,,"S00-002, S00-025",Устранить прерывание: Выбрать IndexedDB wrapper и migration policy
|
||||
S00-023,S00,storage,qa,review,auto-storage-e6946c6f94e3,"S00-002, S00-025",Устранить прерывание: Выбрать IndexedDB wrapper и migration policy
|
||||
S00-024,S00,ci-cd,qa,done,auto-ci-cd-49907d48a6d1,"S00-001, S00-002, S00-017, S00-018, S00-019, S00-026",Устранить прерывание: Restore access to the pinned Linux XMPP experiment toolchain
|
||||
S00-025,S00,storage,qa,done,auto-storage-8b47cee148df,"S00-002, S00-028",Устранить прерывание: Устранить прерывание: Выбрать IndexedDB wrapper и migration policy
|
||||
S00-026,S00,ci-cd,qa,done,auto-ci-cd-4255c34da227,"S00-001, S00-002, S00-017, S00-018, S00-019",Provide approved access to the pinned Linux experiment artifacts
|
||||
|
||||
|
@@ -0,0 +1,4 @@
|
||||
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.
|
||||
@@ -0,0 +1,54 @@
|
||||
# S00-023 recovery evidence
|
||||
|
||||
Executor: auto-storage-e6946c6f94e3 (storage), 2026-10-15.
|
||||
Input: assigned card/packet, required startup and task documents, original and
|
||||
current blocker/handoff, accepted ADR 0001 and direct S00-002/S00-025 evidence,
|
||||
reviews and handoffs. Output: preserved-artifact inventory and explicit restart
|
||||
checkpoint at experiments/0004-storage-design/RECOVERY.md.
|
||||
|
||||
## Actual checks
|
||||
|
||||
- python3 scripts/tasks.py resume --agent auto-storage-e6946c6f94e3,
|
||||
show S00-023 and packet S00-023 --agent auto-storage-e6946c6f94e3:
|
||||
exit 0 each; already assigned, no repeat claim; prerequisites done.
|
||||
- Original run.json read: recovered_interruption=true, original S00-005
|
||||
transitioned to blocked with resolver S00-023; no acceptance evidence.
|
||||
S00-025 executor/review records the resolved launcher failure; inspected,
|
||||
not repeated through a new model launch. Current session received full inputs.
|
||||
- Python manifest/lock/inventory assertions: exit 0; dependencies agree,
|
||||
existing six files hashed, absent ADR and missing quota target confirmed.
|
||||
package-lock SHA256: 4811ff344287daa6d2e0c01c6fb0a2f1f81021a157a833f9e8533c22e40b5d91.
|
||||
rollback SHA256: 981516d6fcddeccef996c7520ab7c34bebb6b1af931653678714e9f149ef5dc9.
|
||||
_probe SHA256: 80ad5b9705f7ea9ee380d2ca9cc6c89bb86fddf81118535e6eb1136085c9cbba.
|
||||
- node --version: exit 0, v24.1.0 (host, not selected execution pin).
|
||||
node --check experiments/0004-storage-design/src/rollback.mjs and
|
||||
node --check experiments/0004-storage-design/src/_probe.mjs: exit 0 each.
|
||||
Syntax only; no semantic/runtime storage success claimed.
|
||||
- Static review found repeated creation of the existing accounts store and
|
||||
overwritten request result handlers. RECOVERY.md records these as unfinished
|
||||
original work; no code repaired or parent acceptance bypassed.
|
||||
- python3 scripts/tasks.py validate: exit 0, 296 tasks, revision 110.
|
||||
- Initial git status --short --untracked-files=all: exit 0; only coordinator
|
||||
claim state/tasks.json. Final whitespace/scope inspection recorded below.
|
||||
|
||||
Exploratory reads: guessed ADR 0004 read returned exit 1 because it is an absent
|
||||
output, not a missing required input. Broad /tmp rg discovery returned exit 2
|
||||
with accessible runtime paths; no tool install or execution used those results.
|
||||
No source/dependency files changed except the new scoped recovery document.
|
||||
|
||||
## Acceptance and limits
|
||||
|
||||
The interruption itself is historical, not safely re-created by terminating a
|
||||
runner. Its persisted result and partial files were checked; a fresh bounded
|
||||
session now provides an explicit reviewable continuation checkpoint. S00-005
|
||||
remains unaccepted. Missing ADR/quota scenario and incomplete rollback are its
|
||||
original unfinished implementation, not new external obstacles to recovery.
|
||||
No npm install, storage runtime test, browser, quota, migration, restart or
|
||||
application readiness check was performed. No wrapper selection or dependency
|
||||
approval is implied. Only RECOVERY.md and workflow metadata authored.
|
||||
Coordinator commits; QA must independently review this recovery before the
|
||||
original task returns to a new executor.
|
||||
|
||||
Final git diff --check: exit 0. git status --short --untracked-files=all:
|
||||
exit 0; only RECOVERY.md, current evidence/handoff/commit message and coordinator
|
||||
claim state/tasks.json. No existing experiment code or dependency bytes changed.
|
||||
@@ -1,9 +1,20 @@
|
||||
# S00-023 recovery handoff
|
||||
|
||||
Executor: auto-storage-e6946c6f94e3; role: storage; 2026-10-15.
|
||||
Historical S00-005 interruption preserved partial files. S00-025 resolved the
|
||||
later launcher failure; this fresh session received all required inputs.
|
||||
Created experiments/0004-storage-design/RECOVERY.md with checked inventory,
|
||||
known incomplete code, missing outputs and precise original-task next steps.
|
||||
No original source was changed and no storage design was accepted.
|
||||
|
||||
# Blocked handoff
|
||||
Checks: CLI assignment/packet, manifest-lock agreement and artifact inventory,
|
||||
both .mjs syntax checks, tasks.py validate passed. Full evidence:
|
||||
state/evidence/S00-023-auto-storage-e6946c6f94e3.md. Storage runtime/browser
|
||||
checks were not run. ADR 0004 and quota script remain original unfinished work;
|
||||
rollback also needs repair as documented. Do not report npm run check passing.
|
||||
|
||||
Original: S00-023; reporter: auto-storage-87486895c792; resolution: S00-025.
|
||||
|
||||
Agent exited with code 2
|
||||
|
||||
Next: complete and review the remediation; only a fresh session may continue.
|
||||
QA: inspect recovery document against preserved files and original interruption
|
||||
record; repeat syntax/inventory/plan checks, verify scoped diff and message.
|
||||
Approve only recovery readiness, not S00-005 acceptance. After independent review
|
||||
and coordinator commit, a fresh S00-005 executor completes its original card.
|
||||
No additional agent/process should be launched from this session.
|
||||
+30
-6
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"revision": 109,
|
||||
"revision": 111,
|
||||
"tasks": {
|
||||
"S00-001": {
|
||||
"status": "done",
|
||||
@@ -1327,18 +1327,19 @@
|
||||
"resumed_after_blocker": true
|
||||
},
|
||||
"S00-023": {
|
||||
"status": "todo",
|
||||
"owner": null,
|
||||
"status": "review",
|
||||
"owner": "auto-storage-e6946c6f94e3",
|
||||
"external_wait": false,
|
||||
"reason": null,
|
||||
"started_at": "2026-10-15T09:33:36+00:00",
|
||||
"updated_at": "2026-10-15T11:02:01+00:00",
|
||||
"started_at": "2026-10-15T11:04:06+00:00",
|
||||
"updated_at": "2026-10-15T11:06:17+00:00",
|
||||
"blocked_by": [],
|
||||
"resume_status": "in_progress",
|
||||
"blocker_report": "state/blockers/S00-025.md",
|
||||
"handoff": "state/handoffs/S00-023.md",
|
||||
"previous_owner": "auto-storage-87486895c792",
|
||||
"resumed_after_blocker": true
|
||||
"resumed_after_blocker": true,
|
||||
"evidence": "state/evidence/S00-023-auto-storage-e6946c6f94e3.md"
|
||||
},
|
||||
"S00-024": {
|
||||
"status": "done",
|
||||
@@ -2853,6 +2854,29 @@
|
||||
"to": "done",
|
||||
"reason": null,
|
||||
"evidence": "state/evidence/S00-025-review.md"
|
||||
},
|
||||
{
|
||||
"revision": 110,
|
||||
"at": "2026-10-15T11:04:06+00:00",
|
||||
"action": "claim",
|
||||
"task": "S00-023",
|
||||
"agent": "auto-storage-e6946c6f94e3",
|
||||
"role": "storage",
|
||||
"from": "todo",
|
||||
"to": "in_progress",
|
||||
"reason": null
|
||||
},
|
||||
{
|
||||
"revision": 111,
|
||||
"at": "2026-10-15T11:06:17+00:00",
|
||||
"action": "submit",
|
||||
"task": "S00-023",
|
||||
"agent": "auto-storage-e6946c6f94e3",
|
||||
"role": null,
|
||||
"from": "in_progress",
|
||||
"to": "review",
|
||||
"reason": null,
|
||||
"evidence": "state/evidence/S00-023-auto-storage-e6946c6f94e3.md"
|
||||
}
|
||||
],
|
||||
"retired_agents": [
|
||||
|
||||
Reference in new issue
Block a user