Skip to main content

defect_obs/
lib.rs

1//! `defect-obs`: Observability stack.
2//!
3//! Extracts tracing initialization and (planned) Langfuse reporting from `defect-cli`
4//! into a single crate. The CLI calls one entry point; future Langfuse / OTLP extensions
5//! won't require changes to CLI assembly.
6//!
7//! Observability crate — tracing, metrics, and Langfuse integration.
8//!
9//! ## Current capabilities
10//!
11//! - [`tracing_init::init_tracing`]: process-level `tracing-subscriber` initialization.
12//!
13//! ## Planned
14//!
15//! - Langfuse reporting (implements `defect-agent`'s `SessionObserver`, one trace per
16//!   turn, reuses `defect-http`'s `HttpStack` for ingestion requests).
17//! - OTLP export (reuses `defect-config`'s `OtlpTracingConfig` scaffolding).
18
19#![cfg_attr(not(test), warn(clippy::indexing_slicing, clippy::unwrap_used))]
20
21pub mod langfuse;
22pub mod tracing_init;
23
24pub use langfuse::{LangfuseObserver, LangfuseSetup, build_observer};
25pub use tracing_init::init_tracing;