What's new
Cross-file call resolution for all languages
AST extraction now emits cross-file calls edges for Swift, Go, Rust, Java, C#, Kotlin, Scala, Ruby, PHP, and every other supported language. Previously only Python had this. Unresolved call sites are saved per file and resolved against a global label map after all files are processed. Cross-file edges are marked INFERRED with confidence 0.8.
PHP static method calls and constant references
Two node types were missing from the PHP extractor. scoped_call_expression (static calls like Helper::format()) now emits calls edges. class_constant_access_expression (enum and constant references like Status::ACTIVE) now emits references_constant edges.
Wiki flag implemented
--wiki now actually runs. Step 6b added to the skill pipeline (before the cleanup step so community labels are still available). Calls to_wiki() and writes graphify-out/wiki/ with index.md and one article per community and god node.
Performance: betweenness centrality on large graphs
edge_betweenness_centrality now returns early for graphs over 5000 nodes. betweenness_centrality in suggest_questions uses k=100 approximate sampling for graphs over 1000 nodes. Eliminates hangs on large repos.
OpenCode plugin installed on both install paths
graphify install --platform opencode now also writes .opencode/plugins/graphify.js and registers it in opencode.json. Previously only graphify opencode install did this.
Cache root fix for subdirectory runs
extract() accepts an explicit cache_root parameter. When graphify narrows to a subdirectory on a large repo, the cache stays at ./graphify-out/cache/ instead of /graphify-out/cache/.
Windows stability
os.replace in the cache writer falls back to shutil.copy2 on PermissionError (WinError 5). graphify update exits with code 1 when rebuild fails instead of silently returning. All generated config files now use graphify update . instead of a hardcoded python3 invocation.
Kiro package data
skill-kiro.md was missing from pyproject.toml package-data, causing graphify kiro install to fail on fresh pip installs. Fixed.
Upgrade
pip install -U graphifyy