Skip to content

Publish an evaluator that carries its own rubric - #6

Merged
m7md7sien merged 1 commit into
feat/azure-ai-evaluations-consolidatedfrom
fix/publish-carried-rubrics
Aug 20, 2026
Merged

Publish an evaluator that carries its own rubric#6
m7md7sien merged 1 commit into
feat/azure-ai-evaluations-consolidatedfrom
fix/publish-carried-rubrics

Conversation

@m7md7sien

Copy link
Copy Markdown
Owner

Final review round found the rubric feature was inert: both publish loops selected on source alone, and validation guarantees a rubric under definition comes with no source, so a \ to a rubric published nothing and the eval bound an evaluator the service had never seen. Every test stopped at decoding.

Also closes the \ asymmetry for a third time: the CLI's no-\ fast path skipped the rescue while deploy still applied it, so a hand-written entry carrying rubric keys deployed and was refused by every command that read it. Both routes now gate on the same structural check.

Both fixes are mutation-tested -- each regression test was confirmed to fail without its fix.

gofmt, vet (untagged, hero, live) and the full suite are green.

Both publish loops selected on 'source' alone, and validation guarantees a rubric written under 'definition' comes with no source. So a ref to a rubric decoded, validated, reported nothing and published nothing, and the eval was then created against an evaluator the service had never been told about. The whole feature was inert.

Every test for it stopped at decoding, which is why none of them noticed. A test now asserts a carried rubric reaches the publish set.

Also: the rescue is gated on the document actually using a ref, structurally, on both routes. The CLI's no-ref fast path skipped nesting while deploy still applied it, so a hand-written entry carrying rubric keys deployed and was then refused by every command that read it -- the same asymmetry a third time. The gate is structural rather than a byte scan, so a ref mentioned in a comment no longer changes an unrelated entry's meaning.

The one-resolver guard now scans the whole extension; it walked only its own package, which is not where a second caller would appear.
@m7md7sien
m7md7sien merged commit 2c0509e into feat/azure-ai-evaluations-consolidated Aug 20, 2026
1 check passed
@m7md7sien
m7md7sien deleted the fix/publish-carried-rubrics branch August 20, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant