pub struct ImplicitEvent {
pub kind: String,
pub id: u64,
pub value: f64,
pub session: usize,
pub detail: String,
pub phi_before: Vec<f64>,
pub phi_after: Vec<f64>,
}Expand description
An implicit preference signal, logged but (for now) not modeled: promote events, hand-edit commits, per-patch play counts. Un-logged signal is gone forever; modeling can come later.
The three optional fields carry the editor’s stream (WS-8 §3). The single most informative row in it is a revert: the player made an edit, heard it, sat with it for a few seconds, and took it back. That is a preference statement about a pair of patches neither of which is in the bank, at edit granularity — far denser than the duel stream and the natural training set for an edit-level model. It is unbuildable without a year of this log, and the log is unbuildable retroactively, which is the whole argument for writing it before anything reads it.
Deliberately not in the likelihood, exactly as the play counts already here are not: a revert is confounded with curiosity, and the honest place for it is a v2 fit that can be validated, not a silent term in the model the player is being shown a number from.
Fields§
§kind: String"promote", "play", "edit", "revert", "commit", …
id: u64Candidate id the event is about (0 when it is about the bench, which is not a candidate until it is committed).
value: f64Magnitude (play counts, dwell in ms, 1 for point events).
session: usizeSession index when it happened.
detail: StringFree-form JSON detail: the StructOp and module kind for an edit, the
query string for a link-drag search, the outcome of a commit. A string
rather than a typed field per event kind, because the point of this log
is to be written now and interpreted later — a schema fixed today is
a schema that stops the next event kind from being logged at all.
phi_before: Vec<f64>Raw φ before the event, where the event is a transition (revert).
phi_after: Vec<f64>Raw φ after it.
Trait Implementations§
Source§impl Clone for ImplicitEvent
impl Clone for ImplicitEvent
Source§fn clone(&self) -> ImplicitEvent
fn clone(&self) -> ImplicitEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more