Skip to main content

Module pack

Module pack 

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

EdgeEndpointRule
A pack-declared endpoint rule for a specific edge relation (ADR-031).
HandlerDef
Handler metadata for discovery and documentation (ADR-023, ADR-025).
NoteKindSpec
Kind-level schema specification for a note kind (ADR-004 §NoteKindSpec).
NoteLifecycleSpec
Lifecycle specification for a note kind (ADR-004 §NoteKindSpec).
PackSchemaPlan
DDL statements the pack needs applied to the auxiliary schema (ADR-019).

Enums§

EndpointKind
Match spec for one end of an EdgeEndpointRule (ADR-031).
VerbCategory
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§

VerbDefDeprecated
Backward-compatible type alias. Existing code that names VerbDef still compiles; new code should use HandlerDef directly (ADR-023).