Skip to content

fix(tools): ToolExecutor forwarding gaps, symlinked checkpoint drop, checkpoint tests#6036

Merged
bug-ops merged 1 commit into
mainfrom
fix/6012-shadow-impl-forwarding-gap
Jul 11, 2026
Merged

fix(tools): ToolExecutor forwarding gaps, symlinked checkpoint drop, checkpoint tests#6036
bug-ops merged 1 commit into
mainfrom
fix/6012-shadow-impl-forwarding-gap

Conversation

@bug-ops

@bug-ops bug-ops commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #6012
Closes #6001
Closes #5999

Test plan

  • cargo +nightly fmt --check
  • cargo clippy --profile ci --workspace --all-targets --features "desktop,ide,server,chat,pdf,scheduler,testing" -- -D warnings
  • cargo nextest run --config-file .github/nextest.toml --workspace --features "desktop,ide,server,chat,pdf,scheduler" --lib --bins — 12722 passed, 0 failed, 35 skipped
  • RUSTFLAGS="-D warnings" RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc --no-deps --workspace --features "desktop,ide,server,chat,pdf,scheduler"
  • Regression test for capture_snapshot_for silently drops checkpoints for newly-created files under symlinked allowed_paths on macOS #5999 exercises a raw (non-canonicalized) symlinked /tmp prefix and was verified to fail without the fix
  • New cross-cutting forwarding tests use distinguishable stub values to genuinely discriminate correct vs. incorrect forwarding

@github-actions github-actions Bot added documentation Improvements or additions to documentation rust Rust code changes bug Something isn't working size/XL Extra large PR (500+ lines) labels Jul 11, 2026
@bug-ops
bug-ops enabled auto-merge (squash) July 11, 2026 14:24
@bug-ops
bug-ops force-pushed the fix/6012-shadow-impl-forwarding-gap branch from 122e0c9 to 8377e23 Compare July 11, 2026 14:24
…ckpoint drop, add checkpoint-stack tests

CompressedExecutor, ToolFilter, and Arc<ShellExecutor> now forward every
cross-cutting ToolExecutor method to their inner/wrapped executor instead of
silently falling through to trait defaults, closing the same shadow-impl
forwarding gap fixed for other wrappers in #5930 and #6011.

capture_snapshot_for no longer drops a checkpoint for a newly-created file
under a symlinked allowed_paths prefix on macOS: a new
canonicalize_or_nearest_ancestor helper resolves symlinks via the nearest
existing ancestor when the target path itself does not exist yet.

Adds regression coverage for the ShellExecutor checkpoint stack: redo
without a prior undo, checkpoint_list ordering, and multi-step undo/redo
depth bookkeeping.
@bug-ops
bug-ops force-pushed the fix/6012-shadow-impl-forwarding-gap branch from 8377e23 to fc982e9 Compare July 11, 2026 14:27
@bug-ops
bug-ops merged commit beb040a into main Jul 11, 2026
43 checks passed
@bug-ops
bug-ops deleted the fix/6012-shadow-impl-forwarding-gap branch July 11, 2026 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation rust Rust code changes size/XL Extra large PR (500+ lines)

Projects

None yet

1 participant