Skip to main content

Crate cp_validator

Crate cp_validator 

Source
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:

  1. Load test query corpus (from Arweave or local file)
  2. Compute current validation window
  3. Select test queries deterministically from corpus
  4. For each contributor: download from Arweave, index, run queries, measure metrics
  5. Rank contributors by composite score, update OpenSkill ratings pairwise
  6. For each peer: connect over Tor, send queries, measure quality + latency
  7. Rank peers by composite score, update OpenSkill ratings pairwise
  8. 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§

ContributorRating
OpenSkill Bayesian rating for a content contributor.
PeerRating
OpenSkill Bayesian rating for a live search peer.
Validator
The main validator that runs evaluation loops.
ValidatorConfig
Configuration for the validator.

Enums§

ValidatorError
Errors specific to the validator protocol.

Functions§

prioritize_downloads
Prioritize Arweave downloads by contributor rating.