Skip to content

v0.15.0

Choose a tag to compare

@tompassarelli tompassarelli released this 27 May 14:57

Highlights

  • bnix converter rewrite on rnix-parser. beagle-import-nix swaps
    nix-instantiate --parse for rnix-parser
    via a small Rust binary (tools/nix-parse-json). The lossy-normalization
    workarounds (float markers, path restoration, manual tokenizer) all go
    away — net –600 lines of Racket. 100% semantic correctness on two real
    corpora (Misterio77 nix-config + firnos nixos-config, 9/9 hosts).
  • Typed flake-input form ships, nix-ident removed. The last
    escape-hatch-by-another-name is now a parse-time error with a
    migration message. The "zero escape hatches" claim now matches code
    reality.
  • dockerTools stdlib coverage. buildLayeredImage, buildImage,
    streamLayeredImage, pullImage typed.
  • Tree prune. lab/, notebook/, self-host/ removed from this
    repo (~35k-line net deletion). The Bun-based self-host proof-of-concept
    is retired; production self-host direction is Cyclone Scheme.

Breaking

  • nix-ident is now a parse-time error. Migrate to (flake-input :NAME :NAMESPACE :path ...).
  • beagle-import-nix now requires tools/nix-parse-json to be built:
    cargo build --release --manifest-path tools/nix-parse-json/Cargo.toml.

Stats

  • 1190 active-tier tests passing (+ oracle/differential/bun-parity)
  • 116 commits since v0.14.0

Note (added post-release)

The Bun self-host bin scripts (beagle-bun, beagle-self-emit{,-clj,-rkt,-py,-nix}, beagle-ast) and the oracle-bun test are retired alongside the self-host/ deletion. If you need the working Bun PoC: git checkout v0.14.0. Cyclone Scheme is the production self-host destination.