Repository navigation
feat(collector): Phoenix transform for agentic-netops intent tier - #20
Merged
Merged
Conversation
…ards - remove 'archive' file provider (dashboards.yml) and grafana/dashboards/archive/ - drop grafy-bot /graph aliases for agent-mix - drop generator blocks for claude-code + agent-mix (no make dashboards resurrection) - backup of pre-deletion state: backups/delete-archive-20261001-005053 (not committed)
- drop dangling claude-code aliases + SUMMARY entry (dashboard deleted in archive cleanup) - add aliases for the 5 dashboards previously only reachable via live discovery: agent-traces, digital-twin-traces, litellm-models, sovereign-trace, specstride-traces - correct stale display titles to match live Grafana (accelerators, agents, llm-cost, rag, qmd-vector-space, agents-composite) - update /help dashboard list DASH now maps exactly the 16 live dashboards; no reference to any deleted uid.
The kind-cluster agent tier (mairp/agentic-netops) now forwards its traces here via otlphttp (endpoint AOS_OTLP_HTTP_ENDPOINT, default http://172.17.0.1:4318 from inside kind). Verified live span shape (2026-10-11): ioa-observe-sdk is a rebranded Traceloop/OpenInference SDK, so spans are OpenInference-NATIVE — the supervisor's ChatLiteLLM.chat spans carry gen_ai.prompt/completion content, gen_ai.usage.* / llm.usage.total_tokens, and the resolved model in ioa_observe.association.properties.ls_model_name (llm.model_name is absent or the literal "unknown" under the oauth2/ shim); agent decorator spans are named <name>.agent; graph runs are LangGraph.workflow (traceloop.span.kind=workflow); A2A round-trips propagate W3C context so a request is one trace, filed under the project of its first span (intent-supervisor). transform/phoenix_agentic_netops (traces/phoenix pipeline, before the generic transform/phoenix_kind): LLM kind on model spans (any of llm.model_name / gen_ai.request.model / gen_ai.usage.prompt_tokens); the "unknown" model fixed from ls_model_name (intentional overwrite, the one allowed exception); AGENT kind on <name>.agent and workflow spans; agentic-netops.* mapping kept as future-proofing (inert today — the SDK's context scoping keeps those attributes off exported spans). Copy-never-overwrite otherwise. Phoenix pipeline only. README: producer-table row (export path, projects, mapping, kill switch) and corrected known-limits note — the tier's source-side redaction (T333-T335) is inert, so spans carry full prompt/completion content, consistent with this stack's content-capture-on policy. make validate passes (otelcol validate, pinned 0.109.0). Verified live: LLM kind + openai/gpt-5 + tokens on ChatLiteLLM.chat, AGENT on agent/workflow spans, A2A round-trips as single traces.
mairp
force-pushed
the
feat/phoenix-agentic-netops-producer
branch
from
October 11, 2026 14:40
7bb5267 to
e9a20a2
Compare
Contributor
Merge Queue Status
This pull request spent 46 seconds in the queue, including 27 seconds running CI. Required conditions to merge
|
9 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The agentic-netops intent tier (kind cluster: intent-supervisor / intent-mapper / intent-allocator / intent-deployer) now forwards its traces to this stack via
otlphttp(endpointAOS_OTLP_HTTP_ENDPOINT, defaulthttp://172.17.0.1:4318from inside kind — the docker bridge gateway). Verified live 2026-10-11: ioa-observe-sdk is a rebranded Traceloop/OpenInference SDK, so the spans are OpenInference-NATIVE:ChatLiteLLM.chatspans carrygen_ai.prompt.N.content/gen_ai.completion.N.content(full content),gen_ai.usage.{prompt,completion}_tokens,llm.usage.total_tokens, and the resolved model inioa_observe.association.properties.ls_model_name(llm.model_nameis absent or the literal"unknown"under the oauth2/ shim);<name>.agentwithagent.namenative; graph runs areLangGraph.workflow(traceloop.span.kind=workflow) +*.tasknode spans;Changes
transform/phoenix_agentic_netopsin thetraces/phoenixpipeline (before the generictransform/phoenix_kind), conditioned onIsMatch(service.name, "^intent-(supervisor|mapper|allocator|deployer)$"):llm.model_name/gen_ai.request.model/gen_ai.usage.prompt_tokens— real spans have nollm.model_namekey, which a naive!= nilcheck misses);"unknown"model fixed fromls_model_name(intentional overwrite — the one allowed exception, liketransform/phoenix_litellm's kind rule);<name>.agentandtraceloop.span.kind=workflowspans;agentic-netops.*mapping kept as future-proofing (inert today: the SDK's context scoping keeps those attributes off exported spans — zero spans carry them, verified against the tier's ClickHouse).== nil) otherwise. Phoenix pipeline only — Tempo/ClickHouse keep the native attributes.agents/common/llm.py) is currently inert, so its Phoenix spans carry FULL prompt/completion content — consistent with this stack's content-capture-on policy.Verification
make validatepasses (incl.otelcol validate, pinned 0.109.0).docker compose restart otel-collector); verified in Phoenix: LLM kind +openai/gpt-5+ token counts onChatLiteLLM.chat, AGENT on agent/workflow spans, A2A round-trips as single traces (e.g. trace3bf34baf…/e0eece38…in theintent-supervisorproject).Pairs with
mairp/agentic-netopsPR #21 — the tier side (third trace sinkotlphttp/phoenix+ egress NetworkPolicy T051 + token span stamping).