11 Workspace Crates Architecture
Exhaustive technical breakdown of the 11 modular Rust workspace crates forming the tacet-rs repository.
Workspace Crate Structure
Tacet is engineered as 11 decoupled Rust crates maintaining zero circular dependencies:
tacet-cli: Terminal REPL, ANSI UI renderer, slash command handlers, andtacet whydiagnostic CLI.tacet-tools: 24 tool modules, 5 permission addons, router scoring engine, and path sandbox.tacet-engine: GGUF model loader, Candle framework execution backend, and vocabulary tokenizer.tacet-kernel: Conversation looper, context window manager (CONTEXT_BUDGET), and session store.tacet-mcp: Model Context Protocol 2026-07-28 spec revision JSON-RPC transport client.tacet-memory: Persistent local vector memory store, key-value state, and semantic search.tacet-skills: Skill prompt injection architecture and system instructions.tacet-eval: Statistical evaluation suite, sign test calculator, and benchmark reporters.tacet-grammar: EBNF and JSON Schema grammar constraints for model tool calling.tacet-web: Web search parser, DuckDuckGo scraper, and HTML-to-markdown reader.tacet-zip: Archive unpacking, zip inspection, and compressed document helpers.
Zero-Dependency Boundary Rule
To maintain maximum reliability and fast compilation, core crates (`tacet-kernel`, `tacet-engine`, `tacet-grammar`, `tacet-tools`) depend strictly on std and internal abstractions. Outer dependencies like `crossterm` and `clap` are contained strictly within `tacet-cli`.