github safishamsi/graphify v0.8.47
graphify 0.8.47

5 hours ago

graphify 0.8.47

Self-improving "work memory" (#1441)

  • graphify save-result --outcome useful|dead_end|corrected [--correction TEXT] records how a saved Q&A turned out.
  • graphify reflect aggregates graphify-out/memory/ into a deterministic reflections/LESSONS.md an agent loads next session. Source nodes are scored, not counted — signed and recency-decayed (configurable --half-life-days, default 30), so a fresh dead end outweighs a stale useful. A node is preferred only once corroborated by ≥--min-corroboration distinct results (default 2); others are tentative; mixed-signal nodes render once as contested (recency-wins). Citations whose node no longer exists in the graph are dropped, so stale lessons don't linger. Deterministic, no LLM.
  • Zero-config adoption: the skill instructs the agent to read LESSONS.md at the start of graph work and to record outcomes, and the git post-commit/post-checkout hooks now auto-run reflect after each rebuild — so lessons stay fresh without a manual command.

Fixes

  • Python qualified class-method calls (ClassName.method(...)) now produce an EXTRACTED calls edge to the class-qualified method node (#1446) — previously dropped, including the common case where the called method shares its name with the caller (a viewset action delegating to a same-named service action).
  • validate_extraction/build_from_json no longer crash on a non-hashable node id or edge endpoint from a malformed extraction — a single bad node no longer aborts the whole build (#1447, thanks @dschwartzi).
  • graphify update now prunes a function/symbol removed from a still-present file without --force — the shrink-guard is file-aware (allows shrinkage from re-extracted/deleted files, still refuses unexplained loss).

Install: uv tool install graphifyy==0.8.47

Don't miss a new graphify release

NewReleases is sending notifications on new releases.