Skip to content

feat: repository emissions by bounded repo shares#1239

Closed
aliworksx08 wants to merge 1 commit into
entrius:testfrom
aliworksx08:feat/repo-emission-share
Closed

feat: repository emissions by bounded repo shares#1239
aliworksx08 wants to merge 1 commit into
entrius:testfrom
aliworksx08:feat/repo-emission-share

Conversation

@aliworksx08
Copy link
Copy Markdown

@aliworksx08 aliworksx08 commented May 13, 2026

Summary

Closes #1215.

Repository allocation moves from an unbounded per-PR weight multiplier to repo-level emission_share slicing at round aggregation. Each repo receives emission_share * OSS_EMISSION_SHARE, then distributes that slice within the repo by PR earned score and issue-discovery earned score. PR/issue sub-slices spill only within the same repo, while fully inactive repo slices and registry slack recycle.

Changes

  • Rename registry allocation from weight to emission_share.
  • Add issue_discovery_share with same-repo PR/issue spill behavior.
  • Collapse emissions to OSS_EMISSION_SHARE = 0.90 and ISSUES_TREASURY_EMISSION_SHARE = 0.10.
  • Remove repo weight from PR scoring, issue-discovery scoring, and open-PR collateral scoring.
  • Recycle registry slack and fully inactive repo slices instead of using a fixed recycle baseline.
  • Preserve neutral storage compatibility fields for repo_weight_multiplier and discovery_repo_weight_multiplier.
  • Match live PR/issue repo names case-insensitively against lowercase registry keys.
  • Add tests for bounded allocation, slack recycle, PR/issue spill, disabled sides, case-insensitive repo matching, and loader invariants.

Out of scope

  • Open-PR collateral remains a scoring concern outside repo-slice allocation; repo allocation distributes PR slices by per-PR earned score only.
  • DB/schema removal for legacy multiplier fields is intentionally left out.

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Documentation
  • Other: emission policy change

Testing

  • Tests added/updated
  • Manually tested

Validation:

uv run pytest tests/validator/test_load_weights.py tests/validator/test_emission_share_allocation.py tests/validator/oss_contributions/mirror/test_scored_pr.py tests/validator/oss_contributions/mirror/test_scoring.py tests/cli/test_miner_score.py -q
# 152 passed

uv run pyright gittensor
# 0 errors, 0 warnings, 0 informations

uv run ruff check gittensor/validator/forward.py tests/validator/test_emission_share_allocation.py tests/validator/test_load_weights.py
# All checks passed

uv run ruff format --check gittensor/validator/forward.py tests/validator/test_emission_share_allocation.py tests/validator/test_load_weights.py
# 3 files already formatted

git diff --check
# clean

Checklist

  • Code follows project style guidelines
  • Self-review completed
  • Changes are documented, if applicable```

@xiao-xiao-mao xiao-xiao-mao Bot added the enhancement New feature or request label May 13, 2026
@aliworksx08 aliworksx08 force-pushed the feat/repo-emission-share branch from 6097880 to c8291b0 Compare May 13, 2026 03:01
@aliworksx08
Copy link
Copy Markdown
Author

hi, @anderdc, can you review my PR, plz?

@anderdc
Copy link
Copy Markdown
Collaborator

anderdc commented May 13, 2026

Closing — see #1251 for the documented copying of @seroperson's vulture-integration branch (14 of 14 touched files a subset of the source PR, 12 byte-identical, and the linked issue body explicitly cites the source branch by name). With that on the public record, we can't extend the good-faith review this PR would otherwise need.

Closing.

@anderdc anderdc closed this May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Convert per-repo weight from unbounded multiplier to emission_share (bounded pool slice)

2 participants