1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Pack registration helpers for `khive-mcp` (ADR-027).
//!
//! Pack discovery is handled by `inventory`-based self-registration: each pack
//! crate submits a `PackRegistration` at link time (via `inventory::submit!`),
//! and [`PackRegistry::register_packs`] walks the collected slice to instantiate
//! the requested packs.
//!
//! This module pulls in the pack crate types by name so the linker includes
//! their object files — and therefore their `inventory::submit!` constructors —
//! in the final binary. Without at least one symbol reference per crate the
//! linker may dead-strip the crate entirely and the inventory constructors will
//! not run.
//!
//! To add a new first-party pack: (1) add its crate as a `[dependency]` in
//! `khive-mcp/Cargo.toml`, (2) add a `pub use` line below referencing any
//! public type from the crate — this is the force-link anchor that keeps the
//! linker from stripping the `inventory::submit!` constructor.
pub use ;
// Force-link pack crates so their `inventory::submit!` constructors are
// included by the linker. These are the only direct references to the pack
// crate types inside `khive-mcp`.
pub use BrainPack as _BrainPack;
pub use CommPack as _CommPack;
pub use GtdPack as _GtdPack;
pub use KgPack as _KgPack;
pub use KnowledgePack as _KnowledgePack;
pub use MemoryPack as _MemoryPack;
pub use SchedulePack as _SchedulePack;