CCIP match threshold (tunable, 0.85) + Explore → variance #150
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
CCIP match threshold — tunable, default 0.85
Live measurement showed the v1 flat 0.75 cosine over-fires (~64% of matched images got 3–10 character guesses dominated by the most-referenced characters). 0.85 collapses the noise while keeping confident matches.
ml_settings.ccip_match_threshold(migration 0063);match_imagereads it./api/ml/settings(validated 0.5–0.999).Explore → navigation — fix loop-back + add variance
forwardTargetpicked a uniformly-random image from the 24 nearest, so → often landed on a visited node (snapping the cursor back = "loops back") and only offered near-duplicates. Now: excludes visited neighbours, skips the closest third of the similarity-sorted pool for variety, pool widened 24→40.CI green (1010 tests + migration). Server deploy needed for the threshold (migration + endpoint); the Explore fix ships with the web image.
🤖 Generated with Claude Code
Live data showed the v1 flat 0.75 cosine over-fired — ~64% of matched images got 3-10 character guesses dominated by the most-referenced characters (a 27-ref character clears a low bar on many images). A sweep showed 0.85 collapses the noise (noisy multi-matches 47→3) while keeping the confident single-character matches. - ml_settings.ccip_match_threshold (migration 0063, default 0.85); match_image reads it (override still accepted). DEFAULT_SIM_THRESHOLD fallback 0.75→0.85. - Exposed in GET/PATCH /api/ml/settings (validated 0.5–0.999). - Slider in the GPU agent card ("Character-match strictness") — tune live, no redeploy, same observe-and-tune loop as auto-apply. Test: a ~0.9-cosine figure matches at 0.85, dropped at 0.95. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ttrj5P7upUTueSfoJcxEqa