Skip to content

fix(core): grep skip counts/reasons not surfaced to caller or user #1139

Description

@anandgupta42

Found during v0.9.7 release review (End User persona), building on the ripgrep record-isolation fix in ca9b34a (#1094).

grep() in packages/core/src/ripgrep.ts computes a skipped tally for a single aggregate Effect.logWarning, but the return value consumed by packages/opencode/src/tool/grep.ts is just Match[] — the skip count/reasons never reach the tool caller or the user.

Risk: a tree with many corrupted/oversized/non-UTF-8 files (or a systematic issue) now returns a partial result that reads exactly like an honest 'no matches' to both agent and user, with the only trace in a debug log almost nobody opens. This is the same class of silent-data-loss bug #1094 was written to fix, just one layer further out.

Suggested fix: thread the skip count (and maybe a sample of skip reasons) through to the tool result, surfaced as a one-line note when non-zero (e.g. 'N records skipped due to encoding/size issues').

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions