Process Layout
The miner and validator deployments are independent process groups. Each one runs on Docker Compose.| Group | Processes |
|---|---|
| Miner | phylax-miner container + sandbox container per task |
| Validator | phylax-validator container + sandbox rerun container per job |
Data Stores
| Store | Owner | What it holds |
|---|---|---|
~/.phylax/rerun_queue.sqlite3 | Validator | Pending and completed sandbox rerun jobs |
~/.phylax/collusion.sqlite3 | Validator | 30 round window of agreement data per miner per skill type |
| Docker image cache | Validator and miner | Pulled sandbox images |
| Miner host filesystem | Miner | Sandbox image, local pipeline source, optional model artifacts |
Inter-Component Traffic
| Channel | Protocol | Frequency |
|---|---|---|
| Validator ↔ Subtensor | WebSocket | One metagraph poll per round, one set_weights per WEIGHT_UPDATE_INTERVAL |
| Validator ↔ Miner | Dendrite (HTTPS over axon) | Up to twelve dispatches per round, one async rerun per primary later |
Validator Process Tree
The validator container starts as PID 1 runningneurons/validator.py, which forks four logical threads.
| Thread | Responsibility |
|---|---|
| Forward loop | Drives the per round flow. Most CPU work. |
| Rerun worker | Polls rerun_queue.sqlite3, pulls images, runs reruns. Independent rate. |
| Axon health | Exposes a tiny axon for chain side health checks. |
| Watchdog | Restarts the forward loop on hang. |
Miner Process Tree
| Thread | Responsibility |
|---|---|
| Axon serve | Receives dispatches, calls into the pipeline, returns SSSAs. |
| Docker manager | Manages per task sandbox container lifecycle. |
| Optional MCP client | Used only when the miner supports the mcp_server skill type. |
What Happens on Restart
| Component | What survives restart |
|---|---|
| Validator | Rerun queue, collusion DB, last on-chain weight vector. Forward loop state is recomputed from chain on first round. |
| Miner | Sandbox image cache. Pipeline state is stateless across requests. |
| Subtensor | Public chain state survives by definition. |
Network Egress Requirements
| Component | Outbound dependencies |
|---|---|
| Miner | Sandbox image registry of choice, package registries inside the sandbox (pip, npm), optional LLM provider for llm_evidence |
| Validator | Every sandbox image registry that any miner uses, optional LLM provider, subtensor endpoint |
Failure Domains
| Failure | Effect |
|---|---|
| Single miner offline | Their slot in the verification group is left empty. If fewer than three miners support the type the consensus for that task degrades. |
| Single validator offline | That validator stops contributing weight. Other validators are unaffected. |
| Subtensor offline | Chain wide failure outside the system’s control. Validators retry. |
What’s Next
Round Flow
Complete per round timing and failure modes.
Configuration Reference
Every environment variable in one place.
Protocol Reference
The
PhylaxSynapse wire format.Sandbox Reruns
Async miner image rerun verification.