pub struct NegativeResult {
pub id: String,
pub kind: NegativeResultKind,
pub target_findings: Vec<String>,
pub deposited_by: String,
pub conditions: Conditions,
pub provenance: Provenance,
pub created: String,
pub notes: String,
pub review_state: Option<ReviewState>,
pub retracted: bool,
pub access_tier: AccessTier,
}Fields§
§id: Stringvnr_<16hex>, content-addressed; see NegativeResult::content_address.
kind: NegativeResultKindThe kind-specific payload.
target_findings: Vec<String>vf_* findings whose positive claim this null bears against.
May be empty — exploratory dead ends don’t always have a
pre-existing claim to negate.
deposited_by: StringStable actor id of the depositing lab / curator / agent.
conditions: ConditionsConditions under which the null was observed. Reuses the
Conditions shape so model relevance, scope, and translation
boundaries flow through to downstream confidence math.
provenance: ProvenanceProvenance of the trial readout / paper / preprint / lab notebook.
created: StringRFC 3339 creation timestamp.
notes: StringFree-text reviewer note. Often the most important field — the “why this null matters” or “why we ran this in the first place” context that licenses use as a dead-end signal.
review_state: Option<ReviewState>Optional review verdict. Mirrors the Flags.review_state
pattern on FindingBundle so reviewed/contested/needs-revision
nulls are first-class state.
retracted: boolTrue once a negative_result.retracted event has been applied.
access_tier: AccessTierv0.51: Read-side access tier. See FindingBundle.access_tier
for the doctrine. Defaults to Public and skips serialization
when public so pre-v0.51 frontiers round-trip byte-identically.
Implementations§
Source§impl NegativeResult
impl NegativeResult
Sourcepub fn content_address(
kind: &NegativeResultKind,
deposited_by: &str,
created: &str,
conditions: &Conditions,
) -> String
pub fn content_address( kind: &NegativeResultKind, deposited_by: &str, created: &str, conditions: &Conditions, ) -> String
Compute the content-addressed ID per v0.49 spec:
SHA-256(kind.canonical() | deposited_by | created | normalize(conditions.text)).
Returns first 16 hex chars prefixed with “vnr_”.
Sourcepub fn new(
kind: NegativeResultKind,
target_findings: Vec<String>,
deposited_by: impl Into<String>,
conditions: Conditions,
provenance: Provenance,
notes: impl Into<String>,
) -> Self
pub fn new( kind: NegativeResultKind, target_findings: Vec<String>, deposited_by: impl Into<String>, conditions: Conditions, provenance: Provenance, notes: impl Into<String>, ) -> Self
Construct a new NegativeResult with a freshly-derived id and
created timestamp set to now.
Sourcepub fn is_informative_trial_null(&self) -> Option<bool>
pub fn is_informative_trial_null(&self) -> Option<bool>
True when the null is informative under the registered-trial
criterion: adequate power AND CI excludes the pre-registered
MCID. Returns None for exploratory nulls or trials missing
the required fields. Used by downstream confidence math to
distinguish “absence of effect” from “absence of evidence.”
Trait Implementations§
Source§impl Clone for NegativeResult
impl Clone for NegativeResult
Source§fn clone(&self) -> NegativeResult
fn clone(&self) -> NegativeResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more