Problem
NemoClaw is starting to receive requests for concrete observability integrations, such as built-in Prometheus metrics endpoints. We do not want core to accumulate one-off exporter implementations for every monitoring backend.
Instead, NemoClaw should expose a stable observability plugin surface that lets external adapters consume core lifecycle and operation telemetry without requiring each integration to be merged into the main repo.
Desired direction
Create a generic observability plugin extension point where NemoClaw core can emit stable telemetry events and out-of-tree plugins can translate those events into backend-specific integrations.
Examples of adapters that should be possible outside core:
- Prometheus metrics endpoint/exporter
- OpenTelemetry exporter
- Datadog/New Relic/etc. adapters
- Internal CI or fleet-monitoring adapters
Initial design goals
- Keep NemoClaw core backend-agnostic.
- Provide stable event names and payload shapes for key lifecycle/operation events.
- Avoid adding exporter-specific dependencies to core.
- Support opt-in registration/configuration for observability plugins.
- Document how a plugin can subscribe to events and expose its own exporter/service.
- Preserve zero/near-zero overhead when no observability plugin is enabled.
Candidate event families
- Blueprint plan/apply execution start/finish/failure/duration
- Endpoint/API key validation start/finish/failure/duration
- Sandbox lifecycle operations start/finish/failure/duration
- Plugin registration/start/stop events
- Future policy/security decision events if needed
Relationship to PR #2494 / issue #233
PR #2494 implemented a concrete Prometheus-compatible /metrics endpoint in core. Rather than merging that specific integration, this issue tracks the architectural path that would let Prometheus be implemented as an external observability adapter.
Issue #233 captured the original built-in Prometheus proposal and is superseded by this more generic plugin-support direction.
Acceptance criteria
- A documented observability plugin API exists.
- Core emits a minimal set of stable telemetry events.
- Plugins can subscribe to those events without patching core execution paths.
- At least one example or skeleton adapter demonstrates the intended pattern.
- Documentation explains how a Prometheus adapter could be implemented out-of-tree.
Problem
NemoClaw is starting to receive requests for concrete observability integrations, such as built-in Prometheus metrics endpoints. We do not want core to accumulate one-off exporter implementations for every monitoring backend.
Instead, NemoClaw should expose a stable observability plugin surface that lets external adapters consume core lifecycle and operation telemetry without requiring each integration to be merged into the main repo.
Desired direction
Create a generic observability plugin extension point where NemoClaw core can emit stable telemetry events and out-of-tree plugins can translate those events into backend-specific integrations.
Examples of adapters that should be possible outside core:
Initial design goals
Candidate event families
Relationship to PR #2494 / issue #233
PR #2494 implemented a concrete Prometheus-compatible
/metricsendpoint in core. Rather than merging that specific integration, this issue tracks the architectural path that would let Prometheus be implemented as an external observability adapter.Issue #233 captured the original built-in Prometheus proposal and is superseded by this more generic plugin-support direction.
Acceptance criteria