Skip to content

Migrate signal-snapshot generation from isRegistered to isInstalled #5019

Description

@JSONbored

Part of #5016. Depends on #5028 (isInstalled must be reliable on brokered self-host first).

Problem

fanOutRepoSignalSnapshotJobs (src/queue/processors.ts:782-807) gates per-repo signal-snapshot generation on repo.isRegistered — the gittensor-subnet-registration flag — even though most of what it generates is general repo health, unrelated to subnet membership.

Current behavior

src/queue/signal-snapshot.ts:53-60 (generateSignalSnapshots) fans out per registered repo, producing: queue-health, config-quality, label-audit, contributor-intake-health, issue-quality, repo-outcome-patterns (all CORE — generically useful to any self-host operator) alongside maintainer-lane/maintainer-cut-readiness (gittensor-specific, but their own builder functions already degrade gracefully for !isRegistered — verified no crash risk).

Target

Change the outer filter in fanOutRepoSignalSnapshotJobs from repo.isRegistered to repo.isInstalled. Leave every individual signal builder untouched — they already branch correctly on isRegistered internally for the gittensor-specific pieces.

Requirements

  • Any repo with isInstalled=true gets signal snapshots generated, regardless of isRegistered.
  • A repo with isRegistered=true but isInstalled=false (a gittensor-subnet repo this instance never installed the app on) no longer gets signal snapshots.
  • Cloud behavior unchanged in practice (cloud's installed set and registered set are effectively the same today), but the filter itself becomes isInstalled-based there too for consistency — no separate cloud/self-host branch needed here, this is a straight signal swap.

Deliverables

  • Updated filter in src/queue/processors.ts.
  • Regression test: a repo that is isInstalled=true, isRegistered=false gets a signal-snapshot job enqueued; a repo that is isInstalled=false, isRegistered=true does not.
  • Full local gate green (npm run test:ci), 99% patch coverage on the diff.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions