# TrustRank (Reputation) **Last Updated:** 2025-01-31 **Confidence:** Medium (planned feature) ## Summary TrustRank is a recursive PageRank-style algorithm for agent credibility. Agents who make accurate claims early gain reputation; agents who contradict settled truth lose reputation. **Key Facts:** - Stored in `A:{AgentId}` key in KV store - Background "Gardener" process calculates scores - Used by `Authority` lens to weight assertions - Reputation decays for low-confidence agents **File Pointer:** `crates/stemedb-gardener/src/trustrank.rs` (planned, Phase 4) ## How It Works ### Validation Loop (Gardener) ``` Every N hours: 1. Find "Settled Facts" (>99% consensus over T time) 2. For each settled fact: - Reward agents who claimed it early (+R) - Punish agents who claimed opposite (-R) 3. Update A:{AgentId} scores 4. Back-propagate: high-R agents boost sources they cite ``` ### Usage in Authority Lens ```rust impl Lens for AuthorityLens { fn resolve(&self, candidates: &[Assertion], ctx: &QueryContext) -> LensResult { // Weight by agent reputation let weighted: Vec<_> = candidates.iter() .map(|a| { let rep = ctx.get_reputation(&a.agent); (a, rep) }) .collect(); // Return highest weighted assertion weighted.into_iter() .max_by_key(|(_, rep)| *rep) .map(|(a, _)| a.clone()) } } ``` ## Reputation Score Range | Score | Meaning | |-------|---------| | 0-300 | Unreliable (spam, noise) | | 300-600 | Neutral (unproven) | | 600-900 | Reliable (track record) | | 900-1000 | Authoritative (expert) | ## Related Topics - [Lens](../services/lens.md) - [Roadmap Phase 4](../../../roadmap.md)