Disclaimer. This is Fable-generated educational content — written by an AI model as an independent, unofficial explainer. It is not endorsed by, affiliated with, or reviewed by Arize or the Phoenix maintainers, and no assumption should be made about its correctness. Treat every claim as unverified and check it against the Phoenix source before relying on it.
Live site: https://rickarize.github.io/phoenix-explained/
Two standalone interactive explainer series:
- Spans All the Way Down (repo root) — the Phoenix tracing data model: sessions, turns, traces, root spans, and spans; OTel compliance and its costs; competitor mental models; interface/panel organization; and a multi-agent addendum.
- The Second Write Path (
evals/) — Phoenix's judgment layer: the annotation model and its identity key, evaluators as stored server-side objects, the evaluator construction UI, and the design frontier around online/backfill evals, ingestion vs. annotation scopes, and read amplification.
Publication caution (series 2). Parts 4–5 of The Second Write Path describe unshipped work: internal specs (
internal_docs/specs/online-evals.md,server_evaluators.md) and unmerged branches (queue spike, spec rework). Review before publishing to the public live site.
Deliberately independent of the Phoenix app — plain HTML/CSS/JS, no build step, no dependencies (fonts load from Google Fonts but everything degrades to system fonts offline).
cd explainer
python3 -m http.server 8123
# open http://localhost:8123(Opening the files directly with file:// also works.)
- Each page is one self-contained HTML file; widgets are inline
<script>at the bottom of their page. style.css— shared design system (light + dark viaprefers-color-scheme).shared.js— series nav, prev/next pager, and segmented-control wiring. Add/retitle/reorder pages by editing thePAGESarray.
| File | Part |
|---|---|
index.html |
Overview + the "one dataset, four projections" widget |
model.html |
1 · What Phoenix actually stores (code-grounded) |
otel.html |
2 · The price of speaking OTel |
landscape.html |
3 · How everyone else models it |
interface.html |
4 · Panels for a three-level world (wireframes) |
multiagent.html |
5 · When one agent becomes forty |
| File | Part |
|---|---|
evals/index.html |
Overview + the "every verdict, one shape" widget |
evals/annotations.html |
1 · Judgment as a row (the identity-key collider) |
evals/evaluators.html |
2 · The evaluator becomes a row (object graph, three regimes) |
evals/construction.html |
3 · Building a judge in the browser (the mapping bench) |
evals/online.html |
4 · The project is a firehose (sampling cohorts, work queue) |
evals/scopes.html |
5 · What may the judge read, and mark? (the scope machine) |
Series 1 claims cite src/phoenix/... file:line as of July 2026 (branch
rick/panel-organization); series 2 claims cite commit 2f7ea73a6 on main
(July 2026), with branch-only and spec-only material marked inline. Re-verify
before quoting elsewhere.