- 1
//! The capability subsystem: one registry, one reconcile loop, one - 2
//! projection, for all five kinds (tool, skill, MCP server, hook, command). - 3
//! - 4
//! See `docs/design/41-capability-registry.md`. The short version: - 5
//! - 6
//! * A capability **declares what it serves** (`domain`), so the harness - 7
//! matches instead of holding a table of built-in names. Adding an - 8
//! integration never edits the harness. - 9
//! * Declaration is **offline**. Nothing here spawns or probes: an MCP - 10
//! server's catalog and last failure are what the on-demand pool observed, - 11
//! declared as data (`resolution`, `vak_mcp::McpManager`). - 12
//! * The registry publishes **immutable versioned snapshots** - 13
//! (`snapshot`), and a **turn** binds one for its whole duration. That is - 14
//! what lets a three-week-old session pick up a skill added today with no - 15
//! restart and no session rotation. - 16
//! * The loop (`registry`) is **level-triggered**: hints make it run sooner, - 17
//! the ticker makes it run anyway, and every pass is idempotent. - 18
//! * Everything visible derives from one `report`, so the model, `doctor` - 19
//! and the admin console cannot disagree. - 20
- 21
pub mod domain; - 22
pub mod provider; - 23
pub mod registry; - 24
pub mod report; - 25
pub mod resolution; - 26
pub mod snapshot; - 27
pub mod surface; - 28
pub mod turn; - 29
- 30
pub use domain::{Domain, Serves}; - 31
pub use registry::{ - 32
CapabilityProvider, CapabilityRegistry, DEBOUNCE, Declaration, Hint, RECONCILE_INTERVAL, - 33
ReconcileStatus, - 34
}; - 35
pub use report::{CapabilityReport, CapabilityRow, standing_section}; - 36
pub use resolution::Resolution; - 37
pub use snapshot::{ - 38
Binding, Capability, CapabilityDelta, CapabilityId, CapabilitySet, Epoch, Origin, - 39
}; - 40
pub use surface::{ToolSurface, build_tool_surface, tool_catalogue}; - 41
pub use turn::{TurnCapabilities, TurnProbe}; - 42
- 43
/// The MCP inventory: a list of (server name, discovered tools). - 44
pub type McpInventory = Vec<(String, Vec<vak_mcp::McpToolInfo>)>; - 45
Indexing the workspace…
Vakyartha documentation is discovering safe artifacts, anchors, and source references.