Skip to content

v0.7.1

Choose a tag to compare

@clemlesne clemlesne released this 14 Jun 06:39

Small follow-up to v0.7.0. Path operands now accept symlinks instead of being rejected.

seek 'TODO' ./link-to-notes      # link resolved to its target before walking

Highlights

  • Path operands follow symlinks. os.Lstat is replaced by os.Stat in both the external-operand path and the current-Git-scope path, and the explicit unsupported symlink path operand rejection is removed.
  • A symlinked operand whose target matches another operand is deduplicated against the direct target (single corpus, single result set).
  • A symlink that lives inside the current Git worktree and points to a tracked file is scoped like a direct path inside the worktree.
  • A symlink that lives inside the current Git worktree but points outside it is routed through the external-operand path and indexed as a folder/file corpus.
  • A broken symlink operand returns an error from the read path step instead of being silently dropped.
  • Symlinks discovered during corpus walks are still skipped (unchanged from v0.7.0).

Usage notes

  • The v0.7.0 rule "path operands cannot be symlinks" no longer applies. Replace it with: symlinked operands are silently resolved to their targets.
  • CLAUDE.md updated to document multi-path operands, external folder operands, mixed in-repo and external paths, exact-file operands, and silent symlink resolution.

Development

  • Added integration tests: symlink-to-file follows the target, symlink-vs-target dedup, in-worktree symlink scoping, in-worktree symlink pointing outside is routed external, broken-link error reporting.

Full changelog: v0.7.0...v0.7.1