fix(grep): wire up 'count' output mode#30
Open
T0mSIlver wants to merge 1 commit into
Open
Conversation
The schema advertises output_mode enum ['content', 'files_with_matches', 'count'] but run_rg only matched the string 'count_matches', which the model can never send. Selecting 'count' silently fell through to content mode instead of emitting --count-matches. Match the advertised enum value and add a regression test.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Grep schema advertises
output_modeenum["content", "files_with_matches", "count"]and both the schema description andgrep.mdtell the model that"count"shows match counts. Butrun_rgonly checkselif output_mode == "count_matches"— a value the model can never send. Selectingcountmatched no branch, so no--count-matchesflag was added and ripgrep silently fell back to printing matching lines.Fix
Match the branch against the advertised enum value
"count", and addtests/test_grep_count.pyasserting thatcountmode emits per-file match counts (not content).Paper reference
Confirmed by the paper's canonical tool schema:
output_modeis "One ofcontent,files_with_matches, orcount", so"count"is the correct enum value the code must match. — FastContext paper (arXiv:2606.14066), Appendix E "FastContext Explorer: Tool Schemas", p. 19