feat(ci): opt-in answer-quality/targeting eval on canary dispatch (Phase E instrument)#1013
Conversation
…ase E instrument) Adds an answer_quality_eval dispatch input to eval-canary that runs the 30-case eval:answer-quality fixture (five quality metrics + per-intent structural targeting) after the eval:quality gate subset. The instrument existed but was never run in CI. Dispatch-only and default-off: scheduled runs and existing dispatch shapes are byte-identical, and the step is informational by design (exit 0 without --targeting-floor) so quality gates stay owned by eval:quality. The tee'd log rides the existing artifact upload. Follows the #1003 input-only precedent; retrieval steps untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EXsJcLrbZUXwnBeG91cVo9
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe canary workflow adds an optional dispatch input for running the answer-quality evaluation and writing a dedicated log. Scheduled and default dispatch behavior remains unchanged, and the review ledger documents the update. ChangesAnswer-quality canary evaluation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
…a-review-asi3wb # Conflicts: # docs/branch-review-ledger.md
Summary
First Phase E delivery (user-approved with budget): give the canary an opt-in
answer_quality_evaldispatch input that runs the 30-caseeval:answer-qualityfixture — five answer-quality metrics (relevance, readability, artifact leaks, intent coverage, fail-closed) plus the per-intent structural targeting metric (dose→figure, red-result→withhold action, monitoring→schedule). E-1 recon found this instrument has never run in CI, and the canary's answer gate samples only 8 of the 44eval:qualitycases — so the Phase E baseline needs this step.Design constraints honored:
if: workflow_dispatch && input == 'true'); follows the feat(ci): eval-canary dispatch inputs — staged ranking-config override + branch evals (ADDENDUM 4 B-PR-1 / D-1) #1003 input-only precedent.--targeting-floor, so this step can never fail a canary — quality gates stay owned by theeval:qualitystep..local/eval-canary/and rides the existing pinned artifact upload; 45-minute job timeout comfortably absorbs the ~10-minute step.Next (after merge): the E-2 baseline dispatch —
answer_case_limit=44+answer_quality_eval=true— one run giving the full answer-quality baseline on both instruments plus the golden retrieval eval as the built-in no-regression net. Estimated $3–8 of the user-authorized ≤$20 Phase E envelope; reported before/after dispatch.RAG impact: no retrieval behaviour change — dispatch-input-only workflow addition; retrieval steps, schedule, and defaults untouched.
Verification
npm run check:github-actions— pass (no new actions; existing pins untouched)npm run check:ci-scope— passnpm run check:gate-manifest— passnpx prettier --checkon both changed files — cleanRisk and rollout
workflow_dispatchAND explicit'true'). The step is informational and cannot fail the run.30 live generation cases ($1–3) — always under an explicit user-approved dispatch.Clinical Governance Preflight
Clinical KB Database(sjrfecxgysukkwxsowpy) — same env block, no new secret exposure🤖 Generated with Claude Code
https://claude.ai/code/session_01EXsJcLrbZUXwnBeG91cVo9
Generated by Claude Code
Summary by CodeRabbit
New Features
Documentation