Skip to content

v1.2.2 — Windows, Linux, and macOS

Choose a tag to compare

@profnimrod profnimrod released this 06 Sep 00:29
· 1 commit to main since this release

Companion code for Beyond the Frontier: Domain-Specific Generative AI from First Principles to the Tactical Edge (Emergence Publications, 2026). This release corresponds to the book's first edition, which cites it by tag, commit, and archive digest in Appendix F.

What's new since v1.2.1

  • Cross-platform. All four laboratories now run on Windows, Linux, and macOS with Python 3.12. labs/run_all.py is the orchestrator for every platform — no bash required — and is resumable with --from {setup,b,c,d,e}. The .sh scripts remain as thin wrappers for readers who prefer them.
  • UTF-8 everywhere. Every text read and write is explicitly UTF-8, fixing stream did not contain valid UTF-8 from the tokenizer trainer on Windows.
  • Complete pins. gguf was missing from the requirement files; it is now pinned, tests/env_check.py verifies every module the lab suite imports, and a new regression test asserts that every third-party import is pinned.
  • Line endings. .gitattributes enforces LF so scripts survive a Windows checkout.
  • Lab E artifact chain. quant/merge.py --adapters sft,dpo,grpo merges the final aligned stack; QAT writes the bf16 master (ckpt/qat-master), packing happens at export, and the packed GGUF is the artifact that gets gated. The two deployment branches (stable base plus adapters, or merged bundle) are documented in docs/LAB_E.md.
  • Python equivalents of the bench and deploy tools: bench/soak.py, deploy/stage.py.

Verification

python tests/env_check.py
python -m pytest tests/test_repo.py -q      # 17 tests
python labs/run_all.py --smoke              # ~5 min, every stage

Reference results for the full run are in docs/EXPECTED.md.

Release asset

btf-repo-v1.2.2.zip is the archive whose digest is printed in the book. GitHub's auto-generated source archives are byte-different and will not match.

SHA-256  86a35f50a8f7d1830c0cc724363ef0e39978f2d3f1d97ac6bbec255cea211fb5