# CommBus v0.1.0 - API Reference

## Modules

- [CommBus.Context.Exclusion](CommBus.Context.Exclusion.md): Represents a reason an entry was dropped from the plan.
- [CommBus.Context.Plan](CommBus.Context.Plan.md): Structured plan returned by `CommBus.Context.plan/3`.
- [CommBus.Matcher.MatchResult](CommBus.Matcher.MatchResult.md): Match diagnostics for a given entry.
- [CommBus.Prompts.OverrideStore.Memory](CommBus.Prompts.OverrideStore.Memory.md): In-memory override store for testing and local usage.
- [CommBus.Protocol.Context](CommBus.Protocol.Context.md): Execution context shared across CommBus protocol adapters.

- [CommBus.Protocol.Pipeline.State](CommBus.Protocol.Pipeline.State.md): Internal state threaded through each ALF pipeline stage, carrying the
protocol context, the chosen adapter module, and the accumulated result.

- [CommBus.Protocol.SectionRoles](CommBus.Protocol.SectionRoles.md): Registry for mapping CommBus sections (e.g., :system, :pre_history) to downstream
message roles understood by provider pipelines.
- [CommBus.Protocol.Validator](CommBus.Protocol.Validator.md): Validates assembled protocol packets before they are forwarded to downstream routers.

- [CommBus.Semantic.SimpleAdapter](CommBus.Semantic.SimpleAdapter.md): Default semantic adapter that scores similarity using token overlap (Jaccard index).

- [CommBus.Storage.ConversationStore](CommBus.Storage.ConversationStore.md): Behaviour for conversation persistence.
- [CommBus.Storage.Ecto](CommBus.Storage.Ecto.md): Default Ecto-backed storage adapter for CommBus.
- [CommBus.Storage.Ecto.ConversationSchema](CommBus.Storage.Ecto.ConversationSchema.md): Default Ecto schema used by CommBus.Storage.Ecto for persisting conversations.

- [CommBus.Storage.Ecto.EntrySchema](CommBus.Storage.Ecto.EntrySchema.md): Default Ecto schema used by CommBus.Storage.Ecto for persisting entries.

- [CommBus.Storage.EntryStore](CommBus.Storage.EntryStore.md): Behaviour for entry persistence.
- [CommBus.Storage.Migrations](CommBus.Storage.Migrations.md): Helper functions for adding CommBus tables to your Ecto migrations.
- [CommBus.Template.RenderContext](CommBus.Template.RenderContext.md): Encapsulates the rendering context passed to template engines, including
variable bindings, partial templates, and strict-mode configuration.

- [CommBus.Template.RenderResult](CommBus.Template.RenderResult.md): Holds the output of a successful template render, including the rendered
content string, lists of variables that were used, defaulted, or provided,
any partials that were loaded, and the wall-clock render time.

- Core
  - [CommBus](CommBus.md): Conversational context assembly for LLM interactions.

  - [CommBus.Assembler](CommBus.Assembler.md): Prompt assembly with injected context.
  - [CommBus.Budget](CommBus.Budget.md): Token budget management.
  - [CommBus.Budget.Planner](CommBus.Budget.Planner.md): Simple helper for deriving section budgets and completion allowances.
  - [CommBus.Matcher](CommBus.Matcher.md): Keyword, fuzzy, and semantic matching for triggered entries with diagnostics.

- Data Structures
  - [CommBus.Context](CommBus.Context.md): High-level planning utilities for CommBus assemblies.
  - [CommBus.Conversation](CommBus.Conversation.md): Conversation session state.
  - [CommBus.Entry](CommBus.Entry.md): Injectable context entry.
  - [CommBus.Message](CommBus.Message.md): Conversation message.
  - [CommBus.Protocol.Packet](CommBus.Protocol.Packet.md): Canonical payload produced by CommBus protocol adapters.

- Template System
  - [CommBus.Template](CommBus.Template.md): Template rendering facade.
  - [CommBus.Template.Engine](CommBus.Template.Engine.md): Template engine behavior.
  - [CommBus.Template.Engine.BbMustache](CommBus.Template.Engine.BbMustache.md): bbmustache-based template engine.
  - [CommBus.Template.Engine.ExMustache](CommBus.Template.Engine.ExMustache.md): ExMustache-based template engine.
  - [CommBus.Template.Loader](CommBus.Template.Loader.md): Prompt template loader with YAML frontmatter.
  - [CommBus.Template.Prompt](CommBus.Template.Prompt.md): Prompt template definition.
  - [CommBus.Template.Validator](CommBus.Template.Validator.md): Validates prompt frontmatter and variable consistency.

- Prompts
  - [CommBus.Prompts](CommBus.Prompts.md): Prompt catalog with optional overrides and cached runtime loading.

  - [CommBus.Prompts.OverrideStore](CommBus.Prompts.OverrideStore.md): Prompt override store behavior.

- Protocol &amp; Pipeline
  - [CommBus.Protocol.Adapter](CommBus.Protocol.Adapter.md): Behaviour for translating CommBus assemblies into downstream packets.

  - [CommBus.Protocol.LlmCoreAdapter](CommBus.Protocol.LlmCoreAdapter.md): Default adapter that converts CommBus assemblies into llm_core-friendly packets.

  - [CommBus.Protocol.Pipeline](CommBus.Protocol.Pipeline.md): ALF pipeline that assembles a conversation and adapts it into a protocol packet.

- Storage
  - [CommBus.Storage.EctoAdapter](CommBus.Storage.EctoAdapter.md): Generic helper that persists CommBus entries and conversations using any Ecto repo.
  - [CommBus.Storage.InMemory](CommBus.Storage.InMemory.md): Lightweight ETS-backed storage adapter implementing both CommBus storage behaviours.

- Methodologies
  - [CommBus.Methodologies](CommBus.Methodologies.md): Curated methodology catalog for reusable prompt packs.
  - [CommBus.Methodology](CommBus.Methodology.md): Structured methodology definition containing curated CommBus entries.

- Utilities
  - [CommBus.Semantic](CommBus.Semantic.md): Helper for retrieving the configured semantic adapter.

  - [CommBus.Semantic.Adapter](CommBus.Semantic.Adapter.md): Behaviour for semantic similarity adapters used by CommBus.Matcher.
Implementations should return a similarity score between 0.0 and 1.0.

  - [CommBus.Telemetry](CommBus.Telemetry.md): Helpers for consuming CommBus telemetry events and defining common metrics.

  - [CommBus.Tokenizer](CommBus.Tokenizer.md): Token counting façade with pluggable backends.
  - [CommBus.Tokenizer.Simple](CommBus.Tokenizer.Simple.md): Fallback tokenizer using a heuristic character/word based approximation.

- Exceptions
  - [CommBus.Template.RenderError](CommBus.Template.RenderError.md): Exception raised or returned when a template render fails. Carries the
failure `:type` (e.g. `:render_failed`, `:type_coercion_failed`,
`:max_depth_exceeded`), a human-readable `:message`, and optional
`:template_name` and `:variable_name` for diagnostics.

## Mix Tasks

- Mix Tasks
  - [mix comm_bus.budget](Mix.Tasks.CommBus.Budget.md)
  - [mix comm_bus.compare_engines](Mix.Tasks.CommBus.CompareEngines.md)
  - [mix comm_bus.entries](Mix.Tasks.CommBus.Entries.md)
  - [mix comm_bus.simulate](Mix.Tasks.CommBus.Simulate.md): Run CommBus planning locally using YAML fixtures for conversations and entries.
  - [mix comm_bus.sync_fixtures](Mix.Tasks.CommBus.SyncFixtures.md): Syncs prompt files from external project directories into test fixtures.

