v0.35.2 — Hiatus close-out drain
Bug fixes + DX (last release for 3 months)
Two-PR drain before the 3-month hiatus: mega-bundle PR #1898 (subsumed
#1880/#1883/#1886/#1891/#1896/#1897, which itself subsumed #1874/#1877/#1879/#1881)
- PR #1888 PMAT-706 smoke mode.
Fixed
- #1874 / PMAT-702:
apr evalno longer reports fakepass@1=1.0on
broken models. Eval now distinguishes inference failure from test failure. - #1877 / PMAT-703: distill teacher logits are vocab-aligned for the
Qwen2.5-Coder 7B → 0.5B KD pair (152064 → 151936). New contract
apr-distill-teacher-vocab-alignment-v1.yaml. - #1879 / PMAT-704:
apr distill --backend cudadefaults Q4K teacher
toCudaTrainerTeacher(cuBLAS), reverting the PMAT-704 Bug B
slow-path. New contractapr-distill-teacher-backend-selection-v1.yaml. - #1891:
apr pull qwen2.5-coder-1.5bandapr runshort-name
resolution + Pacha cache alignment. Addsqwen2.5-coder-1.5balias.
Filesystem paths that don't exist preserve the original path in the
FileNotFound error (regression: chat tests). - #1897 (clippy): removed
..Default::default()from 5 CallbackContext
literals in pipeline.rs where all fields are explicitly listed
(clippy::needless_update).
Added
- #1881 / PMAT-705:
ProgressCallbackwired into distillPipeline.
Operators can now subscribe toon_train_begin / on_epoch_begin / on_step_end / on_epoch_end / on_train_endevents. New contract
distill-pipeline-observability-v1.yaml. - #1888 / PMAT-706:
APR_DISTILL_MAX_STEPS=Nsmoke-validation mode.
Training loop early-breaks after N steps and prints a[SMOKE]summary
with projected full-run wall time. Use case: 60s smoke before committing
to a 50K-step run, catching cascade defects (e.g., PMAT-704 Realizar
CPU-bound hang) without waiting hours. New contract
apr-distill-smoke-validation-v1.yaml. - #1883 / #1886: dispatch wrappers for
apr distillStage D and
Phase 5 HumanEval, baked with PMAT-701 lessons. - #1880: SPEC-DISTILL-001 §87 post-mortem on PMAT-704 Bug B wrong turn.
- #1885:
scripts/gx10-disk-cleanup-distill-runs.shfor the gx10 host.
Chore
- #1896:
Cargo.locksynced toaprender@0.35.1(subsumed by #1891
in the mega-bundle). - README: hiatus banner updated to reflect v0.35.2 as the last release.
Versioning
- Root facade
aprender:0.35.1 → 0.35.2 - Sub-crates: stay at
0.35.0 aprender@0.35.2depends onapr-cli@0.35.0— no transitive churn.- Only the root facade republishes to crates.io.
Verification (post-merge dogfood, 2026-05-23)
- ✓
apr qa <qwen2.5-coder-7b-instruct-q4_k_m.gguf>Golden Output PASS
(closes #1864 confirmed live) - ✓
apr run <1.5B>produces "4" via wgpu→CPU parity-fallback safety net - ✓
aprv0.35.x stable; ~16 merged this session