Crate gestura_core_knowledge

Crate gestura_core_knowledge 

Source
Expand description

Knowledge system for agent expertise and contextual guidance.

gestura-core-knowledge provides a progressive-disclosure knowledge base that lets the runtime expose specialized expertise only when it is relevant to the current request. This keeps default prompts lean while still allowing rich built-in guidance for areas such as Rust, Tauri, CLI workflows, MCP, voice, and other expert domains.

§Design role

This crate sits beside, not inside, the request-context system:

  • gestura-core-context decides what categories of context are relevant
  • gestura-core-knowledge provides curated expert content that can be enabled, matched, and loaded when those requests benefit from it

Knowledge items can come from built-in expert documents or user-managed additions persisted on disk.

§Main concepts

  • KnowledgeStore: registry and persistence layer for knowledge items
  • KnowledgeItem: a single expert document with metadata, triggers, and optional reference material
  • KnowledgeQuery: query-time filter and ranking input
  • KnowledgeSettingsManager: per-session/default enablement for knowledge items so users and sessions can opt into specific expertise

§Built-in knowledge structure

Built-in experts follow a compact core-plus-references pattern:

knowledge/
├── rust-expert/
│   ├── KNOWLEDGE.md
│   └── references/
└── tauri-expert/
    ├── KNOWLEDGE.md
    └── references/

The goal is to keep the top-level expert doc concise and load reference material only when that extra depth is needed.

§Usage

use gestura_core::knowledge::{KnowledgeStore, KnowledgeQuery};

let store = KnowledgeStore::with_default_dir();
register_builtin_knowledge(&store);

let query = KnowledgeQuery {
    query: "Help me with async Rust".to_string(),
    ..Default::default()
};

let matches = store.find(&query);
for m in matches {
    println!("Matched: {} (score: {})", m.item.name, m.score);
}

§Stable import paths

Most code should import through gestura_core::knowledge::*.

Re-exports§

pub use session_settings::DEFAULT_KNOWLEDGE_SETTINGS_SESSION_ID;
pub use session_settings::KnowledgeSettingsManager;
pub use session_settings::SessionKnowledgeSettings;

Modules§

session_settings
Session-scoped knowledge settings

Structs§

KnowledgeItem
A knowledge item represents a specialized area of expertise that can be loaded on-demand to provide context to the agent.
KnowledgeMatch
Result of matching knowledge items to a query
KnowledgeQuery
Knowledge query for finding relevant knowledge items
KnowledgeReference
A reference file that can be loaded on-demand
KnowledgeStore
Knowledge store for managing knowledge items

Enums§

KnowledgeError
Error type for knowledge operations
LoadCondition
Conditions for when to load a reference

Functions§

register_builtin_knowledge
Register built-in knowledge items