Problem: #6099 defines the entity model for subnet-funded pools (subnet, repo, pool as distinct related entities) but the current registration data model (RegistryRepoConfig in src/types.ts, populated via normalizeRegistryPayload/registrySnapshots) is entirely repo-keyed with no way to associate a repo with a funding pool or subnet identity. Nothing in loopover's own storage can currently represent "this registered repo has a subnet-funded pool" at all.
Area: Platform / gittensor economics — registry data model
Proposal: Add an optional pool association to the existing repo-registration data model — a nullable poolId (matching #6098's SettlementBackend interface's own poolId field) plus a subnet identifier, attached to a RegistryRepoConfig/repositories row without changing anything about how an unfunded (organic) repo registration works. Additive only: a repo with no pool association behaves byte-identical to today.
Deliverables:
Acceptance criteria:
Resources:
Boundaries:
- No settlement mechanics, no pricing/allocation numbers, no UI.
- Does not change organic (non-pool) repo registration behavior in any way.
Part of #6101.
Problem: #6099 defines the entity model for subnet-funded pools (subnet, repo, pool as distinct related entities) but the current registration data model (
RegistryRepoConfiginsrc/types.ts, populated vianormalizeRegistryPayload/registrySnapshots) is entirely repo-keyed with no way to associate a repo with a funding pool or subnet identity. Nothing in loopover's own storage can currently represent "this registered repo has a subnet-funded pool" at all.Area: Platform / gittensor economics — registry data model
Proposal: Add an optional pool association to the existing repo-registration data model — a nullable
poolId(matching #6098'sSettlementBackendinterface's ownpoolIdfield) plus a subnet identifier, attached to aRegistryRepoConfig/repositoriesrow without changing anything about how an unfunded (organic) repo registration works. Additive only: a repo with no pool association behaves byte-identical to today.Deliverables:
poolIdand subnet identifier fields, nullable, on the repo-registration data path.PayoutEligibleEventconstruction and any future pool-state reporting UI (per Design spec: subnet-level onboarding & registration flow (extends #4789's individual-customer pattern) #6099) would read from.Acceptance criteria:
poolId/subnet fields set, no behavior change.poolIdand subnet identifier intact.Resources:
SettlementBackend'spoolIdshape this must match)src/types.ts'sRegistryRepoConfig,src/registry/normalize.tsBoundaries:
Part of #6101.