Skip to content

fix(bounties): reject ambiguous solver identities#1306

Open
JSONbored wants to merge 1 commit into
entrius:testfrom
JSONbored:codex/bounty-identity-ambiguity
Open

fix(bounties): reject ambiguous solver identities#1306
JSONbored wants to merge 1 commit into
entrius:testfrom
JSONbored:codex/bounty-identity-ambiguity

Conversation

@JSONbored
Copy link
Copy Markdown

Summary

  • Exclude failed miner evaluations from issue-bounty solver lookup.
  • Detect GitHub IDs that map to multiple active miner hotkeys and cancel matching bounty votes instead of selecting one by dictionary overwrite.
  • Preserve bounty payout behavior for non-eligible but otherwise valid registered miners.

What changed

  • Added a safe GitHub ID to hotkey lookup builder for issue bounty voting.
  • Added an explicit ambiguous solver cancel path before coldkey lookup and solution voting.
  • Added regression tests for failed miners, ambiguous GitHub IDs, and the existing non-eligibility-gated bounty behavior.

Why

Bounty solver lookup should only vote for a solver when the validator has exactly one non-failed registered miner identity for the solver's GitHub account. Failed or ambiguous current-round identities are not reliable payout targets.

Validation

  • uv run pytest tests/validator/test_issue_competitions_forward.py tests/validator/test_duplicate_penalty_propagation.py -q
  • uv run ruff check gittensor/validator/issue_competitions/forward.py tests/validator/test_issue_competitions_forward.py
  • uv run ruff format --check gittensor/validator/issue_competitions/forward.py tests/validator/test_issue_competitions_forward.py
  • uv run pyright gittensor/validator/issue_competitions/forward.py tests/validator/test_issue_competitions_forward.py
  • git diff --check
  • Codex Security source-to-sink review: failed and ambiguous identities cannot reach coldkey lookup or solution voting; non-eligible but otherwise valid registered miners still can.
  • CodeRabbit CLI review: 0 issues.

@JSONbored JSONbored marked this pull request as ready for review May 19, 2026 00:59
@xiao-xiao-mao xiao-xiao-mao Bot added the bug Something isn't working label May 19, 2026
@JSONbored JSONbored marked this pull request as draft May 19, 2026 01:26
@JSONbored JSONbored marked this pull request as ready for review May 19, 2026 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant