Skip to content

test(search): measure typo forgiveness only when strict finds nothing - #37

Merged
leemour merged 3 commits into
mainfrom
test/typo-search-narrow
Oct 12, 2026
Merged

leemour merged 3 commits into
mainfrom
test/typo-search-narrow

Conversation

@leemour

@leemour leemour commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Task

Measure the narrower first step for typo-tolerant default search in cli-messaging (help only when strict search finds nothing), next to strict, legacy, combined and --discover.

Why

The owner wants typo-tolerant search by default and --language legacy gone. The full combined switch failed its gates; this gives the measured numbers for the plan in cli-messaging.

What

  • performance/search/message-search/typo.ts and a typo entry in run.py.
  • typo-dev.json: 33 guards on dev. typo-heldout.json: one held-out run of the frozen guard (informational, the split was reused).
  • Six unlabelled absent-near-word diagnostics and a top-ten parity check against the correctly spelled query.
  • README section with the commands.

Testing

run.py typecheck passes. Measured against cli-messaging 0cc88b1f (origin/main). Synthetic store only.

🤖 Generated with Claude Code

Adds the typo runner: strict first, and only on an empty result a known
word beginning becomes word* and an unknown word its nearest archive words.
Reruns strict, legacy, combined and --discover on the same store, sweeps
33 guards on dev, adds six unlabelled absent-near-word diagnostics and a
top-ten parity check against the correctly spelled query. Held-out ran
once on the frozen guard and is informational (the split was reused).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
leemour and others added 2 commits October 13, 2026 00:30
Variant C runs the narrow step and, only when it still finds nothing,
falls back to an any-word OR, an all-but-one-word OR, or the production
--discover path, listing each hit's missing words. On dev the discover
fallback equals legacy in every category and pays legacy's 80/80
no-answer hits; held-out ran once on the frozen choice (informational).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The first run (B only) stays as typo-dev.json and typo-heldout.json; the
run with the partial fallbacks is typo-c-dev.json and typo-c-heldout.json.
The README names each variant, the runner hash behind each file and the
commands for dev and the single held-out run.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@leemour
leemour marked this pull request as ready for review October 12, 2026 22:36
@leemour
leemour merged commit ff2355a into main Oct 12, 2026
1 check 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.

1 participant