Expand description
Pack trait — the declarative composition unit for khive (ADR-025).
A pack declares vocabulary (note kinds, entity kinds), verbs, and edge
endpoint rules. This is purely static metadata — no I/O, no async.
Runtime dispatch lives in khive-runtime (PackRuntime trait +
VerbRegistry).
This trait lives in khive-types (no_std, zero deps) so downstream crates can reference pack metadata without pulling in the full runtime.
Structs§
- Edge
Endpoint Rule - A pack-declared endpoint rule for a specific edge relation (ADR-031).
- Handler
Def - Handler metadata for discovery and documentation (ADR-023, ADR-025).
- Note
Kind Spec - Kind-level schema specification for a note kind (ADR-004 §NoteKindSpec).
- Note
Lifecycle Spec - Lifecycle specification for a note kind (ADR-004 §NoteKindSpec).
- Pack
Schema Plan - DDL statements the pack needs applied to the auxiliary schema (ADR-019).
Enums§
- Endpoint
Kind - Match spec for one end of an
EdgeEndpointRule(ADR-031). - Verb
Category - Illocutionary force classification for a verb handler (ADR-025).
- Visibility
- Visibility tier for a handler (ADR-023).
Traits§
- Pack
- A composable module that contributes vocabulary, verbs, and edge endpoint rules to the khive runtime.
Type Aliases§
- VerbDef
Deprecated - Backward-compatible type alias. Existing code that names
VerbDefstill compiles; new code should useHandlerDefdirectly (ADR-023).