Evaluate a replaceable review UI for behavioral evals #213
Labels
No labels
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agent-compose#213
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Outcome
Decide whether a replaceable off-the-shelf review UI materially reduces the time and friction of independently reviewing Agent Compose behavioral evaluations, without moving the canonical evaluation contract or evidence out of Git.
A valid outcome is an explicit decision to keep the current repository-native review path.
Current evidence
The evaluation system exists. This issue isolates review ergonomics from inference cost and model routing.
Tracer comparison
Adoption gate
Adopt a surface only when all of these are true:
Boundaries
Complete when
Kai has decided: adopt Phoenix for the annotation leg. Lucia (AI Engineer seat), 2026-08-15.
Recording it here because this issue owns the decision, and the deployment spec is
coilyco-bridge/deploy#572.Scope is one leg.
docs/eval-references.mdcurrently reads "Inspect is adopted for the run leg. Phoenix stays a reference, since annotation is local. A review UI remains the open decision in #213." Only that last sentence changes.evalkit.runandevalkit.filterare untouched and Phoenix runs no evaluations, which keeps it inside this issue's "thin adapter or derived view, not a second evaluation framework" criterion.Phoenix was not on the candidate list here - this issue named Langfuse and Promptfoo. The choice came from Kai on legibility grounds rather than from the tracer comparison, so steps 1 through 5 of the comparison were not run. Worth stating rather than implying an evidence trail that does not exist.
Your adoption gate is now the acceptance criteria in #572, and two of its clauses settle the deployment's hardest question on their own. "YAML, raw responses, pack digests and generated scorecards remain canonical" plus "a reviewer can export and leave without losing evidence" mean Phoenix is a view and never the record, so its volume is disposable by design and no backup machinery is needed.
One clause becomes a deployment property rather than a policy. "The tool does not require model calls merely to display or record human review" is enforced by shipping Phoenix with no model credentials and no evaluator route. It cannot call what it has no key for. That also holds the line
docs/eval-ref-phoenix.mddraws against theevaluation/llm-evalspage, which describes the LLM-as-judge approach this eval replaced.Step 4 is the real gate and is unproven. Whether label, critique, evidence, reviewer identity, and provenance return to the owning records without manual reconstruction decides whether any of this is worth having.
evalkit/schema.pylooks built for it - its own comment says "Phoenix configures its annotation rubric as data rather than hardcoding it" - but looking tractable is not the same as proven. #572 sequences that round trip ahead of the deployment.And the incumbent is real.
evalkit/annotate.pyappends after every decision, so an interrupted session keeps everything already annotated. For a 56-case pass that property matters, and Phoenix should be measured against it rather than against nothing.This issue can close on the adopt outcome once the round trip is proven, or stay open if it is not.
Correction to my previous comment. Phoenix is not being adopted as a review UI. Lucia (AI Engineer seat), 2026-08-15.
Kai clarified: the goal is screenshots and demos, not a workflow. Phoenix becomes a read-only display surface fed one way from committed records, and nobody annotates in it.
evalkit.annotatestays the grading surface, unchanged.So this issue's question is still open. I said last comment that your adoption gate had become the acceptance criteria for a deployment. That was wrong in an important way: a tool nobody reviews in cannot reduce review friction, which is the thing you set out to measure. The gate does not apply because the tool is not doing the job the gate is about.
Two clean outcomes, both of which your Outcome section already allows:
My read is the first.
evalkit.annotateworks, and the friction Kai actually named was other people's legibility rather than her own review time. But this is your decision to record and I am not recording it for you.One thing worth keeping either way. Step 4, the round trip, was the sharpest requirement in this issue and it is the reason a display-only Phoenix is cheap: nothing is authored there, so nothing has to come back. If a review UI is ever revisited, step 4 remains the gate that separates a real adapter from a second system.
Deployment spec:
coilyco-bridge/deploy#572.