Repository navigation
Harden the Seed Search image questions and re-tune their thresholds - #622
Merged
Merged
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
daoudclarke
force-pushed
the
seed-images-prod-harden
branch
from
November 10, 2026 17:06
e55e957 to
f7fbc7f
Compare
This was referenced Nov 10, 2026
daoudclarke
force-pushed
the
seed-images-prod-harden
branch
from
November 11, 2026 07:03
f7fbc7f to
1f82f76
Compare
Commons text is now delimited, with angle brackets, invisible characters and the tag name taken out of it, and categories are capped like the description. Every image question says its Commons text and web results are data, not instructions, and the NSFW question treats text that addresses the judge as a warning sign. The relevance question sees Staan's top two results, and image_request asks need and relevance in the one request Seed Search will send once Staan answers. The thresholds measured with these questions (NSFW below 1.0, need at least 1.65, relevance at least 1.5) are constants next to them in prompt.py, for the pipeline to use. No functional changes to the crawler. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
daoudclarke
force-pushed
the
seed-images-prod-harden
branch
from
November 11, 2026 10:25
1f82f76 to
046ca30
Compare
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.
From Claude:
Stack: PR 2 of the #610 production plan, on #620 (
seed-images-prod-prompts), which sits on #624, then #623, thenmain. PR 3 (seed-images-prod-pipeline) builds on it.Split: this PR now holds only the production commit, rebuilt on the restructured #620, and it passes every hook. The evaluation that measured it (
rankeval/seed_images, the eval doc, the eval tests) is #627, against the evaluation branch. That PR is the evidence for the results below. One change from the original commit: the judge tests build their image withtest_image_search.make_imageinstead of importing the eval test's fixture.What changed
<commons-file-text>tags.top_results.judge.image_request(query, staan, images)asks need (Staan's top ten titles) and every candidate's relevance in one request, as PR 3 will.prompt.py, next to the questions they were measured with:NSFW_THRESHOLD = 1.0,NEED_THRESHOLD = 1.65,MIN_RELEVANCE = 1.5,RELEVANCE_WEB_RESULTS = 2,NEED_WEB_RESULTS = 10. They aren't settings because each is tied to the exact wording, and a setting would invite changing one without measuring it again. Constants also leave the crawler's shared settings alone. PR 3 should import them, and keep settings for the display count, the deadline and the kill switch.Results (measured in #627)
Safety benchmark (same 68 batches, separate mode, at 1.0):
The 1.0 threshold stays: at 1.5 only 90.4% of art is caught. On real candidates the pass rate goes from 96.0% to 95.6%.
Injection probes: 383 nude benchmark images with judge-addressed text, and cross-image batches of 20.
Gate and relevance (train reference labels):
Holistic re-run: not needed before PR 3, because the settings barely moved. Re-judge on production's real request.
PR 1's notes:
How it was verified
make checkandmake testpass on this branch, with normal hooks.need_requestandimage_request.devdata/seed_images.Subagent reviews (on the original combined PR):
indexing.relevancemixing question versions (fixed), the duplicatedNSFW_THRESHOLD(fixed), and doc claims needing labels (fixed).Part of #610
🤖 Generated with Claude Code