fix(miner): cover ranked-candidates, replay-snapshot, and deny-hook-synthesis in right-to-be-forgotten purges (#8009) - #8042
Conversation
…ynthesis stores by repo (JSONbored#8009)
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-22 17:24:15 UTC
Review summary Nits — 4 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.
|
|
@Loopover ask CI is green and the review verdict is approve/merge — is anything still blocking the automatic merge of this PR? |
Summary
loopover-miner purge --repo <owner/repo>) left three repo-scoped stores untouched:ranked-candidates(miner_ranked_candidates),replay-snapshot(replay_snapshots, which embeds commit SHAs and README content), anddeny-hook-synthesis(deny_rule_proposals).RANKED_CANDIDATES_PURGE_SPEC/REPLAY_SNAPSHOT_PURGE_SPEC/DENY_HOOK_SYNTHESIS_PURGE_SPECinstore-maintenance.ts, following the exact purge-cli.js omits contribution-profile-cache.js and governor-state.js's two repo-scoped tables from its right-to-be-forgotten sweep #7091/policy_verdict_cache missing from purge/status/migrate 'known local stores' lists #6987 shape; deny-hook-synthesis is purged onrepo_full_namealone so the sweep clears every forge host (api_base_url), mirroringgovernor_reputation_history's documented precedent.purgeByRepomethod delegating to the shared, identifier-guardedpurgeStoreByRepo(the same shape asrun-state.ts/policy-verdict-cache.ts), and register all three inpurge-cli.ts'sREAL_PURGE_TARGETS— dry-run counting and real purges both included.attempt-log's documented not-purgeable exemption is unaffected.Closes #8009
Test plan
test/unit/miner-purge-cli.test.ts: twelve-store dry-run counts, default-path env overrides, and a purge-cli's right-to-be-forgotten spec list is missing ranked-candidates, replay-snapshot, and deny-hook-synthesis stores #8009 regression proving real deletion across both forge hosts while other repos' rows survivepurgeByRepotests inminer-ranked-candidates.test.ts(incl. the malformed-repo guard),miner-replay-snapshot.test.ts, andminer-deny-hook-synthesis.test.ts(multi-forge sweep + 0-rows case)npm run typecheck; changed files at 100% line and branch coverage locally