v0.8.44

chatboxai/chatboxv0.8.44Jun 19, 2026by safishamsi

AI Summary

Corrects skill-runbook logic and fixes crashes related to semantic extraction, ensuring semantic chunk files are derived from the correct directory and cache handling is robust.

Key Highlights

  • Semantic chunk files derived from CWD, not scanned dir
  • Code-only corpora write empty semantic JSON to prevent crashes
  • --directed flag properly propagates to graph builds
  • Stale cache files are deleted on miss

New Features

  • Improved skill-runbook correctness
  • Semantic extraction stability fixes

Full Release Notes

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.json` before Part C, fixing a `FileNotFoundError`.
- `--cluster-only` relies on the self-contained `graphify cluster-only` CLI 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 when `to_json` actually persisted the graph (respects the #479 shrink-guard).

Remaining correctness tier:
- `--directed` is propagated as `directed=` into `build_from_json` (build + rebuild) and `build_merge` (`--update` merge + diff), so a `--directed` / `--directed --update` run no longer collapses reciprocal edges into an undirected graph.
- Semantic extraction scopes to `document`/`paper`/`image` only (code is covered by the AST pass), so subagents stop re-reading every source file.
- `.graphify_cached.json` is deleted on a cache miss, so a stale cache from a prior run is never merged.
- `--update` transcribes changed video files into documents before the semantic pipeline.
- Transcription writes via `write_text`, honours `GRAPHIFY_WHISPER_MODEL`/`GRAPHIFY_WHISPER_PROMPT`, prints status to stderr.
- `add-watch`/`exports` use the resolved interpreter explicitly; MCP Desktop config documents the absolute interpreter path.

## Library
- The semantic extract entry points no longer crash on `FileSlice` units. The 0.8.43 #1386 fix coerced every item with `Path(f)`, which raised `TypeError` on the `FileSlice` objects from the oversized-text slicing path (#1369). Items are coerced only when not already a `Path`/`FileSlice` (#1397, #1399).

**Full changelog:** https://github.com/safishamsi/graphify/blob/v8/CHANGELOG.md