Skip to main content

zenkey_fleet/report/
seed.rs

1//! The seeding plane: what each path of a seeded subscription contributed.
2//!
3//! Every count here reads three ways on purpose — `None` is a path that was
4//! switched off, `Some(0)` is a path that ran and nobody answered, and a
5//! number is a number (RFC 09 §5.1 O4).
6
7/// What each seed path contributed.
8#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
9pub struct SeedCoverage {
10    /// Replies from the `@adv` cache query (`None` = the history path was
11    /// disabled; `Some(0)` = ran and no cache answered — an observation,
12    /// not a verdict).
13    pub history_replies: Option<usize>,
14    /// Replies from the storage GET (same `None`/`Some(0)` reading).
15    pub storage_replies: Option<usize>,
16    /// Samples suppressed by the merge — not newer than what was already
17    /// seen for their key. The honesty counter: a seed that arrived late
18    /// and lost (or duplicated the other path) is counted, never silently
19    /// absorbed.
20    pub superseded: u64,
21}