Expand description
Validator protocol for empirical quality verification (CP-015).
Any Canon node can opt into validation. Validators download content from
Arweave, index it locally, run test queries against it, measure retrieval
quality, and publish OpenSkill Bayesian ratings for content contributors.
These ratings help other nodes prioritize what to download from Arweave.
Validators also test live search peers by connecting over Tor, sending test queries, and rating peer quality for circuit selection.
The approach adapts Templar/Covenant (tplr.ai), which uses empirical
quality verification for decentralized pre-training. OpenSkill Bayesian
ratings provide a robust, game-resistant ranking that converges even
with sparse observations. Window-based coordination ensures validators
test the same content without requiring blockchain synchronization.
Data flow:
- Load test query corpus (from Arweave or local file)
- Compute current validation window
- Select test queries deterministically from corpus
- For each contributor: download from Arweave, index, run queries, measure metrics
- Rank contributors by composite score, update
OpenSkillratings pairwise - For each peer: connect over Tor, send queries, measure quality + latency
- Rank peers by composite score, update
OpenSkillratings pairwise - Publish results to Arweave
Re-exports§
pub use corpus::TestCorpus;pub use corpus::TestQuery;pub use evaluation::composite_score;pub use evaluation::evaluate_contributor;pub use evaluation::evaluate_local_graph;pub use evaluation::evaluate_peer;pub use evaluation::mrr;pub use evaluation::ndcg_at_k;pub use evaluation::peer_composite_score;pub use evaluation::precision_at_k;pub use evaluation::update_contributor_ratings;pub use evaluation::update_peer_ratings;pub use evaluation::EvaluationResult;pub use evaluation::PeerQualityMetrics;pub use evaluation::PeerTestResult;pub use evaluation::QualityMetrics;pub use rating::pairwise_update;pub use rating::Rating;pub use rating::DEFAULT_MU;pub use rating::DEFAULT_SIGMA;pub use window::select_test_queries;pub use window::ValidationWindow;
Modules§
- corpus
- Test query corpus for validator evaluations.
- evaluation
- Evaluation pipeline for content contributors and live peers.
- rating
- Bayesian rating implementation using skillratings’ Weng-Lin model.
- window
- Window-based coordination for validators.
Structs§
- Contributor
Rating OpenSkillBayesian rating for a content contributor.- Peer
Rating OpenSkillBayesian rating for a live search peer.- Validator
- The main validator that runs evaluation loops.
- Validator
Config - Configuration for the validator.
Enums§
- Validator
Error - Errors specific to the validator protocol.
Functions§
- prioritize_
downloads - Prioritize Arweave downloads by contributor rating.