Skip to main content

ImplicitEvent

Struct ImplicitEvent 

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

Candidate id the event is about (0 when it is about the bench, which is not a candidate until it is committed).

§value: f64

Magnitude (play counts, dwell in ms, 1 for point events).

§session: usize

Session index when it happened.

§detail: String

Free-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

Source§

fn clone(&self) -> ImplicitEvent

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ImplicitEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ImplicitEvent

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ImplicitEvent

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,