pub enum Provenance {
Duel,
HeardEdit,
SelfReport,
}Expand description
How a preference was collected — not what it was.
Every variant conditions the same latent utility and every variant enters
the likelihood identically: FitSet never reads this field, and it is
deliberately not a covariate. Two ways of asking the same question are not
two questions, and a per-provenance weight or intercept would be a modeling
claim nobody has evidence for yet.
It is recorded because the evidence for that claim is exactly what is
missing. A hand edit committed with “my edit is better” ticked is a
self-report: the player asserts an improvement, usually without having
heard the two back to back. The same commit routed through a real duel is a
heard comparison. If self-reports turn out to be systematically
over-confident — and every intuition says they are — the way to find out is
to score the two streams separately against the model’s own forecasts
(crate::ObservationLog plus the session layer’s prequential
calibration), which requires having tagged them from the start.
Variants§
Duel
The app dealt a pair, the user heard both and picked one. The default, and what every observation written before provenance existed was.
HeardEdit
A hand edit committed after hearing the edit against the original.
SelfReport
A hand edit committed with “my edit is better” asserted, unheard.
Implementations§
Trait Implementations§
Source§impl Clone for Provenance
impl Clone for Provenance
Source§fn clone(&self) -> Provenance
fn clone(&self) -> Provenance
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Provenance
impl Debug for Provenance
Source§impl Default for Provenance
impl Default for Provenance
Source§fn default() -> Provenance
fn default() -> Provenance
Source§impl<'de> Deserialize<'de> for Provenance
impl<'de> Deserialize<'de> for Provenance
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for Provenance
impl PartialEq for Provenance
Source§fn eq(&self, other: &Provenance) -> bool
fn eq(&self, other: &Provenance) -> bool
self and other values to be equal, and is used by ==.