Path-portability fixes so graphify-out/ artifacts are portable across clones and machines, plus a native-backend extraction fix.
Path portability
- Portable
manifest.json— the skill runbooks now relativize manifest keys to the scan root, sographify --updatematches cached files after a clone or move instead of re-extracting the whole corpus. (#1417) - Hyperedge
source_filerelativized —build_from_jsonnow relativizesgraph.hyperedges[]like nodes and edges, so a semantic subagent's absolute path no longer leaks intograph.json. (#1418) - Report header shows the scan root — the split-skill runbook passed
'.'toreport.generate; it now passes the real scan path, soGRAPH_REPORT.mdno longer titles itself.. (#1419) GRAPHIFY_OUThonoured end-to-end — the custom output-dir override was only respected by some readers, soGRAPHIFY_OUT=custom-out graphify extractstill wrote tographify-out/. It's now resolved through a singlegraphify.pathsmodule acrossextract,cluster-only,query/affected/benchmark,save-result,uninstall --purge,cache-check, themanifest/transcripts/memory/convertedpaths, thebuild_merge/serve/prsdefaults, and thedetectscan-exclude. Default behaviour is unchanged. (#1423)
Native-backend extraction
- Hyperedges are now requested on the native path —
graphify extract --backend <gemini|claude|claude-cli|openai|kimi|…>never produced hyperedges (the prompt's schema showed an empty array and never described them), while the agent/skill path did. The native prompt now matches the skill spec, so both paths yield the same hyperedge behaviour. (#1430)