Skip to content

fix: restore fuzzy and Unicode tape search - #365

Merged
frostming merged 1 commit into
bubbuild:mainfrom
yunyv:fix/tape-fuzzy-search
Oct 15, 2026
Merged

frostming merged 1 commit into
bubbuild:mainfrom
yunyv:fix/tape-fuzzy-search

Conversation

@yunyv

@yunyv yunyv commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Restore fuzzy and Unicode matching in FileTapeStore:

  • Clear the parent query's exact-substring filter before applying the existing fuzzy matcher. Keep the structural filters, and apply the requested limit after fuzzy matching and deduplication.
  • Preserve Unicode when serializing payloads for matching so Chinese, accented text, and emoji can match their visible text.
  • Add 15 regression cases covering persisted payloads, exact/case-insensitive/fuzzy/Unicode matches, rejected queries, anchors, dates, kinds, newest-first deduplication, limits, query immutability, and unchanged unqueried ordering.

This addresses the separate tape-search follow-up described in #361. The current parent filter rejects deploymnt before the fuzzy matcher can compare it with deployment; Unicode is additionally escaped in the text passed to that matcher.

Validation

  • New regression tests on the unchanged source: 9 failed, 6 passed.
  • New regression tests with this fix: 15 passed.
  • Full suite, including doctests: 628 passed, 1 skipped (PowerShell unavailable).
  • make check: passed all hooks and mypy (57 source files).

The full-suite run used a writable temporary HOME and OTEL_TRACES_SAMPLER=always_on because the execution environment otherwise has a read-only home and an inherited tracing sampler. No application code was changed for those environment constraints.

@yunyv
yunyv marked this pull request as ready for review October 15, 2026 11:34
@frostming
frostming merged commit db41819 into bubbuild:main Oct 15, 2026
10 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.

2 participants