Skip to content

v0.9.36

Latest

Choose a tag to compare

@safishamsi safishamsi released this 07 Aug 21:58

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.