Skip to content

search: a non-UTF-8 .git file is a per-path error (D2) - #594

Closed
jaredLunde wants to merge 32 commits into
mainfrom
jared/fix-d2-search-bad-git
Closed

jaredLunde wants to merge 32 commits into
mainfrom
jared/fix-d2-search-bad-git

Conversation

@jaredLunde

Copy link
Copy Markdown
Contributor

Fixes D2. rg reads the nearest .git as a gitdir pointer and, when it is not text, prints rg: PATH: stream did not contain valid UTF-8 and exits 2 although the pattern is fine and the matches were printed.

Decision: no rg flag fixes it. --no-ignore-vcs and --no-ignore silence it but drop the .gitignore handling the helpers promise; --no-ignore-parent does not help; --no-require-git is already conditional on the git probe and changes which ancestor ignore files apply. So the parsing changes: a stderr line ending in stream did not contain valid UTF-8 is a per-path error alongside the OS messages (Rust, TS, Python sync/async). Regex, glob and size-limit failures (rg: regex parse error:, rg: error parsing glob, rg: compiled regex exceeds size limit) stay invalid_query because every stderr line must be a per-path error. Spec (Exit codes and errors) states the rule. Removes both xfail marks and the D2 tolerance. No sandbox-mcp crate on main.

Stacked on #592 (which carries #590); retarget once they land.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64

jaredLunde and others added 21 commits October 27, 2026 09:20
Hegel generates operation sequences (files, search, exec, and changes made behind
the client's back); each runs in lockstep through every registered driver on its own
root, and the answers are compared with each other and, on local backends, with std::fs.
Findings D1..D5 are scenarios in differential-found.json, xfail for the clients that fail them.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
…lit at CR, VT, FF, U+2028)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
… even on SIGKILL; differential tests run only in the clients job

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
…, not a rejected pattern

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
…o jared/fix-d2-search-bad-git

# Conflicts:
#	sdk/conformance/FILES-OVER-EXEC.md
…ferential tolerance

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
@jaredLunde
jaredLunde added this pull request to the merge queue Oct 27, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 27, 2026
jaredLunde and others added 3 commits October 27, 2026 12:05
… built on the Rust client)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
…rop exec.exact from the comparison

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
jaredLunde and others added 5 commits October 27, 2026 12:43
…er lead out of the root

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
…ad-git

# Conflicts:
#	sdk/conformance/FILES-OVER-EXEC.md
… jared/fix-d2-search-bad-git

# Conflicts:
#	crates/sandbox-conformance/ARCHITECTURE.md
#	sdk/conformance/scenarios/differential-found.json
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJRTKuPpNNqCLEdyUwZj64
…ad-git

# Conflicts:
#	crates/sandbox-conformance/ARCHITECTURE.md
#	crates/sandbox-conformance/tests/differential/oracle.rs
#	sdk/conformance/scenarios/differential-found.json
@jaredLunde
jaredLunde enabled auto-merge October 27, 2026 20:47
@jaredLunde
jaredLunde added this pull request to the merge queue Oct 27, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 27, 2026
@jaredLunde jaredLunde closed this Oct 27, 2026
@jaredLunde

Copy link
Copy Markdown
Contributor Author

Landed on main as part of #600: the three D fixes were stacked, and #600's squash carried this PR's commits.

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