Skip to content

[BREAKING] FIX: Make commutative scorer evaluation identity order-independent - #2779

Merged
Richard Lundeen (richlundeen) merged 2 commits into
microsoft:mainfrom
richlundeen:richlundeen-order-independent-scorer-identity
Sep 23, 2026
Merged

Richard Lundeen (richlundeen) merged 2 commits into
microsoft:mainfrom
richlundeen:richlundeen-order-independent-scorer-identity

Conversation

@richlundeen

@richlundeen Richard Lundeen (richlundeen) commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Description

Scenarios repeatedly failed to resume because equivalent composite scorers received different evaluation identities when their child order changed. I think this has been flagged 3-4 different times for individual scenarios, so trying a more robust fix

Add Evaluate.Include(unordered_when="parent_param") to make child order irrelevant to evaluation identity only when explicitly enabled. The evaluation engine sorts projected child hashes after behavioral filtering and retains duplicates.

TrueFalseCompositeScorer enables this for the built-in AND, OR, and MAJORITY functions. Equivalent permutations, including nested composites, now share evaluation identity and pass scenario resume checks. Custom aggregators and converter pipelines remain ordered. Execution and stored child order are unchanged.

This change is independent of #2576 and does not modify the Garak exploitation scenario.

Opt built-in AND, OR, and MAJORITY composites into conditional child-hash sorting. Preserve duplicates, execution order, and ordered custom aggregates. Keep legacy identifiers fail-closed and document resume compatibility.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@richlundeen
Richard Lundeen (richlundeen) added this pull request to the merge queue Sep 23, 2026
Merged via the queue into microsoft:main with commit 5062e28 Sep 23, 2026
49 checks passed
@richlundeen
Richard Lundeen (richlundeen) deleted the richlundeen-order-independent-scorer-identity branch September 23, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants