pub struct KernelConfig {Show 16 fields
pub keypair: Keypair,
pub ca_public_keys: Vec<PublicKey>,
pub max_delegation_depth: u32,
pub policy_hash: String,
pub allow_sampling: bool,
pub allow_sampling_tool_use: bool,
pub allow_elicitation: bool,
pub max_stream_duration_secs: u64,
pub max_stream_total_bytes: u64,
pub require_web3_evidence: bool,
pub allow_ephemeral_receipt_log: bool,
pub allow_ephemeral_revocation_store: bool,
pub checkpoint_batch_size: u64,
pub retention_config: Option<RetentionConfig>,
pub memory_budget: MemoryBudgetConfig,
pub deadlines: HotPathDeadlineConfig,
}Expand description
Configuration for the Chio Runtime Kernel.
Fields§
§keypair: KeypairEd25519 keypair for signing receipts and issuing capabilities.
ca_public_keys: Vec<PublicKey>Public keys of trusted Capability Authorities.
max_delegation_depth: u32Maximum allowed delegation depth.
policy_hash: StringSHA-256 hash of the active policy (embedded in receipts).
allow_sampling: boolWhether nested sampling requests are allowed at all.
allow_sampling_tool_use: boolWhether sampling requests may include tool-use affordances.
allow_elicitation: boolWhether nested elicitation requests are allowed.
max_stream_duration_secs: u64Maximum total wall-clock duration permitted for one streamed tool result.
max_stream_total_bytes: u64Maximum total canonical payload size permitted for one streamed tool result.
require_web3_evidence: boolWhether durable receipts and kernel-signed checkpoints are mandatory prerequisites for this deployment.
allow_ephemeral_receipt_log: boolAllow process-local receipt logs when no durable receipt store is installed. This is for tests and local scaffolds only; protocol deployments should leave it false so successful dispatch requires durable receipt persistence before any tool side effect.
allow_ephemeral_revocation_store: boolAllow a process-local (in-memory) revocation store when no durable or remote revocation source is installed. This is for tests and local scaffolds only; deployments should leave it false so a revoked capability cannot be re-accepted after a restart drops the revocation set.
checkpoint_batch_size: u64Number of receipts between Merkle checkpoint snapshots. Default: 100.
Set to 0 to disable automatic checkpointing for deployments that do not require web3 evidence.
retention_config: Option<RetentionConfig>Optional receipt retention configuration.
When None (default), retention is disabled and receipts accumulate
indefinitely. When Some(config), the kernel will archive receipts
that exceed the time or size threshold.
memory_budget: MemoryBudgetConfigPer-process memory budget (bounded-structure caps + RSS soft ceiling).
deadlines: HotPathDeadlineConfigWall-clock budgets for the mediation hot path. Construction input only, not a wire payload, so this changes no signed or transmitted bytes.
Auto Trait Implementations§
impl Freeze for KernelConfig
impl RefUnwindSafe for KernelConfig
impl Send for KernelConfig
impl Sync for KernelConfig
impl Unpin for KernelConfig
impl UnsafeUnpin for KernelConfig
impl UnwindSafe for KernelConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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