pub enum KernelObservation {
Show 27 variants
Compressed {
action: KernelPressureAction,
rho_after: f64,
summary: Option<String>,
archived: Vec<Message>,
invalidates_prefix_at: Option<usize>,
},
Renewed {
sprint: u32,
},
KnowledgeSwept {
turn: u32,
removed_keys: Vec<String>,
tokens_freed: u32,
},
KnowledgeBudgetExceeded {
turn: u32,
used: u32,
budget: u32,
},
Rollbacked {
turn: u32,
checkpoint_history_len: u32,
reason: Option<RollbackReason>,
},
CapabilityChanged {
turn: u32,
added: Vec<String>,
removed: Vec<String>,
change_kind: Option<String>,
capability_id: Option<String>,
version: Option<String>,
mounted_by: Option<String>,
mount_reason: Option<String>,
},
MilestoneAdvanced {
turn: u32,
phase_id: String,
capabilities_unlocked: Vec<String>,
},
MilestoneBlocked {
turn: u32,
phase_id: String,
reason: String,
},
MilestoneEvidence {
turn: u32,
phase_id: String,
evidence: Vec<String>,
},
CheckpointTaken {
turn: u32,
history_len: u32,
},
RepeatFuseTripped {
turn: u32,
signature: String,
count: u32,
action: String,
},
CriteriaGateFired {
turn: u32,
criteria: Vec<String>,
},
AgentProcessChanged {
turn: u32,
agent_id: String,
parent_session_id: String,
role: String,
isolation: String,
context_inheritance: String,
state: String,
permitted_capability_ids: Vec<String>,
result_termination: Option<String>,
},
WorkflowBatchSpawned {
turn: u32,
nodes: Vec<WorkflowSpawnInfo>,
budget: Option<WorkflowBudget>,
},
WorkflowCompleted {
turn: u32,
completed: Vec<String>,
failed: Vec<String>,
},
AgentPreempted {
turn: u32,
agent_ids: Vec<String>,
reason: String,
},
ToolGated {
turn: u32,
call_id: String,
tool: String,
reason: String,
},
SignalDisposed {
turn: u32,
signal_id: String,
disposition: String,
queue_depth: u32,
},
BudgetExceeded {
turn: u32,
budget: String,
},
Suspended {
turn: u32,
reason: String,
pending_calls: Vec<String>,
},
Resumed {
turn: u32,
approved: Vec<String>,
denied: Vec<String>,
},
PageOut {
turn: u32,
action: KernelPressureAction,
rho_after: f64,
summary: Option<String>,
archived: Vec<Message>,
tier_hint: String,
},
PageInRequested {
turn: u32,
call_id: String,
tool: String,
query: String,
top_k: u32,
},
MemoryWritten {
turn: u32,
memory_id: String,
memory_kind: String,
size_bytes: u32,
},
MemoryValidationFailed {
turn: u32,
memory_id: String,
error: String,
},
MemoryQueried {
turn: u32,
query_context: String,
requested_k: usize,
requires_async_response: bool,
},
LargeResultSpooled {
turn: u32,
call_id: String,
tool: String,
original_size: u32,
preview_size: u32,
spool_ref: Option<String>,
},
}Variants§
Compressed
Fields
action: KernelPressureActionRenewed
KnowledgeSwept
K1: a boundary sweep of the knowledge partition applied deferred upserts and/or dropped
marked entries. removed_keys lists keyed removals (unkeyed drops count only in
tokens_freed); an upsert-only sweep has empty removed_keys.
KnowledgeBudgetExceeded
K2: the knowledge partition exceeds its configured budget share. Fired at most once per cache generation; the over-budget unpinned entries are already marked for the next boundary sweep. Pinned/skill weight that cannot be evicted keeps the warning standing.
Rollbacked
CapabilityChanged
Fields
MilestoneAdvanced
MilestoneBlocked
MilestoneEvidence
Evidence collected by the verifier during milestone evaluation.
CheckpointTaken
Checkpoint taken at the start of a turn transaction (before LLM call).
RepeatFuseTripped
O6: the repeat fuse tripped — the same turn signature (non-meta tool name AND args) was
re-issued countx consecutively. action = "deny" (turn rolled back, directive note fed
back) or "terminate" (run ends no_progress after one final report turn). Additive ABI.
CriteriaGateFired
O4: the turn-end criteria gate fired — the model tried to finish while acceptance criteria
stand; the kernel injected one self-check turn before accepting Completed. Additive ABI.
AgentProcessChanged
Kernel process table changed for a spawned sub-agent.
Fields
WorkflowBatchSpawned
W0-ABI: a workflow batch was spawned — each node’s spawn descriptor (agent id + goal + role/isolation/inheritance) so the SDK can run the kernel-generated nodes.
Fields
nodes: Vec<WorkflowSpawnInfo>budget: Option<WorkflowBudget>G4 budget-as-signal: the workflow’s remaining headroom under the active quota at spawn time, so a coordinator node can scale its next submission. Additive: omitted when no resource quota is installed (nothing to report).
WorkflowCompleted
W0-ABI: a workflow finished (all nodes terminal, or stalled by a gated dependency).
AgentPreempted
#2-B: a high-urgency InterruptNow signal preempted in-flight work. The kernel has already
marked these agents Done(UserAbort) and reclaimed the root to reason about the interrupt; the
SDK must ABORT the listed in-flight child runs and discard their results (do NOT feed their
SubAgentCompleted). Additive variant (agent_preempted) — byte-identical for SDKs that never
receive it.
ToolGated
A tool call needs user approval (governance AskUser). Not blocked by the
kernel — the SDK must obtain approval before executing the named call.
SignalDisposed
An inbound signal was routed by the in-kernel attention policy.
BudgetExceeded
A budget axis (turns / tokens / wall-time) was exhausted.
Suspended
Loop entered Suspended state (awaiting human approval or sub-agent).
Resumed
Loop resumed from Suspended state.
PageOut
Working memory archived for long-term storage (page-out decision).
Fields
action: KernelPressureActionPageInRequested
Kernel requests SDK to fetch long-term memory for a meta-tool call.
MemoryWritten
Memory entry written successfully (Phase 7).
MemoryValidationFailed
Memory validation failed (Phase 7).
MemoryQueried
Memory query request (Phase 7).
LargeResultSpooled
Large tool result spooled (Layer 1).
Trait Implementations§
Source§impl Clone for KernelObservation
impl Clone for KernelObservation
Source§fn clone(&self) -> KernelObservation
fn clone(&self) -> KernelObservation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more