docs(skills): weekly audit — 2026-08-26 - #15636
Open
mikeldking wants to merge 1 commit into
Open
Conversation
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
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.
Phoenix Skills Audit — 2026-08-19 → 2026-08-26
Audited against:
origin/mainatd002a45899014c9c9644aeaee59fa6140bca6305Commits analyzed: 97 (2 produced skill edits, 8 read in depth, the rest skipped)
Local
mainwas already level withorigin/main(git rev-list --count main..origin/main→ 0).Edits applied
phoenix-evals
references/evaluators-pre-built.md— added a "Retrieval quality: documentrelevance vs. retrieval relevance" section for the new
RetrievalRelevanceEvaluator/createRetrievalRelevanceEvaluatorshipped in7efa7b21f(feat(evals): add retrieval relevance evaluator, feat(evals): add retrieval relevance evaluator #14766).Grounded in:
packages/phoenix-evals/src/phoenix/evals/metrics/retrieval_relevance.py:13(class),
:74(RetrievalRelevanceInputSchema—input,context),:80(__init__(self, llm: LLM, **kwargs: Any))packages/phoenix-evals/src/phoenix/evals/metrics/__init__.py:10,27(export)packages/phoenix-evals/src/phoenix/evals/__generated__/classification_evaluator_configs/_retrieval_relevance_classification_evaluator_config.py:7,9,16(
name="retrieval_relevance",optimization_direction="maximize",choices={"relevant": 1.0, "irrelevant": 0.0})js/packages/phoenix-evals/src/llm/createRetrievalRelevanceEvaluator.ts:6,20,65(args interface,
RetrievalRelevanceEvaluationRecord, factory) andjs/packages/phoenix-evals/src/llm/index.ts:10+js/packages/phoenix-evals/src/index.ts(root re-export, so the@arizeai/phoenix-evalsimport in the snippet resolves)The section documents the
input/contextfield conventions verbatim fromthe docstrings (user request, not a reformulated query; all retrieved items
joined), the maximize direction, and the two rubric rules most likely to
surprise a reader — relevance is not correctness, and a failed retrieval is
irrelevant.references/evaluators-pre-built.md— updated the opening capability listfrom "RAG quality (faithfulness, correctness, document relevance)" to include
retrieval relevance, so the enumeration matches
metrics/__init__.py.references/evaluators-rag.md— added a pointer in the "Retrieval Evaluation(IR Metrics)" section: IR metrics need query-document relevance labels, so
when you don't have them, reach for the LLM judge instead. Distinguishes
per-document (
DocumentRelevanceEvaluator, for precision@k / recall@k) fromholistic per-step (
RetrievalRelevanceEvaluator). Same commit7efa7b21f.references/experiments-harbor-python.md— new file forphoenix.client.harbor, added inf7c6cb3be(feat(client): record Harborjobs in Phoenix, feat(client): record Harbor jobs in Phoenix #15547). Maps to
phoenix-evalsrather than the client'sfile path because the feature it exposes is datasets + experiments.
Grounded in:
packages/phoenix-client/src/phoenix/client/harbor/__init__.py:1-15(exported symbols:
PhoenixJobPlugin,HarborPluginError,DEFAULT_EXPERIMENT_NAME_TEMPLATE,EXPERIMENT_NAME_TEMPLATE_FIELDS)packages/phoenix-client/src/phoenix/client/harbor/_plugin.py:46,49-93(constructor kwargs and their documented defaults;
trace_modeaccepts only"none"and raisesValueErrorotherwise)packages/phoenix-client/src/phoenix/client/harbor/_naming.py:18-29(default template
"{job.name} · {agent.name} · {agent.model}"and the sixEXPERIMENT_NAME_TEMPLATE_FIELDSentries, quoted verbatim),:52(
validate_experiment_naming— mutual exclusivity),:103(
validate_experiment_name_for_plan— exact name rejected for multi-slice jobs)packages/phoenix-client/src/phoenix/client/harbor/_adapter.py:123,257-280(the
HarborPluginErrormessages reproduced in the "Failure modes" section)packages/phoenix-client/src/phoenix/client/harbor/_recorder.py:66,111,228(one versioned dataset per job, one experiment per agent config, one run per
terminal trial) and
_plugin.py:246("Not recorded yet: scores.")packages/phoenix-client/pyproject.toml:47-49(harborextra,harbor>=0.21.0; python_version >= '3.12') and:56(entry point namearize-phoenix, so the Harbor flag is--plugin arize-phoenix)The
endpointdefault is documented asget_base_url()resolution(
PHOENIX_ENDPOINT, thenPHOENIX_COLLECTOR_ENDPOINT) rather than theplugin docstring's bare "
PHOENIX_COLLECTOR_ENDPOINT", because_plugin.py:80callsget_base_url(), whose key order ispackages/phoenix-client/src/phoenix/client/utils/config.py:57,67-74.SKILL.md— added the Quick Reference rowRecord a Harbor job as an experiment → experiments-harbor-python, so the newfile is not an orphan.
phoenix-tracing
No edits. No commit in the window touched
packages/phoenix-otel/,js/packages/phoenix-otel/src/, OpenInference semantic conventions, or spanattributes. The only
js/packages/phoenix-otelchange was apackage.jsondependency bump (
050a10e1e,fa2c7c59c).phoenix-cli
No edits. Verified against the tree rather than inferred:
js/packages/phoenix-cli/src/commands/is unchanged in the window — no newsubcommand, flag, or JSON output field. The only CLI source change was
js/packages/phoenix-cli/src/pxi/types.tsin391d0ddaa.7cfc1aa53, v1.16.1) is a PXI modelrecommendation list edit (
gemini-3.7-flashin,gemini-3.5-flashout,claude-opus-5added). The skill documents no PXI model list, so there isnothing to update.
pxcommand — see"Out-of-scope findings".
Phase-2 tagged candidates and their disposition
7efa7b21fretrieval relevance evaluatorf7c6cb3berecord Harbor jobs in Phoenixexperiments-harbor-python.mdb28cf94fcupgrade to anthropic SDK v1packages/phoenix-evals/pyproject.tomlthe change isanthropic>0.18.0→anthropic>=1,<2in thedevandtestoptional-dependency groups only (verified in the diff); production deps are untouched, and the skill pins no versions. The user-facing half of this commit isphoenix-client's Anthropic prompt helper movingtemperature/top_pintoextra_body— prompts, which none of the three skills document. Noted below.8ffd93899PATCH/projects/{id}/retentionpxcommand wraps it (grep retention js/packages/phoenix-cli/src/→ no hits) and no Python/TS client resource method exists (grep retention packages/phoenix-client/src/phoenix/client/resources/→ no hits); only generated OpenAPI types landed. Noted below.59c247a19GET/model_providerspxwrapper. The CLI already reads the equivalent data through the existingmodelProvidersGraphQL field injs/packages/phoenix-cli/src/pxi/preflight.ts:37, which is unchanged. Noted below.391d0ddaaPXI GraphQL mutations by defaultsrc/pxi/types.ts; the operator-facing knob is thePHOENIX_AGENTS_DISABLE_GRAPHQL_MUTATIONSenv var, which is server-side and governs the PXI agent. Thephoenix-cliskill documents trace/span/dataset debugging andpx api graphql, not PXI session behavior. Noted below.ce13c6f30PXI browser-action meta-toolssrc/phoenix/server/api/routers/agents.py); no CLI command or JSON shape changed.bcac8f624session filter NUL messagesrc/phoenix/trace/dsl/filter.pychange only rewords aSyntaxErrormessage on Python ≥3.11 so it stops quoting the tokenizer. The filter-expression grammar the skill documents is unchanged.Skipped commits
Release/bookkeeping:
a015c6f69,1915396ea,49cf5a722,c4a1068df,08922f3d0,f8561dc16,9478f954b,c619fef00,540f1a544,722a495b3,7cfc1aa53(CHANGELOG/version only — content triaged above),b44ffda67(regenerated OpenAPI artifacts for the endpoints already listed).
Dependency bumps:
050a10e1e,fa2c7c59c,5e2becf1d,55184f4c2,198945957,25e7c5cd6,48f18e98d(sqlean).Cost/pricing manifests:
b0c1e60c5,4580f348a,ad9b3a112,5150c4d8e.Frontend / UI only:
410a45bb4,9fbdebb38,2518e2b2a,ef9f238c0,e0a11a1c2,2fe40f9f6,d76cdf197,11bca548a,056afc3ad,31afcc737,0457b2541,7a6583190,8c143b8b1.Internal server / agents refactors:
f08a46cf6,31fafc5fe,e2cf8be0a,c08877f47,d38df33be(server-side evaluator prompt validation error text),7a5bc5578,f12126cc2,7b77585f5,db334e6da.Docs and CI:
d002a4589,8cdad3c75,729ff110d,1a537fcd9,506ebdca6,5ece96933,840fa1e0b,c121df660,3a42bc101,54c57cd8f,198344c4e,a38430963,e66c1fee8,0b2321e1f,81bd0695f,230b7ed5d, and theArize-AX / onboarding docs series (
97429c9c3…bd13ea95c).Out-of-scope findings
Flagged for their owners; no files outside the three target skills were touched.
PATCH /v1/projects/{project_identifier}/retention(8ffd93899) assignsan existing trace retention policy to a project, or resets it to the default
with
policy_id: null(src/phoenix/server/api/routers/v1/projects.py:335-400).It has no Python client resource method, no TypeScript client helper, and no
pxcommand — only generated types. Worth wrapping inclient.projectsand/orpx project, at which point it belongs inphoenix-tracing/references/projects-python.mdandphoenix-cli/SKILL.md.GET /v1/model_providers(59c247a19) lists built-in provider families,narrowed by
PHOENIX_ALLOWED_PROVIDERS(
src/phoenix/server/api/routers/v1/model_providers.py:38-66). Alsounwrapped by any client or CLI command. Its sibling
GET /v1/custom_model_providersis referenced in the endpoint description.Anthropic prompt-helper shape change (
b28cf94fc):phoenix.client.helpers.sdk.anthropic.messagesnow carriestemperature/top_pinsideextra_bodyonAnthropicMessageModelKwargs, sinceanthropic1.x dropped them as keyword arguments ofmessages.create().from_anthropicstill accepts the old top-level shape. This is auser-visible change to
prompt.format()output for Anthropic prompts, butprompts are not documented by any of the three external-facing skills.
PHOENIX_AGENTS_DISABLE_GRAPHQL_MUTATIONS(391d0ddaa) lets operatorsdisable PXI's GraphQL mutations server-side regardless of client settings.
This is a deployment knob for the PXI agent — likely
phoenix-serverterritory, not one of the three skills.
Python-only feature: the Harbor plugin has no TypeScript mirror
(
grep -rli harbor js/packages/→ no hits). If a TS Harbor integration isplanned,
experiments-harbor-python.mdwill need a-typescript.mdsibling.