Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,3 @@ __pycache__/
experiments/
*.backup
data/
logs/
prompts/
27 changes: 0 additions & 27 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,33 +259,6 @@ add `HIPPIUS_*` once your Hippius keys are issued — the client will pick up
the new backend automatically. To cut over fully, also set
`HIPPIUS_BUCKET` (or unset `R2_BUCKET`) so dispatched URLs point at Hippius.

## Non-competitive Mode

Set `RADAR_NONCOMPETITIVE=true` for a non-subnet deployment:

- Validator skips wallet, subtensor, metagraph, weight-setting, on-chain
commitments. Existing competitive deployments leave it false.
- Auth uses HMAC service key (`RADAR_SERVICE_KEY`) for validator ↔ trainer
↔ DB. Headers: `X-Radar-{Signature,Timestamp,Key-Id}`.
- Miner identity is bearer tokens issued via the operator CLI:
```
python -m database.operator_cli register --name alice [--hotkey ss58]
python -m database.operator_cli issue-key --miner-id <id> --label prod
python -m database.operator_cli rotate-service-key
python -m database.operator_cli list-miners | list-keys --miner-id <id>
python -m database.operator_cli revoke-key --key-id <id>
```
- Miners pull scored history + evolve prompts locally via the miner CLI:
```
RADAR_DB_URL=http://db:8090 RADAR_MINER_API_KEY=rdrk_... \
python miner/neuron.py optimize --optimizer gepa --seed --watch
python miner/neuron.py results --json
python miner/neuron.py prompts list | history | rollback <gen>
```
- `prompts/active.json` (atomic-write) drives which prompt variant the
agent picks each round; `prompt_id` round-trips back via
`experiments.prompt_id` so Phase C scores attribute to the variant.

## Neuron Mode Environment Variables

| Var | Default | Purpose |
Expand Down
17 changes: 0 additions & 17 deletions config.py
Original file line number Diff line number Diff line change
Expand Up @@ -410,23 +410,6 @@ class Config:
# all — Everything on one process (legacy / dev default).
NEURON_MODE: str = os.getenv("RADAR_NEURON_MODE", "all").lower()

# ── Non-competitive mode ────────────────────────────────────
# When true, validators + miners SKIP all chain interactions:
# * no metagraph sync, no Subtensor connection, no wallet
# * no weight setting, no on-chain commitments
# * outbound auth uses HMAC service key (RADAR_SERVICE_KEY)
# * miner identity comes from bearer API keys, not hotkeys
# Existing competitive deployments leave this false and run unchanged.
NONCOMPETITIVE: bool = os.getenv(
"RADAR_NONCOMPETITIVE", "false",
).lower() in ("1", "true", "yes")

# Shared HMAC secret for service-to-service auth in non-competitive
# mode (validator -> trainer, validator -> DB). Required when
# NONCOMPETITIVE is true.
SERVICE_KEY: str = os.getenv("RADAR_SERVICE_KEY", "")
SERVICE_KEY_ID: str = os.getenv("RADAR_SERVICE_KEY_ID", "operator")

# CORS origins for the public JSON API. Comma-separated, empty = no CORS
# (safe default for validator mode, which doesn't speak to browsers).
# In production dashboard mode set this to "https://radarnet.io".
Expand Down
77 changes: 0 additions & 77 deletions database/migrations/005_miner_registry_and_prompt_id.sql

This file was deleted.

Loading
Loading