Skip to content

hf_poller: banned-submitter gate — close the PR for a blocklisted identity - #100

Open
karpabot wants to merge 1 commit into
RalphLabsAI:mainfrom
karpabot:feat/banned-miners
Open

hf_poller: banned-submitter gate — close the PR for a blocklisted identity#100
karpabot wants to merge 1 commit into
RalphLabsAI:mainfrom
karpabot:feat/banned-miners

Conversation

@karpabot

@karpabot karpabot commented Jul 5, 2026

Copy link
Copy Markdown

Why

Kaizen0304 (5H3xirPk) spammed 10 exploit bundles (compute-forged + value_embeddings arch-bypass), forcing us to blocklist each checkpoint after it landed (and one re-crowned via op4's eval cache). This bans the submitter, not the checkpoint.

What

If a submission's hotkey / github, or the HF account that opened the PR, is on the ban list, the validator closes the PR (HF proof-bundles PR + the linked GitHub recipe PR) and never scores it.

  • Data-driven ban listchain/banned_miners.json {"hotkeys": ["5H3xirPk"], "github": ["Kaizen0304"], "hf_users": [...]}. Add/remove identities with no code change.
  • poll_hub pre-download check on the HF PR author → banned HF account is closed without even downloading.
  • download_one post-decrypt check on the submission hotkey/github → banned → close PR, return "banned", marked done so it stops churning.
  • _close_pr_banned closes the HF PR (change_discussion_status) + best-effort the GitHub recipe PR via RALPH_BOT_GH_TOKEN. Both best-effort; never block the loop.

Deployed live with the ban list seeded to Kaizen. 6 tests. Complements the per-checkpoint blocklist (which still backstops).

🤖 Generated with Claude Code

…ntity

Kaizen0304 (5H3xirPk) spammed 10 exploit bundles (compute-forged + value_embeddings
arch-bypass), forcing per-checkpoint blocklisting after each landed. This refuses the
SUBMITTER at the PR gate instead: if the bundle's hotkey/github — or the HF account that
opened the PR — is on the ban list, the validator CLOSES the PR (HF proof-bundles PR +
the linked GitHub recipe PR) and never scores it.

- ban list is DATA: chain/banned_miners.json {"hotkeys","github","hf_users"} — add/remove
  identities without a code change.
- poll_hub: pre-download check on the HF PR author (banned HF account -> close, skip).
- download_one: post-decrypt check on submission hotkey/github (banned -> close PR, return
  "banned"); poll_hub marks it done so it stops churning.
- _close_pr_banned closes the HF PR (change_discussion_status) + best-effort the GitHub
  recipe PR (RALPH_BOT_GH_TOKEN). Both best-effort; never block the loop.
- 6 tests (hotkey-prefix / github case-insensitive / clean-miner-passes / HF-account /
  file load + lowercasing / missing-file-empty).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant