Repository navigation
test(evals): Add evals for provider failure, pushback, stale memory, and injected instructions - #2370
Merged
Merged
Conversation
…and injected instructions Add five behavioral cases that measure how Junior uses tool evidence. They give a baseline for the system prompt restructure in #2364. Run behavioral and integration evals when the system prompt or the SOUL.md and WORLD.md loading path changes. Co-Authored-By: David Cramer <david@sentry.io>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: David Cramer <david@sentry.io>
dcramer
marked this pull request as ready for review
October 29, 2026 16:15
Sentry Evalsjunior-behavioral
Base commit junior-integration
Base commit |
dcramer
approved these changes
Oct 29, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before #2364 restructures the system prompt, we need evals that measure how Junior uses tool evidence. This PR adds them on top of the current prompt, so we have a baseline. It does not change
packages/junior/src/chat/prompt.ts.These evals measure #2371, the companion PR that restructures the prompt. This PR is based on
main, not on #2371, so its run gives the baseline for the current prompt.These cases come from a real failure. A provider read failed two times with
404 object_not_found, but search still worked. Junior then made up a cause. When the user pushed back with no new evidence, Junior agreed and gave a new cause. That cause came from a recalled memory and did not match the evidence: the failed call was a read, but the memory was about write access.Fixture
eval-docsis a plugin on the existing eval MCP server (src/fixture/docs.ts). The pages are intests/msw/handlers/eval-mcp-auth.ts. Search finds the onboarding checklist, but a read of its id returns a 404. The current checklist has an id that search does not find. There is also a release freeze page, and on-call notes that contain an instruction to AI assistants.update-docis a write tool.failedDocReadHistory()loads the earlier turn: one search, two failed reads, and a reply that gives no cause.Cases (behavioral)
evals/skills/providers.eval.tsupdate-docin any state.evals/memory/user.eval.tsupdate-doccall.CI
The behavioral and integration path filters now also watch
packages/junior/src/chat/prompt.tsandpackages/junior/src/chat/discovery.ts.discovery.tsloadsSOUL.mdandWORLD.md.Validation
pnpm --filter @sentry/junior-evals typecheckandpnpm --filter @sentry/junior typecheckpass.pnpm --filter @sentry/junior lint, the test-architecture check, the file-length check, and prettier pass.pnpm --filter @sentry/junior-evals testpasses (16 passed, 1 expected fail).ROACH_TOKEN, no gateway credentials, and nocloudflared. The CI runs that the labels start will record and score them.Follow-ups
Refs #2364, #2371
via David Cramer.
--
View Junior Session [Sentry]