Skip to content

perf(mcp): prefilter simple suffix globs on Windows - #1604

Open
ertankucukoglu wants to merge 1 commit into
DeusData:mainfrom
ertankucukoglu:perf/search-code-extension-filter
Open

perf(mcp): prefilter simple suffix globs on Windows#1604
ertankucukoglu wants to merge 1 commit into
DeusData:mainfrom
ertankucukoglu:perf/search-code-extension-filter

Conversation

@ertankucukoglu

Copy link
Copy Markdown
Contributor

What does this PR do?

Prefilters safe simple suffix globs such as *.pas and *.d.ts before PowerShell Select-String on Windows.

Complex patterns continue to use the existing post-filter path, and the final defensive file-pattern filter is preserved.

Adds regression coverage for safe/unsafe pattern boundaries and PowerShell command ordering.

Test results: 7353 passed, 0 failed, 63 skipped.

Part of #1565

Checklist

  • Every commit is signed off (git commit -s) — required, CI rejects
    unsigned commits (DCO, see CONTRIBUTING.md)
  • Tests pass locally (make -f Makefile.cbm test)
  • Lint passes (make -f Makefile.cbm lint-ci)
  • New behavior is covered by a test (reproduce-first for bug fixes)

@github-actions

Copy link
Copy Markdown

Thanks for opening this — it has been seen, and it is queued.

This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence.

Current review status: working through a backlog. 0.9.1-rc.1 is out, so the release freeze that held reviews is over — but it left a large queue of open pull requests behind it, and we are reading through them oldest-first. The background is in discussion #1144.

What that means for this PR, concretely:

  • It will not be closed for inactivity. No stale bot touches pull requests here.
  • It may still sit a while before a human reads it. That is on us, not on you.
  • Older PRs are read first, so a recent one is not being skipped — it is behind a queue.

Things that will genuinely speed it up whenever review does happen:

  • Keep it rebased on main — the tree is moving quickly right now, and a conflicting branch cannot be reviewed as the diff you intended.
  • Get CI green, or say which failures you believe are pre-existing.
  • Keep the change to one claim. Bundled features and refactors get split before they get merged, which costs you a round trip.
  • Every commit needs a sign-off (git commit -s) — CI enforces DCO.

If this fixes a bug, a reproduction we can run is worth more than a description of the symptom.

Thanks for contributing, and sorry in advance for the wait.

@ertankucukoglu

Copy link
Copy Markdown
Contributor Author

Could a maintainer please rerun the failed test-lsan-macos job?

The run completed with 7465 passed tests and one failure in an unrelated timing-sensitive lock registry test:

lock_registry_absolute_deadline_survives_repeated_wakes
FAIL tests/test_lock_registry.c:1153: ASSERT(tail_queued)

This PR only changes Windows search_code suffix prefiltering and does not modify the lock registry. The same macOS LSan check passed on the other PRs from the same base, so this appears transient.

Signed-off-by: Ertan <ertan.kucukoglu@gmail.com>
@ertankucukoglu
ertankucukoglu force-pushed the perf/search-code-extension-filter branch from 829e1ff to 088b96b Compare August 14, 2026 14:50
@ertankucukoglu

Copy link
Copy Markdown
Contributor Author

Rebased onto current main and removed the unrelated comment rewrapping noted in review. The branch remains scoped to the results-preserving Windows suffix prefilter; the push also retriggers the previously flaky macOS LSan check.

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