pub struct ContextVmStateV1 {Show 13 fields
pub handles: Vec<HandleState>,
pub next_handle_id: u32,
pub pending_payload_loads: Vec<PendingPayloadLoadState>,
pub active_skills: Vec<SkillLeaseState>,
pub knowledge: Vec<KnowledgeSlotState>,
pub signals: Vec<String>,
pub messages: Vec<StoredMessageState>,
pub task_state: LogicalTaskState,
pub partition_tokens: PartitionTokenState,
pub history_len: u32,
pub frozen_history_len: u32,
pub last_activity_ms: WireU64,
pub last_compact_ms: Option<WireU64>,
}Expand description
§12.1 · the P3 plane: the handle table and its allocator, skills and their leases, the knowledge slots, the signal partition and the compaction/renewal clocks.
What is here is everything the context VM cannot re-derive: identity (handle ids and the allocator that mints them), leases, pin/evict marks, the pending page-in verification targets, the clocks the decay ladders read — and, since Task 16, the stored messages themselves.
The message projection is what makes §12.2 true (adjudication §5q-2). Task 15 carried only token
counts and lengths on the theory that a tail replay could rebuild the bodies; it cannot, because
a tail that starts above genesis never replays the inputs that produced the older messages. And
as long as the bodies were unrecoverable, acking a checkpoint and pruning the journal prefix
destroyed the rendering input for good. So they are here — as StoredMessageState, a source
projection. §15.2’s ban is on derived planned steps and rendered context;
nothing here is either. A body that is over §7.10’s inline threshold is not inlined: an
External/PagedOut residency travels as its handle reference and digest, exactly as it does in
working context.
Fields§
§handles: Vec<HandleState>The home of P3 handle identity and residency.
next_handle_id: u32The monotonic allocator. Checkpointing it is what stops a restored kernel from re-issuing a handle id that an outstanding effect still addresses.
pending_payload_loads: Vec<PendingPayloadLoadState>§7.10 rule 4 · the digest each pending LoadPayload will verify its body against. Held
here rather than re-read from the handle table at resolution time, so a residency that moved
in between cannot change what a page-in is checked against.
active_skills: Vec<SkillLeaseState>§knowledge: Vec<KnowledgeSlotState>§signals: Vec<String>§messages: Vec<StoredMessageState>§5q-2 · the stored messages of the system and history partitions, in render order. The
home of message bodies; the knowledge partition carries its own inside
KnowledgeSlotState, because a knowledge entry is an identified slot rather than a
positional message.
task_state: LogicalTaskStateThe durable task board (goal / plan / progress / directives). It renders into the prompt like a message does, survives compression by construction, and is the one partition of §12.1’s P3 plane that is neither a message list nor a handle.
partition_tokens: PartitionTokenState§history_len: u32§frozen_history_len: u32Message-count boundary projected as frozen_prefix_len on future provider effects.
last_activity_ms: WireU64§last_compact_ms: Option<WireU64>Trait Implementations§
Source§impl Clone for ContextVmStateV1
impl Clone for ContextVmStateV1
Source§fn clone(&self) -> ContextVmStateV1
fn clone(&self) -> ContextVmStateV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more