v0.8.45
GraphiteEditor/Graphitev0.8.45Jun 22, 2026by safishamsi
AI Summary
Ensures graphify-out artifacts are portable across clones and machines by relativizing paths and fixes hyperedge generation in native backends.
Key Highlights
- Portable manifest.json relativized to scan root
- Hyperedges source_file relativized
- GRAPHIFY_OUT honored end-to-end across all commands
- Native backend now requests hyperedges correctly
New Features
- Manifest keys match cached files after clone
- Hyperedge behavior matches agent/skill path
- Report header shows real scan root path
Full Release Notes
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, so `graphify --update` matches cached files after a clone or move instead of re-extracting the whole corpus. (#1417) - **Hyperedge `source_file` relativized** — `build_from_json` now relativizes `graph.hyperedges[]` like nodes and edges, so a semantic subagent's absolute path no longer leaks into `graph.json`. (#1418) - **Report header shows the scan root** — the split-skill runbook passed `'.'` to `report.generate`; it now passes the real scan path, so `GRAPH_REPORT.md` no longer titles itself `.`. (#1419) - **`GRAPHIFY_OUT` honoured end-to-end** — the custom output-dir override was only respected by some readers, so `GRAPHIFY_OUT=custom-out graphify extract` still wrote to `graphify-out/`. It's now resolved through a single `graphify.paths` module across `extract`, `cluster-only`, `query`/`affected`/`benchmark`, `save-result`, `uninstall --purge`, `cache-check`, the `manifest`/`transcripts`/`memory`/`converted` paths, the `build_merge`/`serve`/`prs` defaults, and the `detect` scan-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)