diff options
Diffstat (limited to '.rules/changelog/2026-03/31')
| -rw-r--r-- | .rules/changelog/2026-03/31/01.md | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/.rules/changelog/2026-03/31/01.md b/.rules/changelog/2026-03/31/01.md new file mode 100644 index 0000000..ff5291f --- /dev/null +++ b/.rules/changelog/2026-03/31/01.md @@ -0,0 +1,21 @@ +# 2026-03-31 — Add interface dependency and full test suite + +## Changes + +### Dependency Setup +- Added `dispatch-tools-interface` as a runtime dependency in `gemspec` (`~> 0.1`) +- Added local path reference in `Gemfile` for development + +### Source Updates +- `lib/dispatch/tool/files.rb`: Added `require "dispatch/tools/interface"` and defined `SandboxError`, `FileNotFoundError`, `FileExistsError` error classes +- `spec/spec_helper.rb`: Added interface, tmpdir, and fileutils requires +- `spec/dispatch/tool/files_spec.rb`: Removed placeholder failing test + +### Test Suite (7 spec files) +- `sandbox_spec.rb` — Path resolution, traversal attacks, symlinks, absolute paths, `within_worktree?` +- `read_file_spec.rb` — Full read, line ranges, line numbers, not found, binary detection +- `write_file_spec.rb` — Write new, overwrite, parent dirs, byte count, sandbox +- `edit_file_spec.rb` — Single/multiple edits, sequential application, not found, ambiguous match +- `create_file_spec.rb` — Create new, fail on existing, parent dirs, sandbox +- `list_files_spec.rb` — Recursive/non-recursive, glob patterns, relative paths, directory errors +- `search_files_spec.rb` — Plain text, regex, invalid regex, path scoping, pattern filter, result limit |
