๐Ÿ”

Arize Phoenix & AX Documentation Audit

7 Real Gaps Found โ€” With Specific Fixes & Interview Talking Points
Prepared September 15, 2026
Harold Moses II ยท Portfolio ยท Phoenix Report
7
Gaps Found
3
High Severity
7
Interview Lines Ready
1
No Framework-Agnostic TypeScript Quickstart
TS Get-Started Page High Severity
โš ๏ธ Issue

The TypeScript quickstart ONLY covers the Mastra framework path. If a developer uses Express, Fastify, Hono, or custom Node.js, there's no "raw OTLP + @arizeai/phoenix-otel" quickstart. The Python quickstart has auto_instrument=True for any framework, but TS has no equivalent generic path in the getting-started flow. The SDK reference page has the info โ€” but it's not surfaced in the quickstart where devs land first.

โœ… Proposed Fix

Add a "Framework-agnostic" tab to the TS quickstart showing raw register() + manual span creation with @arizeai/phoenix-otel. Mirror the Python quickstart's framework-agnostic approach.

๐Ÿ’ฌ Talking Point
Your TS quickstart assumes Mastra. A dev using Hono or Fastify has to piece together the SDK reference page themselves. I'd add a framework-agnostic tab โ€” just like your Python quickstart already handles any framework.
2
PROMPT.md Doesn't Cover Non-LLM Span Patterns
PROMPT.md (Agent Setup) Medium Severity
โš ๏ธ Issue

PROMPT.md is excellent for LLM call instrumentation โ€” the routing table, phase 1/2 approach, and framework detection are well-designed. But it doesn't cover how to trace non-LLM operations: template selection, prompt assembly, data retrieval, custom business logic spans. Complex agents do far more than call LLMs โ€” they orchestrate pipelines. I traced these exact patterns in my Phoenix Report (template selection โ†’ prompt assembly โ†’ provider dispatch) and this pattern isn't documented for agents to follow.

โœ… Proposed Fix

Add a "Custom spans for non-LLM operations" section to PROMPT.md showing how to create CHAIN, TOOL, and RETRIEVER spans for business logic. Include the withSpan() helper from @arizeai/phoenix-otel.

๐Ÿ’ฌ Talking Point
When I instrumented Poly-Glot, the hardest part was tracing non-LLM operations โ€” template selection, prompt assembly. PROMPT.md doesn't cover that pattern, and it's exactly what complex agents need. I documented how I solved it in my Phoenix Report.
3
No Unified Phoenix OSS โ†’ Arize AX Migration Guide
Scattered Across 3+ Pages High Severity
โš ๏ธ Issue

There's a "What is the difference between Phoenix and Arize" FAQ page, but no single "I'm running Phoenix locally, now I want to move to Arize AX" migration guide. The information exists across the self-hosting docs, AX quickstart, and the comparison page โ€” but a developer doing the actual migration has to assemble it themselves. This is a critical conversion funnel gap: Phoenix OSS โ†’ paid AX customer.

โœ… Proposed Fix

Create a single "Graduate from Phoenix to Arize AX" page with: 1) What changes (endpoint, API key, features gained), 2) Code diff showing the 3-line change, 3) What you keep vs. what's new. Make it the obvious next step from every self-hosting page.

๐Ÿ’ฌ Talking Point
The Phoenix-to-AX migration is documented across 3+ pages. I'd create one 'Graduate to AX' guide showing the exact code diff โ€” it's literally 3 lines. That's also a direct revenue enablement doc.
4
Node.js Protobuf OTLP Requirement โ€” HTTP 415 Gotcha
TS Manual Setup Path High Severity
โš ๏ธ Issue

Node.js requires @opentelemetry/exporter-trace-otlp-proto instead of the default HTTP JSON exporter โ€” otherwise you get HTTP 415 errors with zero explanation. The quickstart uses @arizeai/phoenix-otel which handles this internally, but if anyone follows the manual OTel setup path (common for existing apps with OTel already configured), this gotcha isn't documented until you hit the error. I discovered and documented this in my Phoenix Report.

โœ… Proposed Fix

Add a troubleshooting callout to the TS quickstart and the tracing FAQ: "Getting HTTP 415? You need the protobuf OTLP exporter (@opentelemetry/exporter-trace-otlp-proto), not the default HTTP JSON exporter."

๐Ÿ’ฌ Talking Point
I hit the protobuf OTLP gotcha myself โ€” HTTP 415 with zero explanation. I documented the fix in my Phoenix Report. That's exactly the kind of setup friction I'd eliminate on day one.
5
ESM Compatibility Not Documented for TypeScript
TS/JS Setup Docs Medium Severity
โš ๏ธ Issue

ESM (ES Modules) vs. CommonJS compatibility is a well-known pain point in the Node.js OpenTelemetry ecosystem. I had to pin specific package versions to get ESM working with Phoenix. The docs don't mention ESM at all โ€” not in the quickstart, not in the SDK reference, not in troubleshooting. Every modern Node.js project using "type": "module" in package.json will hit this.

โœ… Proposed Fix

Add an "ESM / CommonJS" section to the TS setup docs noting which packages need version pinning and what "type": "module" means for OTel initialization order.

๐Ÿ’ฌ Talking Point
ESM compatibility with OpenTelemetry is a known pain point. Your docs don't mention it โ€” I'd add a troubleshooting section because every Node.js dev using ESM will hit it.
6
Agent-Readability Measurement โ€” Innovation Opportunity
Across All Docs Innovation Opportunity
โš ๏ธ Issue

The job posting says "make documentation work for coding agents as well as humans" and "real measurement of whether agents can complete tasks using docs alone." The px setup CLI's exit code 6 (configured but unverified) is a start. But there's no broader framework for measuring whether docs are agent-readable โ€” no scoring, no automated testing, no benchmarks. This is the role's most novel requirement and the biggest whitespace.

โœ… Proposed Fix

Build an agent-readability scoring system for Arize docs. I've already built this: my Poly-Glot Markdown RAG/GEO scorer measures documentation quality for AI consumption on a 0โ€“100 scale. Adapt this approach to score Arize docs for: frontmatter completeness, heading hierarchy, chunk boundaries, code sample correctness, and agent task-completion rate.

๐Ÿ’ฌ Talking Point
You want docs that work for coding agents AND measurement of whether that works. I built a RAG scoring engine that measures exactly this โ€” 0 to 100 agent-readability score. I'd bring that approach to Arize docs.
7
Cookbooks Are Overwhelmingly Python โ€” TS Parity Gap
Phoenix Cookbooks Medium Severity
โš ๏ธ Issue

Of 20+ cookbooks listed in the Phoenix docs, only 2โ€“3 are TypeScript. The vast majority are Python-only. Given the explosive growth of the TS/JS agent ecosystem โ€” Mastra, Vercel AI SDK, LangChain.js, OpenAI Agents SDK (Node) โ€” this is a significant coverage gap. Arize already supports these frameworks, but there's no cookbook showing a complete workflow.

โœ… Proposed Fix

Create TypeScript versions of the top 5 most-visited Python cookbooks. Prioritize: Agentic RAG Tracing, Structured Data Extraction, and the Iterative Eval & Experimentation workflow (which already has a TS version โ€” good precedent to follow).

๐Ÿ’ฌ Talking Point
Your cookbook library is overwhelmingly Python. With Mastra, Vercel AI SDK, and LangChain.js growing fast, I'd prioritize TypeScript cookbook parity โ€” starting with the top 5 most-visited recipes.