pub struct RowInput<'a> {
pub event: LogEvent,
pub result: LogResult,
pub capability: Capability,
pub ref_: Option<&'a str>,
pub source: Option<&'a str>,
pub error_code: Option<&'a str>,
pub size_bytes: Option<u64>,
pub license: Option<&'a str>,
pub store_path: Option<&'a str>,
pub canonical_digest: Option<&'a str>,
}Expand description
Caller-supplied fields for a row. The writer fills in ts, ts_seq,
session_id, prev_hash, this_hash, and the literal
schema_version = "v2" (LOG_SCHEMA_VERSION).
Callers SHOULD populate Self::canonical_digest on rows that have
a meaningful audit identity (Fetch / Resolve / StoreWrite rows
with a ref), leaving it None on session bookend rows. The digest
is produced by crate::CanonicalRef::digest_hex from a
(source_type, source_id, resolver_profile, version) tuple — see
ADR-0021 §1 for the algorithm and ADR-0024 for the implementation
surface.
Fields§
§event: LogEventEvent class.
result: LogResultResult.
capability: CapabilityCapability under which the row is written (REQUIRED for every row).
ref_: Option<&'a str>Optional DOI / arXiv id.
source: Option<&'a str>Optional source name.
error_code: Option<&'a str>Optional error code on failure rows.
size_bytes: Option<u64>Optional payload size in bytes.
license: Option<&'a str>Optional OA license string (set on event=fetch, result=ok).
store_path: Option<&'a str>Optional store path relative to the store root (set on event=fetch,
result=ok).
canonical_digest: Option<&'a str>Optional canonical-digest (ADR-0021 §1) as 64 lowercase hex
chars. None for session bookend / capability-resolution rows;
SHOULD be Some for Fetch / Resolve / StoreWrite rows
whose source field names the resolver. Build via
crate::Ref::promote + crate::CanonicalRef::digest_hex.