Repository navigation
validator: setup, per miner send and clear, router pass at close; plain Docker sandbox; automatic probe agent placement - #171
Merged
Conversation
…result and then deletes the artifact, and a router pass at close; plain Docker sandbox; automatic probe agent placement
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One epoch now runs as the operator's validator flow, one function per step.
Setup, automatic and once per arena: load the epoch; reference parts and allowed bases from the cache or downloaded when missing; the probe agent placed from the GPUs the validator sees (its own GPU when there are two or more; sharing one card of 40 GB or more with the full model; sharing a smaller card on testnet with the AWQ build of the same model; refused otherwise); the reference, frontier redo and each base run on the hidden items, with a failing frontier redo marking those pools as having no reference instead of stopping the epoch; the miner queue built from metadata only, ordered by commit block.
Per miner loop, one at a time or one per GPU: fetch and check, evaluate (SLM, harness, escalation, full system per floor), score, then post the signed miner result to POST /v2/reports/artifact and delete the artifact and SLM weights. A failing miner is posted with its reason and deleted the same way. Only router folders are kept, moved aside.
Close: the router pass scores each kept router on the other miners' and the reference drafts, posts again with the router pool and deletes the folder; failed posts are retried; weights; the signed epoch report; probe sets; the work folder cleared except the report; base weights stay cached.
The sandbox is a locked down Docker container everywhere (no gVisor default, no entrypoint check), missing sibling images are pulled with retries, the manual judge settings from PR 170 are replaced by the automatic placement, and a malformed manifest is a per miner refusal instead of an epoch failure. Docs updated.
🤖 Generated with Claude Code