fix(registry): scope self-host repo registration to gittensor opt-ins#6780
Merged
Conversation
Re-applies the self-host scoping to persistRegistrySnapshot that was reverted before this epic existed: on a self-host runtime, only repos that have explicitly opted into the experimental.gittensor plugin (gittensorEnabledRepoFullNames) ever get isRegistered=true or subnet economics data written; everything else in the raw snapshot stays as audit/history bookkeeping only. Cloud is unaffected -- the scoping branch only runs under isSelfHostedReviewRuntime. De-registration still fires off the scoped list (so an opted-out repo self-heals to isRegistered=false), but the emptiness guard stays on the raw snapshot so a failed/empty registry fetch can never wipe every registration. Now safe because nothing else reads isRegistered for a non-gittensor purpose (#5019-#5024, #5028 migrated those readers to isInstalled). Closes #5027
LOOPOVER_MINER_WORKTREE_ALLOCATOR_DB's default value in the generated docs went stale after lib/worktree-allocator.js's local-store DB open path changed (#6704) without a regeneration; miner:env-reference:check has been failing on main since. Re-run npm run miner:env-reference.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
loopover-ui | 5fc0834 | Commit Preview URL Branch Preview URL |
Jul 17 2026, 05:40 AM |
Contributor
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Bundle ReportChanges will increase total bundle size by 2 bytes (0.0%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: loopover-uiAssets Changed:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6780 +/- ##
==========================================
- Coverage 93.64% 93.63% -0.02%
==========================================
Files 682 682
Lines 68103 68107 +4
Branches 18688 18689 +1
==========================================
- Hits 63778 63772 -6
- Misses 3347 3349 +2
- Partials 978 986 +8
Flags with carried forward coverage won't be shown. Click here to find out more.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
persistRegistrySnapshotthat was reverted before epic Untangle gittensor-subnet integration from core self-host review features #5016 existed: on a self-host runtime (isSelfHostedReviewRuntime), only repos that have explicitly opted into theexperimental.gittensorplugin (gittensorEnabledRepoFullNames) ever getisRegistered=trueor subnet economics data written; the raw registry snapshot insert stays completely unfiltered on both self-host and cloud (audit/history only).isSelfHostedReviewRuntime.isRegistered=false), but the emptiness guard stays on the raw snapshot so a failed/empty registry fetch can never wipe every registration.packages/loopover-miner/docs/env-reference.md/apps/loopover-ui/src/lib/ams-env-reference.ts, which had gone stale onmainafter an unrelated PR (fix(miner): open the worktree allocator through local-store's openLocalStoreDb #6704) changedworktree-allocator.js's env-var default without regenerating the docs.This is now safe because nothing else reads
isRegisteredfor a non-gittensor purpose — everything migrated toisInstalledin #5019-#5024/#5028. The first attempt at this scoping broke ~130 tests for exactly that reason; this PR updates the affected test-env fixtures (via a newasCloudEnv/createCloudTestEnvhelper intest/helpers/d1.ts) rather than repeating that regression.Closes #5027
Test plan
npm run test:changed— 270 files, 6805 tests passingnpm run test:coverage(unsharded) —src/registry/sync.tsnew code is 100% branch/function covered; the one uncovered line is pre-existing, unrelated code inrefreshRegistrynpm run test:ci— full local gate green