pub enum RecordKind {
Invocation,
Http,
Gh,
Worktree,
DriveMutation,
Audit,
Unknown,
}Expand description
Which kind of record a line holds. Unknown future kinds deserialize to
RecordKind::Unknown rather than failing the read.
Variants§
Invocation
One per process invocation (or per MCP tool call).
Http
One per outbound HTTP request.
Gh
One per gh CLI subprocess invocation (the only path to the GitHub API;
the token never enters our process, so these are subprocess records, not
RecordKind::Http). See crate::github_metrics.
Worktree
One per wrapped git worktree subprocess invocation, carrying
recovery-relevant metadata (path/branch/commit) in context.
See crate::cli::git worktree subcommands.
DriveMutation
One per Drive/Sheets/Docs content-mutating attempt — create,
upload, edit, rename, move, and every Sheets/Docs write,
structural, delete or protection verb — including a refused
Blocked attempt for any of them, where the refusal itself is the
security-relevant event. Covers every operation via command/
context, mirroring how RecordKind::Worktree covers multiple
verbs rather than one kind per verb. See crate::drive.
Audit
One per leased-write lifecycle event — lease acquire, a write under
a lease, expiry/release, restore, and every refusal along the way —
written to the separate, fail-closed audit.jsonl sink rather than
this log (ADR-0080 §11). Distinct from
RecordKind::DriveMutation, which stays the best-effort record
written here for the same underlying API call: a leased write
produces both, correlated by invocation_id. See
record_audit/audit_file_path.
Unknown
A kind written by a newer version that this reader does not know.
Implementations§
Trait Implementations§
Source§impl Clone for RecordKind
impl Clone for RecordKind
impl Copy for RecordKind
Source§impl Debug for RecordKind
impl Debug for RecordKind
Source§impl Default for RecordKind
impl Default for RecordKind
Source§impl<'de> Deserialize<'de> for RecordKind
impl<'de> Deserialize<'de> for RecordKind
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>,
impl Eq for RecordKind
Source§impl Ord for RecordKind
impl Ord for RecordKind
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for RecordKind
impl PartialEq for RecordKind
Source§impl PartialOrd for RecordKind
impl PartialOrd for RecordKind
Source§impl Serialize for RecordKind
impl Serialize for RecordKind
impl StructuralPartialEq for RecordKind
Auto Trait Implementations§
impl Freeze for RecordKind
impl RefUnwindSafe for RecordKind
impl Send for RecordKind
impl Sync for RecordKind
impl Unpin for RecordKind
impl UnsafeUnpin for RecordKind
impl UnwindSafe for RecordKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more