fix(miner): add orb-export to the doctor and migrate store lists (#8318)#8470
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8470 +/- ##
==========================================
- Coverage 92.50% 88.81% -3.69%
==========================================
Files 791 99 -692
Lines 79333 22902 -56431
Branches 23961 3946 -20015
==========================================
- Hits 73386 20341 -53045
+ Misses 4807 2383 -2424
+ Partials 1140 178 -962
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Warning ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-24 15:41:40 UTC
Review summary Nits — 2 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.
|
…Nbored#8318) 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, JSONbored#4277/JSONbored#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 (JSONbored#7238), ranked-candidates + deny-hook-synthesis (JSONbored#8008/JSONbored#8036), and four earlier omissions (JSONbored#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 JSONbored#8318 regression assertion beside the existing JSONbored#6768/JSONbored#8008 ones.
cf71315 to
71ee564
Compare
Summary
Closes #8318.
packages/loopover-miner/lib/status.ts'sstoreIntegrityChecksandpackages/loopover-miner/lib/migrate-cli.ts'sSTORESare both meant to enumerate every durable local SQLite store in the package --migrate-cli.ts's header says it "Mirrors status.js's storeIntegrityChecks ... store list exactly", andstatus.ts's says to "Keep in sync with migrate-cli.js'sSTORESlist". Both listed the same sixteen stores.orb-export.sqlite3-- the opt-in Orb telemetry export's per-instance HMAC anonymization secret and export cursor (#4277/#5681), opened viaopenOrbExportStore/resolveOrbExportDbPath-- is a real durable store and was in neither list. So:orb-export.sqlite3was invisible toloopover-miner doctor's per-store integrity sweep, andloopover-miner migratenever 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) --orb-export.tswas simply never added when it shipped.Change
Adds the store to both lists using each list's existing entry shape, with no restructuring (as the issue requires):
status.ts:["orb-export", resolveOrbExportDbPath(env)]migrate-cli.ts:{ name: "orb-export", resolveDbPath: resolveOrbExportDbPath, open: openOrbExportStore }resolveOrbExportDbPath(env?: Record<string, string | undefined>)andopenOrbExportStore(dbPath?: string)already match the sibling entries' signatures exactly, so unlikereplay-snapshotthis needs no cast. Neither file referenced a specific store count in its comments, so no count text needed updating.Tests
Both existing tests pin these lists exactly, so both are updated rather than duplicated:
test/unit/miner-migrate-cli.test.ts--STORE_NAMESgainsorb-export(order preserved), the assertion's title goes sixteen -> seventeen, and a#8318regression assertion is added beside the existing#6768/#8008ones.test/unit/miner-status.test.ts-- the doctor check-name list gainsstore-integrity:orb-export.Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #8318).Validation
git diff --checknpm run actionlint- no workflow files touched.npm run typechecknpx vitest run test/unit/miner-migrate-cli.test.ts- 12/12 pass, including the updated seventeen-store assertion.npm run test:coverage(full) /test:workers/build:mcp/ui:*- not run: this touches two miner lib files and their two unit tests, with no worker, MCP-package, or UI surface.npm audit --audit-level=moderate- no dependency changes.If any required check was skipped, explain why:
test/unit/miner-status.test.tshas two failures on this Windows checkout that reproduce identically on unmodifiedmain(verified by stashing the change and re-running) -- environment-specific, not caused by this diff. The store-list assertion this PR updates is not one of them.Safety
UI Evidencesection - n/a: no visible UI/frontend/docs/extension change.Notes
doctortreats an absent file as healthy-by-absence, andmigratereports a not-yet-created store as a clean skip without creating it as a side effect (asserted by the existing test this PR extends).