Roadmap
Conduit’s goal is to be the observability layer a security-conscious team can run next to its AI agents. It should be self-hosted, small enough to audit, and focused on what matters for agents: steps, tools, models, errors and cost.
This roadmap is ordered by priority, not by date. Items move as we learn. To suggest a change, open an issue or a PR against docs/_data/roadmap.json.
Hardening for first production users
Prompt and completion access control
Payloads are stored but never shown. Showing them needs a decision on who may see them (see open decisions).
Scale and integration
Batched, asynchronous SDK delivery
One blocking RPC per span is simple but slow for chatty agents. Add a buffered exporter with backpressure.
Read the trace list from trace_summary
Avoid aggregating raw spans for every list query at high volume. Needs root names and agents in the view.
OpenTelemetry interoperability
Accept OTLP from existing OpenTelemetry agents, and use OTel semantic conventions for LLM attributes.
Search
Search attributes, error messages and span names across traces.
Published SDKs
A PyPI package and a tagged Go module with stable import paths (see open decisions).
Helm chart
Package the Kubernetes manifests with sensible defaults.
Insight
Cost and token dashboards
Spend by agent, model and time, built on the existing rollups.
Alerts
Error-rate and latency thresholds per agent, with webhook delivery.
Trace comparison
Compare two runs of the same task side by side.
Multi-tenancy
Separate projects or teams with scoped UI access.
What's already in Conduit
Foundation
- mTLS agent identity, with the certificate CommonName as
agent_name - Span validation at ingestion
- Per-agent rate limiting, charged per telemetry item
- NATS JetStream work queue with at-least-once delivery into ClickHouse
- Best-effort export to VictoriaMetrics and Tempo
- Span status (ok, error, unset) from end to end, and nanosecond timestamps
- Logs (ClickHouse) and metrics (VictoriaMetrics) ingestion, each with its own NATS stream, plus SDK
Log,GaugeandCounterAPIs
SDKs
- Go and Python SDKs: mTLS that trusts only your CA, W3C-sized IDs, status and error recording
- Python context that is safe across threads and asyncio tasks
UI
- Sign-in: a login form with signed session cookies, or Google Cloud IAP
- Strict CSP and browser hardening
- Trace list: one row per trace, filters by time, agent and errors, keyset paging, agent suggestions
- Trace detail: span tree, waterfall timeline, error and LLM details, deep links
- Logs page: filters by time, severity, agent, text and trace, with deep links to spans
Data governance
STORE_LLM_PAYLOADS=falsedrops prompts and completions at the gatewaySPAN_RETENTION_DAYS, with the TTL reconciled on existing tables- Versioned, checksummed ClickHouse schema migrations (
collector migrate)
Operations
/livezand/readyzon every service, and ahealthchecksubcommand for scratch images- Compose restart policies and Kubernetes probes, plus GKE IAP manifests
Quality
- CI: race tests, a generated-code drift check, govulncheck, Docker builds, and a full-stack smoke test with both SDKs
- Brand identity, documentation set, and this docs site