Adapters

ARP is a profile, not a replacement. If you already emit telemetry in another format, the field mappings below get you to ARP-conformant payloads with minimal translation.

Sentry

ARP §3.3 Warning + §3.6 Breadcrumbs

SentryARP
Sentry event.fingerprint (string[])ARP Warning.fingerprint (string OR string[])
Sentry event.levelARP Warning.level (identical enum)
Sentry issue.statusARP Warning.status
Sentry issue.firstSeen / lastSeenARP Warning.first_seen / last_seen
Sentry breadcrumbs[]ARP Warning.breadcrumbs[] (verbatim)
Sentry exception.mechanism.handledARP Warning.evidence.exception.mechanism.handled

ARP fingerprint accepts both Sentry's array form (with {{ default }} placeholder) AND a canonical single-string form. Sentry SDK ingest pipelines need no field renames — only POST URL change.

OpenTelemetry GenAI

ARP §5 Telemetry + §5.2 TelemetrySpan

OpenTelemetry GenAIARP
gen_ai.systemTelemetry.spans[].attributes['gen_ai.system'] (verbatim)
gen_ai.request.modelverbatim
gen_ai.usage.input_tokens / output_tokensverbatim
gen_ai.tool.name / call.id / call.argumentsverbatim
gen_ai.conversation.idenvelope.conversation_id (alias)
span name + statusTelemetrySpan.name + status

ARP §5 declares OTel GenAI semconv as a normative reference. No translation needed — copy the OTLP payload as-is into ARP's `telemetry` key. ARP only adds opt-in `kind` (OpenInference 10-enum) and `subtype` (OpenAI Agents 8-enum) for cross-vendor classification.

OpenInference (Arize)

ARP §5.1 normative reference

OpenInference (Arize)ARP
openinference.span.kindTelemetrySpan.kind (10-value enum, identical)
llm.system / llm.modelverbatim under attributes
retrieval.* / embedding.* / tool.*verbatim under attributes
session.id / user.idenvelope.session_id / user_id

ARP adopts OpenInference's spec text (Apache-2.0) only — Phoenix runtime is excluded (ELv2 + US patent claims). Use the attribute names; never bundle Phoenix code into a collector.

Langfuse

ARP §3.5 Score + §6.3 PromptManifest

LangfuseARP
Langfuse Score (NUMERIC / CATEGORICAL / BOOLEAN)ARP Score (data_type same enum)
Langfuse Score.keyARP Score.key
Langfuse Score.value / comment / nameverbatim
Langfuse Trace + Observation hierarchyTelemetrySpan parent_span_id + dotted_order
Langfuse Score.comparativeRunIdARP Score.compared_to_baseline_id

Langfuse Score is the closest external primitive. ARP Score keeps the closed 3-value data_type enum exactly; no fragmentation. ARP gains warning_fingerprints[] / pattern_fingerprints[] for richer linkage.

LangSmith

ARP §3.5 Score + §5.3 dotted_order + §2 envelope IDs

LangSmithARP
Run schema (id, run_type, start_time, end_time)TelemetrySpan (span_id, kind, start_time, end_time)
Feedback (score 0..1)ARP Score (data_type=numeric)
Threads (session_id / thread_id)envelope.session_id / conversation_id
dotted_order (RFC3339Z<uuid>....)TelemetrySpan.dotted_order (verbatim)

LangSmith's Run.run_type free string is intentionally NOT adopted (regression vs ARP's category enum). Run.error string is NOT adopted (regression vs full Warning lifecycle). Bridge maps these into structured ARP equivalents on the way in.

MCP tool calls

ARP §3.3 Warning + planned MCP SEP cross-site fingerprint

MCP tool callsARP
MCP _meta.* (vendor reverse-DNS)ARP _meta.* (same convention)
MCP tool result errorsARP Warning + Warning.evidence.exception
MCP server URL + tool nameARP Telemetry attribute mcp.server / mcp.tool

AgentMinds' MCP SEP draft (modelcontextprotocol/modelcontextprotocol#2659) proposes adding _meta.fingerprint and _meta.pattern_id to tool-call results. When that lands, ARP Warning.fingerprint maps directly.

Reorientation watch

If any of these upstreams adopts a primitive that overlaps ARP §4.1 (cross-site pattern lifecycle), ARP MUST defer to the upstream definition within 30 days. AgentMinds runs an internal standards-watcher bot on a weekly cron that monitors all 12 upstream repos for trigger keywords (e.g. learned_pattern, cross-environment-fingerprint, findings/list) and files issues with the reorientation-watch label on this repo when triggers fire.