Skip to main content

Pack

Trait Pack 

Source
pub trait Pack {
    const NAME: &'static str;
    const NOTE_KINDS: &'static [&'static str];
    const ENTITY_KINDS: &'static [&'static str];
    const VERBS: &'static [VerbDef];
}
Expand description

A composable module that contributes vocabulary and verbs to the khive runtime.

Packs declare what entity kinds, note kinds, and verbs they introduce. The runtime merges vocabularies from all loaded packs and rejects unregistered kinds at the service boundary.

Edge relations remain a closed enum (ADR-021) and are NOT pack-extensible.

Required Associated Constants§

Source

const NAME: &'static str

Short identifier for this pack (e.g. “kg”, “tasks”).

Source

const NOTE_KINDS: &'static [&'static str]

Note kinds this pack contributes to the runtime vocabulary.

Source

const ENTITY_KINDS: &'static [&'static str]

Entity kinds this pack contributes to the runtime vocabulary.

Source

const VERBS: &'static [VerbDef]

Verbs this pack handles. The runtime routes verb calls to the pack that declares them.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§