Use when turning a diarized STT transcript into structured meeting artifacts in atomr-agents — building a `MeetingsHarness`, accumulating a `MeetingAnalysis` (attendees, notes, actions-with-owners, tiered summaries), picking batch vs live mode, persisting via the configured `Checkpointer` under the same `conversation_id` as the source transcript, or serving the meetings review UI (`meetings-harness-web`). Triggers on `MeetingsHarness`, `MeetingAnalysis`, "extract action items", "meeting summary", "attendees from transcript", "live meeting analysis", `atomr_agents.meetings_harness`.
Use when driving speech-to-text as an agentic streaming pipeline in atomr-agents — building an `SttHarness`, accumulating an `SttConversation`, feeding it to an agent, choosing a `DiarizationPolicy`, persisting conversations via a `ConversationStore`, or serving the diarized-transcript review UI (`stt-harness-web`). Triggers on `SttHarness`, `SttConversation`, `AudioSource`, `DiarizationPolicy`, "diarize a recording", "editable speaker labels", "transcript review UI", `atomr_agents.stt_harness`.
Use when wrapping the agent's per-turn pipeline with cross-cutting policies — logging, retry, rate-limit, redaction, tool-error recovery, dynamic prompt override, before/after hooks. Triggers on `impl AgentMiddleware for`, `MiddlewareStack::new().push(...)`, or porting a LangChain `create_agent` middleware (`@wrap_model_call` / `@wrap_tool_call` / `@dynamic_prompt`).
Use when wiring tracing into an agent / workflow / harness — `EventBus` subscribers, `RunTreeBuilder` for parent-child run trees, `StdoutTracer` / `JsonlTracer` / `LangSmithTracer` exporters, or propagating `RunId` / `parent_run_id` through events. Triggers on `EventBus::new`, `RunTreeBuilder::new`, `LangSmithTracer::new`, `bus.subscribe(...)`, or `bus.emit_run(...)`.
Use when composing `Callable`s with the `Pipeline` builder or wrapping any handle in retry / fallback / config / timeout / branch decorators. Triggers on writing `Pipeline::from(...).then(...)`, calling `with_retry` / `with_fallbacks` / `with_config` / `with_timeout` / `Branch::new`, fan-out into a JSON object, or migrating a LangChain LCEL chain.
Use when standing up the first atomr-agents project, picking feature flags for the `atomr-agents` umbrella, building a first `Agent`, or running an end-to-end agent turn against `MockRunner`. Triggers on adding `atomr-agents = ...` to Cargo.toml, writing the first `Agent { ... }` literal, wiring an `InferenceClient`, or asking "how do I get atomr-agents running".
Use when building a retriever pipeline (BM25 / dense / hybrid / contextual-compression / parent-document / self-query / time-weighted), ingesting documents (loaders + splitters), or wiring `LongStore` into an agent. Triggers on `Bm25Retriever::new`, `VectorRetriever::new`, `EnsembleRetriever::with_rrf`, `RecursiveCharacterSplitter`, `LongStore::put`, or porting a LangChain retriever zoo.
Use when designing or modifying channelled state — declaring a `StateSchema`, picking a reducer, persisting via `Checkpointer`, or forking a divergent run. Triggers on writing `StateSchema::builder()`, `RunState::new()`, `Checkpointer::save / latest / fork`, or porting a LangGraph `StateGraph(MyState)` definition.