0.8.44
Skill-runbook correctness and a crash fix.
Generated skill (#1392)
Crash & data-loss tier:
- Semantic chunk files are derived from cwd (where Part C globs
graphify-out/), not the scanned dir, so a non-cwd scan no longer produces "no nodes". - Code-only corpora write an empty
.graphify_semantic.jsonbefore Part C, fixing aFileNotFoundError. --cluster-onlyrelies on the self-containedgraphify cluster-onlyCLI instead of re-running steps that read already-deleted intermediate files.- The zero-node guard runs before any write, and
GRAPH_REPORT.md/analysis are written only whento_jsonactually persisted the graph (respects the #479 shrink-guard).
Remaining correctness tier:
--directedis propagated asdirected=intobuild_from_json(build + rebuild) andbuild_merge(--updatemerge + diff), so a--directed/--directed --updaterun no longer collapses reciprocal edges into an undirected graph.- Semantic extraction scopes to
document/paper/imageonly (code is covered by the AST pass), so subagents stop re-reading every source file. .graphify_cached.jsonis deleted on a cache miss, so a stale cache from a prior run is never merged.--updatetranscribes changed video files into documents before the semantic pipeline.- Transcription writes via
write_text, honoursGRAPHIFY_WHISPER_MODEL/GRAPHIFY_WHISPER_PROMPT, prints status to stderr. add-watch/exportsuse the resolved interpreter explicitly; MCP Desktop config documents the absolute interpreter path.
Library
- The semantic extract entry points no longer crash on
FileSliceunits. The 0.8.43 #1386 fix coerced every item withPath(f), which raisedTypeErroron theFileSliceobjects from the oversized-text slicing path (#1369). Items are coerced only when not already aPath/FileSlice(#1397, #1399).
Full changelog: https://github.com/safishamsi/graphify/blob/v8/CHANGELOG.md