What's fixed
- Node ID collisions across same-named files in different directories — SQL extractor and Python import resolver now use directory-qualified stems (
dir_file_entity) instead of bare filename stems, preventing silent node merging on repos with duplicate filenames - Absolute
source_filepaths from semantic subagents no longer stored in graph —build_from_json,build, andbuild_mergenow accept arootparam and relativize paths at build time, fixing broken MCP traversal on mixed corpora (#932) - Failed semantic chunks permanently freezing files — only files that appear in extraction output get
semantic_hashstamped in the manifest; failed-chunk files keep an empty hash and are re-queued on the next run (#933)
What's improved
- Stat-based mtime fastpath for
file_hash— skips full SHA256 read when file size+mtime_ns are unchanged (same trade-off as make); index flushed atomically via atexit, making incremental re-runs significantly faster on large corpora - New CLI subcommands —
graphify cache-check,graphify merge-chunks,graphify merge-semanticexpose cache and merge logic as library-callable commands for skill pipelines
Upgrade
pip install --upgrade graphifyy