Skip to content

FIX: attribute fuzzer jailbreak scores through the scored piece id - #3300

Merged
Roman Lutz (romanlutz) merged 9 commits into
microsoft:mainfrom
ManoharPaturi:fix/fuzzer-score-response-alignment
Oct 20, 2026
Merged

Roman Lutz (romanlutz) merged 9 commits into
microsoft:mainfrom
ManoharPaturi:fix/fuzzer-score-response-alignment

Conversation

@ManoharPaturi

Copy link
Copy Markdown
Contributor

Description

Fixes #3299

_process_scoring_results paired the flattened score_batch_async result with the responses by position, but that list can hold zero or several scores per response, so position is not the response index. A jailbreak verdict is now attributed through the scored piece id, so it always lands on the conversation the score was actually stored on. The target query counter now counts responses instead of scores, since a response is one target query regardless of how many scores its scorer produced.

Tests and Documentation

Added a regression test that feeds two responses with a three score batch (two scores on the first response, the jailbreak on the second). It fails on main with an IndexError and passes with the change, and also covers the skipped response case where only the second response produced a score. The full fuzzer suite passes (24 tests).

No documentation change needed, so I did not run JupyText.

auto-merge was automatically disabled October 19, 2026 18:52

Head branch was pushed to by a user without write access

@ManoharPaturi

Copy link
Copy Markdown
Contributor Author

The pre-commit failure was an unused Message import my test no longer needed, ruff removed it as a fixup and the hook treats modified files as a failure. Dropped in c30822b, and 41c94e3 merges current main so the branch is not behind. Ruff check and format are clean on the touched files and the fuzzer suite passes (24 tests).

Exercise deterministic batched scoring through execute_async and isolated SQLite across one-to-one, multiple, skipped, absent, and successful score batches. Verify stable conversation attribution despite reversed completion, persisted metadata, and response-based query limits.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4a77f1bc-5948-4351-ad5f-c7f02e414a3b
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4a77f1bc-5948-4351-ad5f-c7f02e414a3b
@romanlutz
Roman Lutz (romanlutz) added this pull request to the merge queue Oct 19, 2026
Merged via the queue into microsoft:main with commit 900de6e Oct 20, 2026
64 checks passed
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.

BUG: Fuzzer attributes jailbreak scores to the wrong response when the scorer batch is not one to one

2 participants