Skip to content

feat(omni-graph): filesystem symlink cycle guard and alias navigation (R-109) - #16

Merged
vadde merged 1 commit into
mainfrom
feat/r109-symlink-cycle-guard-and-navigation
Nov 6, 2026
Merged

vadde merged 1 commit into
mainfrom
feat/r109-symlink-cycle-guard-and-navigation

Conversation

@vadde

@vadde vadde commented Nov 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • Implements requirement R-109: Filesystem Symlink Cycle Guard & Alias Navigation in Omni-Graph.
  • Uses standard library std::fs::symlink_metadata to intercept symlinks before reading content.
  • Resolves canonical target paths via std::fs::canonicalize and emits dedicated symlink nodes with LINKS_TO edges (category: 'FILESYSTEM'), completely eliminating duplicate AST function clones and symbol table pollution.
  • Safely handles cyclic symlinks and broken symlinks without recursion loops or process hangs.
  • Synchronized src/ingestion/mod.rs and src/watcher/pipeline.rs with transactional atomic swap (execute_atomic_swap).
  • Added unit tests test_r109_symlink_cycle_guard_and_alias_navigation and test_r109_symlink_atomic_swap_sql_generation (all 113 unit tests pass, 0 clippy warnings).
  • Maintains Quad-Parity across specs/catalog/, STATUS.md, DEVLOG.md, and CONTEXT.md.

@vadde
vadde merged commit d770c77 into main Nov 6, 2026
6 checks passed
@vadde
vadde deleted the feat/r109-symlink-cycle-guard-and-navigation branch November 6, 2026 20:03
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