fix(miner): register ranked-candidates + deny-hook-synthesis in doctor/migrate store lists - #8036
Conversation
…r/migrate store lists status.ts's storeIntegrityChecks and migrate-cli.ts's STORES both enumerate every durable local SQLite store so `loopover-miner doctor` reports each store's integrity and `loopover-miner migrate` applies pending migrations to each. Two stores were missing from both lists: ranked-candidates and deny-hook-synthesis -- so doctor never checked them and migrate never migrated them, unlike every sibling store. Add both to storeIntegrityChecks (via resolveRankedCandidatesDbPath / resolveDenyHookSynthesisDbPath) and to STORES (with their initRankedCandidatesStore / initDenyHookSynthesisStore openers), and update the pinned store-list tests (count and expected names) plus a JSONbored#8008 regression assertion mirroring the existing JSONbored#6768 one. Closes JSONbored#8008
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-22 14:34:55 UTC
Review summary Nits — 3 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
…) (#8470) status.ts's storeIntegrityChecks and migrate-cli.ts's STORES are both meant to enumerate every durable local SQLite store in the package -- each file's own comment says to keep it in sync with the other. Both listed the same sixteen stores, but orb-export.sqlite3 (the opt-in Orb telemetry export's per-instance HMAC secret and export cursor, #4277/#5681) was never added when it shipped. The effect: a corrupted orb-export.sqlite3 was invisible to `loopover-miner doctor`'s per-store integrity sweep, and `loopover-miner migrate` never brought it up to date, unlike every other store the package ships. Same gap class already fixed for policy-doc-cache (#7238), ranked-candidates + deny-hook-synthesis (#8008/#8036), and four earlier omissions (#6768). Adds the store to both lists using each list's existing entry shape (no restructuring): ["orb-export", resolveOrbExportDbPath(env)] in status.ts and { name, resolveDbPath, open } in migrate-cli.ts. Both resolver/opener signatures already match the sibling entries, so no casts are needed. Updates the two tests that pin the lists exactly -- the migrate test's store-name array (now seventeen, same order) and the doctor test's store-integrity check names -- and adds a #8318 regression assertion beside the existing #6768/#8008 ones.
Closes #8008
What
status.ts'sstoreIntegrityChecksandmigrate-cli.ts'sSTORESboth enumerate every durable local SQLite store, soloopover-miner doctorreports each store's integrity andloopover-miner migrateapplies pending migrations to each. Two stores were missing from both lists —ranked-candidatesanddeny-hook-synthesis— sodoctornever checked them andmigratenever migrated them, unlike every sibling store (the same class of gap #6768 fixed for four other stores).storeIntegrityChecks(viaresolveRankedCandidatesDbPath/resolveDenyHookSynthesisDbPath) and toSTORES(withinitRankedCandidatesStore/initDenyHookSynthesisStore), in the same shape/order as existing entries.#8008regression assertion mirroring the existing#6768one.Verification
Miner-lib lane, verified locally:
miner-status+miner-migrate-clisuites pass (49 tests) withdoctorreporting andmigratecovering both new stores; both source and test files typecheck clean against the project's exact CI types..jsare gitignored (rebuilt in CI).