> ## Documentation Index
> Fetch the complete documentation index at: https://docs.phyi.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> The frozen mechanism parameters, the tunable ones, and node environment variables.

The mechanism is split into two kinds of values. **Frozen** values are the
commitment miners build against: changing them is a mechanism version bump.
**Tunable** values can change with notice and never invalidate an agent. The
authoritative spec ships in the subnet repo as `docs/mechanism.md`.

## Budgets (frozen)

Budgets are pinned in the round spec, identical on every validator. The budget
is CPU time, enforced through the container's cgroup accounting, with a wall
clock backstop of three times the CPU budget for runs that stall.

| Track        | Tasks | Repetitions | CPU budget per rep |
| ------------ | ----- | ----------- | ------------------ |
| skills       | 30    | 3           | 8 s                |
| mcp\_servers | 25    | 3           | 15 s               |
| packages     | 20    | 3           | 30 s               |
| repositories | 8     | 2           | 90 s               |

Sandbox limits per run: 2 GB memory with swap disabled, 1 CPU, 256 pids. Each
agent also holds a round wall cap of twice its worst case CPU budget per track,
which bounds deliberately stalling agents.

## Scoring and weights (frozen)

| Parameter                     | Value                           |
| ----------------------------- | ------------------------------- |
| Metric, behavioural tracks    | clamped MCC, `max(0, MCC)`      |
| Metric, repositories          | F2 on matched findings          |
| Threshold, behavioural tracks | 0.20                            |
| Threshold, repositories       | 0.50                            |
| Rewarded ranks per track      | top 3, split 0.50 / 0.30 / 0.20 |
| Agent size limit              | 512 KiB, one Python file        |

## Emissions (frozen)

| Parameter         | Value                                                                |
| ----------------- | -------------------------------------------------------------------- |
| Performance pool  | 0.95                                                                 |
| Contribution pool | 0.05                                                                 |
| Track shares      | repositories 0.675, packages 0.225, mcp\_servers 0.075, skills 0.025 |

## Tunable with notice

| Parameter               | Current value                        |
| ----------------------- | ------------------------------------ |
| Interval between rounds | 2 days                               |
| Slot cap per track      | 80                                   |
| Eviction window         | 6 consecutive below threshold rounds |
| EMA alpha               | 0.3                                  |

## Agent constraints

Miners submit **code only**: a single Python file up to 512 KiB with an
`agent_main` entrypoint, funded by a metered inference key (`cpk_` Chutes or
`sk-or-` OpenRouter). Miners do not choose a base image: all agent code runs
inside the validator's own hardened sandbox image.

## Node environment variables

| Variable                                         | Node      | Meaning                                                                                                                                   |
| ------------------------------------------------ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `PHYLAX_NETUID`                                  | both      | The subnet netuid (76 on mainnet)                                                                                                         |
| `SUBTENSOR_NETWORK`                              | both      | `finney` (mainnet) or `test` (testnet)                                                                                                    |
| `WALLET_NAME` / `WALLET_HOTKEY`                  | both      | The Bittensor wallet used to sign                                                                                                         |
| `PHYLAX_TRACK`                                   | miner     | The one track this miner competes in; validators evaluate all four                                                                        |
| `PHYLAX_SERVER_URL`                              | both      | Round scheduler and results for validators; marketplace listing for miners. Unset on a validator falls back to block-derived round timing |
| `PHYLAX_SERVER_HOTKEY`                           | validator | Pinned server hotkey the validator trusts for round scheduling                                                                            |
| `PHYLAX_INFERENCE_PROXY_URL`                     | validator | The metered egress for the jailed sandbox                                                                                                 |
| `PHYLAX_SANDBOX_IMAGE` / `PHYLAX_SANDBOX_DIGEST` | validator | The validator-owned hardened image that miner code runs in                                                                                |
| `PHYLAX_PROXY_ADMIN_TOKEN`                       | validator | Shared secret to read per-task inference metering from the proxy                                                                          |
| `PHYLAX_AGENT_CODE_PATH`                         | miner     | Path to the agent source the miner submits                                                                                                |
| `PHYLAX_EXECUTION_API_KEY`                       | miner     | The metered inference key in the submission                                                                                               |

The executor fails closed: if the sandbox image is unset or unavailable the
validator abstains for the round rather than run agents outside the jail. There
is no executor selection variable.
