graphify v0.9.36

v0.9.36
Fixed 4
  • four commands that failed silently while exiting 0 now surface the problem: cluster-only warns when --backend/--model/--batch-size are ignored because saved labels are being reused; the community-label prompt no longer collides with the discard sentinel; tree --root exits non-zero when the root matches no source file instead of silently flattening the tree; and cluster-only stamps built_at_commit from the analysed graph rather than the shell's working directory
  • a Swift extension Foo in a different file from Foo no longer drops static and singleton call edges into the type; the extension node id is now remapped consistently so the extension merges onto its base type before call resolution
  • node-id collision resolution is now deterministic and prefers active over archived paths, ranked by a lifecycle penalty computed on the root-relative path and a reversed-segment tie-break
  • the Windows skill now runs on PowerShell with steps emitted as PowerShell here-string interpreter invocations and Remove-Item cleanup instead of bash-only commands

Correctness release: surfaces four silent CLI failures, fixes Swift cross-file extension call loss, makes node-id collision resolution deterministic, and makes the Windows skill runnable on PowerShell.

  • Fix: four commands that failed silently while exiting 0 now surface the problem (#2534, thanks @elecnix). cluster-only warns when --backend/--model/--batch-size are ignored because saved labels are being reused; the community-label prompt no longer collides with the discard sentinel (a model echoing the key back is no longer silently dropped); tree --root exits non-zero when the root matches no source file instead of silently flattening the tree; and cluster-only stamps built_at_commit from the analysed graph rather than the shell's working directory. Also folds in the cluster-only refused-write guard from #2522 (thanks @aniJani).
  • Fix: a Swift extension Foo in a different file from Foo no longer drops static and singleton call edges into the type (#2538, thanks @pawelo446). The extension node id is now remapped consistently so the extension merges onto its base type before call resolution, and the merge is gated so it never absorbs a same-named type from another language.
  • Fix: node-id collision resolution is now deterministic and prefers active over archived paths (#2532, thanks @michaelxer for the active/archived idea in #2540). Two files that mint the same id (for example plans/_done/x.md vs plans/in-progress/x.md) are ranked by a lifecycle penalty computed on the root-relative path and a reversed-segment tie-break, so the winner no longer depends on ASCII filename order, absolute-vs-relative path form, or the checkout directory name.
  • Fix: the Windows skill now runs on PowerShell (#2528, thanks @tannermosher2015-debug). The Windows skill variant's steps were bash-only ($(cat ...), rm -f, find -delete); they are now emitted as PowerShell (here-string interpreter invocations and Remove-Item cleanup), with POSIX skills unchanged and step parity enforced by a generator check.
View original

Upgraded? How did it go?

Discussion