Skip to content

Say when a query is not understood, and let a pattern keep its escapes and commas - #44

Merged
donislawdev merged 1 commit into
mainfrom
fix/stability-package-f
Oct 5, 2026
Merged

donislawdev merged 1 commit into
mainfrom
fix/stability-package-f

Conversation

@donislawdev

Copy link
Copy Markdown
Owner

Package F of the stability report: the query language says when it does not understand, and a pattern keeps its escapes and commas.

What changes for somebody using the tool

Measured on a machine with about 800 entries, before the change in brackets:

Query Now Before
name:/a\?/ 0 800 - the backslash was lost, a? matches everything
path:/C:\\Windows/ 295 0 - \W became a character class
name:/^w{2,}/ 1 0 - the comma cut the pattern in two
pid:>1000 pid:<2000 11 121 - two bounds were folded into either
C:\Windows\System32\svchost.exe 251 exit 2, "no field called C"
name:// exit 2 800
name:/abc exit 2, says how to close it or write \/ 0 with no word
  • Turning a filter off when the box holds status:running,stopped leaves status:running instead of an empty box.
  • ? finds a field that was refused or never read. none and any count such an entry among the unsure ones instead of a confident no.
  • The same field written twice with values is still either, and a comma is still or: pid:<100,>60000 asks for both ends outside a range.

Contract

The meaning of three existing spellings changes (escapes in a pattern, two bounds on a number, ? with none and any on a field without an answer), so QueryParser.SyntaxVersion goes from 2 to 3. QueryProblemKind gains UnclosedPattern at the end. README, the query language page (both languages) and CHANGELOG.md say it.

Checked

  • Narrow test runs over the query classes of the core, the command line and window classes that read query texts, the architecture guards and the integration tests about queries, plus the prose guards and the site tests after the public texts changed. All green after three red guards were answered (a counted word, a size ratchet, a depth ratchet going down).
  • Mutations for every entry anchored in a changed file: 43 of 43 caught, 18 of them new.
  • Not looked at in the live window: the "Could not check" filter now shows every entry whose signature is still being read, then narrows when the reading ends.

🤖 Generated with Claude Code

…s and commas

Package F of the stability report, the query language.

- An escape inside a pattern now reaches it. The scanner records which
  characters came through a backslash, and the pattern is compiled with
  them put back, so name:/a\?/ no longer matches every entry and
  path:/C:\\Windows/ no longer matches none.
- A comma inside a pattern that has not closed belongs to it. One rule
  splits a member into values, read by the parser and by the chip cut:
  name:/^w{2,}/ works and name:/a/,/b/ is still two patterns.
- Turning a chip off takes one value out of a comma list rather than the
  whole member. The scanner records where each character stood, so the
  rest of the line stays as it was typed.
- A value that opens with / and never closes is a mistake with a sentence
  saying how to close it, or how to search for the slash. The last member
  being typed in the window is passed over. An empty // is a mistake too.
- A pasted path (C:\..., C:/...) is a search, not a field called C. No
  field or alias has a one-letter name, and a test holds that.
- Two one-sided bounds on the same number or size narrow instead of being
  folded into either. Exact values, ranges and the comma are unchanged.
- ? finds a field that was refused or never read, and none and any are
  unsure about such a field instead of a confident no.
- QueryParser.SyntaxVersion goes from 2 to 3.
- QuerySizes moves to its own file, and the depth ratchet goes down by one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 5, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository UI (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 6ee6894a-a731-4bc2-b2b5-6f1791ba2ff8
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@donislawdev
donislawdev merged commit ff8e39d into main Oct 5, 2026
8 checks passed
@donislawdev
donislawdev deleted the fix/stability-package-f branch October 5, 2026 17:03
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