Skip to main content

KernelConfig

Struct KernelConfig 

Source
pub struct KernelConfig {
Show 19 fields pub enabled: bool, pub max_processes: u32, pub health_check_interval_secs: u64, pub brand: String, pub cluster: Option<ClusterNetworkConfig>, pub chain: Option<ChainConfig>, pub resource_tree: Option<ResourceTreeConfig>, pub vector: Option<VectorConfig>, pub spatial: Option<SpatialConfig>, pub profiles: Option<ProfilesConfig>, pub pairing: Option<PairingConfig>, pub mesh: Option<MeshConfig>, pub anchor: Option<AnchorConfig>, pub ipc_tcp: Option<IpcTcpConfig>, pub llm: Option<LlmEndpointConfig>, pub agent: Option<AgentAnchorConfig>, pub governance: GovernanceConfig, pub profile: Option<KernelProfile>, pub shared_services: SharedServicesConfig,
}
Expand description

Kernel subsystem configuration.

Embedded in the root Config under the kernel key. All fields have sensible defaults so that existing configuration files parse without errors.

§Example JSON

{
  "kernel": {
    "enabled": false,
    "max_processes": 128,
    "health_check_interval_secs": 15
  }
}

Fields§

§enabled: bool

Whether the kernel subsystem is enabled.

When false, kernel subsystems do not activate unless explicitly invoked via weave kernel CLI commands. Defaults to true.

§max_processes: u32

Maximum number of concurrent processes in the process table.

§health_check_interval_secs: u64

Interval (in seconds) between periodic health checks.

§brand: String

Product display brand for white-label deployments (WEFT-176).

Used by Discord identify (browser / device), CLI help text, boot banners, and the web UI header. Defaults to "WeftOS". Binary/crate names are unchanged — this is display-only.

§cluster: Option<ClusterNetworkConfig>

Cluster networking configuration (native coordinator nodes).

§chain: Option<ChainConfig>

Local chain configuration (exochain feature).

§resource_tree: Option<ResourceTreeConfig>

Resource tree configuration (exochain feature).

§vector: Option<VectorConfig>

Vector search backend configuration (ECC feature).

§spatial: Option<SpatialConfig>

Spatial BVH index configuration (ECC feature, ADR-056 / WEFT-718).

Defaults to disabled (enabled = false) when present; omit the section entirely for no spatial subsystem registration.

§profiles: Option<ProfilesConfig>

Per-user profile namespace configuration.

§pairing: Option<PairingConfig>

Time-windowed pairing configuration.

§mesh: Option<MeshConfig>

Mesh networking configuration (K6 transport layer).

§anchor: Option<AnchorConfig>

Stream-window chain anchor configuration.

When enabled, the kernel subscribes to every topic matching one of the configured prefixes/globs and chain-appends a stream.window_commit event every window_secs summarising the window: BLAKE3 of concatenated message bytes, message count, byte count, first+last tick, and owning agent_id (when known). This gives verifiers a tamper-evident anchor without putting raw frames on-chain.

§ipc_tcp: Option<IpcTcpConfig>

Optional TCP relay for the daemon’s JSON-RPC socket.

When enabled, the daemon also listens on a TCP port and transparently forwards every accepted connection to the local unix socket via in-process byte-copy. Clients speak the exact same line-delimited JSON-RPC protocol. All auth/policy stays in the unix-socket handler path — the TCP side is a byte conduit only. Intended for cross-boundary callers (Windows side of WSL, remote bridges) that cannot open AF_UNIX.

§llm: Option<LlmEndpointConfig>

Optional LLM endpoint configuration.

Sets the daemon’s llm.prompt / agent.chat upstream when no LLM_SERVICE_URL / LLM_MODEL env vars are present. Env vars always win over this block — the env path is for one-off experiments; the config block is the durable home.

§agent: Option<AgentAnchorConfig>

Optional agent-anchoring configuration.

Controls whether successful agent.chat turns are mirrored into the witness chain, the HNSW vector index, and the causal graph. All flags default to false so the substrate JSONL archive behaviour stays the only side-effect unless an operator opts in.

§governance: GovernanceConfig

Governance policy (ADR-103 D12): what requests outside any project may do. Defaults to read_only.

§profile: Option<KernelProfile>

Kernel profile (ADR-103 A6). "project" marks a per-project child kernel supervised by the user daemon; absent keeps the existing behaviour. The user-daemon profile is process state, not config.

§shared_services: SharedServicesConfig

Which heavy services a project-profile kernel takes from its parent (the user daemon) instead of running itself. Only read when profile = "project".

Implementations§

Source§

impl KernelConfig

Source

pub fn for_inspection(self) -> KernelConfig

Config for a one-shot inspection boot (kernel status|ps|services|boot without --foreground): identical, but no network listener is bound, so it cannot collide with a running daemon’s mesh port, and the local chain is disabled, so it never takes chain.lock, never adopts the legacy chain and never appends to a real chain (ADR-103 Phase 0).

Source

pub fn brand(&self) -> &str

Display brand token; empty / whitespace values fall back to DEFAULT_BRAND.

Trait Implementations§

Source§

impl Clone for KernelConfig

Source§

fn clone(&self) -> KernelConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for KernelConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for KernelConfig

Source§

fn default() -> KernelConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for KernelConfig

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<KernelConfig, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<KernelConfig> for KernelConfigExt

Source§

fn from(base: KernelConfig) -> Self

Converts to this type from the input type.
Source§

impl Serialize for KernelConfig

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Pointer = u32

Source§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more