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, and tacet why diagnostic 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`.