Context
packages/loopover-miner/lib/status.js:301-312 (storeIntegrityChecks) and packages/loopover-miner/lib/migrate-cli.js:24-32 (STORES) both enumerate the same seven stores (event-ledger, governor-ledger, prediction-ledger, portfolio-queue, claim-ledger, run-state, plan-store) — migrate-cli.js's own header states this list deliberately mirrors status.js's. Four other real, independent local SQLite stores using the same resolveLocalStoreDbPath/openLocalStoreDb convention are never in either list: governor-state.js, attempt-log.js, replay-snapshot.js, worktree-allocator.js. Neither doctor's corruption check nor an operator's proactive migrate (whose stated purpose is to bring "every known store's EXISTING on-disk file up to date") ever touches these four — they're only migrated/checked lazily.
Requirements
- Add
governor-state, attempt-log, replay-snapshot, and worktree-allocator to both status.js's storeIntegrityChecks and migrate-cli.js's STORES list, keeping the two lists in sync per migrate-cli.js's own stated invariant.
- Leave disposable/cache-only stores out, consistent with their own documented design.
Deliverables
Test Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch, plus a regression test that reproduces the exact failure mode described above and asserts it's fixed.
Expected Outcome
doctor and migrate cover every real local store, not just the original seven.
Links & Resources
packages/loopover-miner/lib/status.js:301-312, packages/loopover-miner/lib/migrate-cli.js:6,24-32, packages/loopover-miner/lib/governor-state.js:28, packages/loopover-miner/lib/attempt-log.js:17, packages/loopover-miner/lib/replay-snapshot.js:37, packages/loopover-miner/lib/worktree-allocator.js:23.
Context
packages/loopover-miner/lib/status.js:301-312(storeIntegrityChecks) andpackages/loopover-miner/lib/migrate-cli.js:24-32(STORES) both enumerate the same seven stores (event-ledger, governor-ledger, prediction-ledger, portfolio-queue, claim-ledger, run-state, plan-store) —migrate-cli.js's own header states this list deliberately mirrorsstatus.js's. Four other real, independent local SQLite stores using the sameresolveLocalStoreDbPath/openLocalStoreDbconvention are never in either list:governor-state.js,attempt-log.js,replay-snapshot.js,worktree-allocator.js. Neitherdoctor's corruption check nor an operator's proactivemigrate(whose stated purpose is to bring "every known store's EXISTING on-disk file up to date") ever touches these four — they're only migrated/checked lazily.Requirements
governor-state,attempt-log,replay-snapshot, andworktree-allocatorto bothstatus.js'sstoreIntegrityChecksandmigrate-cli.js'sSTORESlist, keeping the two lists in sync permigrate-cli.js's own stated invariant.Deliverables
storeIntegrityChecksmigrate-cli.js'sSTORES--json/text output tests for the now-eleven-store listTest Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch, plus a regression test that reproduces the exact failure mode described above and asserts it's fixed.
Expected Outcome
doctorandmigratecover every real local store, not just the original seven.Links & Resources
packages/loopover-miner/lib/status.js:301-312,packages/loopover-miner/lib/migrate-cli.js:6,24-32,packages/loopover-miner/lib/governor-state.js:28,packages/loopover-miner/lib/attempt-log.js:17,packages/loopover-miner/lib/replay-snapshot.js:37,packages/loopover-miner/lib/worktree-allocator.js:23.