Skip to content

0.6.0 — imajev family as fourth local backend

Latest

Choose a tag to compare

@aktonay aktonay released this 08 Oct 03:19

Added

  • imajev family as managed local backend imajev (port 8904) — imajev-2b/4b/9b (Apache-2.0, Qwen3.5 bases, pinned SHAs). snapdec runs upstream's own pinned server with --rotations 1 — no shim authored (ADR-0011). Flat /v1/models and missing /health are handled snapdec-side; 422/500 backend errors convert to fail-closed review envelopes (NFR-4).
  • Dual download per model — base snapshot via upstream's download_model.py + PEFT adapter snapshot at a stable path (relaunches never re-download).
  • Live download progress — uv wheel progress and tqdm bars (bytes + speed) now render live during provision; slow 2–5 GB links no longer look hung.
  • Catalog entries with JevBench board 2026-09 standings as a third stat scale, never cross-compared with kev breadth-v1 or the vllm-sr card. No star anywhere (unbenched in snapdec at release); RAM floors 12/24/48 GB x86 (FP32) and 8/16/32 GB Apple (real MLX fast path).

Fixed

  • Placeholder-bundle trap — upstream tarball ships a placeholder artifacts/model.json that passed a plain .exists() gate and skipped the ~4.6 GB base download; the bundle is now json-parsed and the snapshot dir verified (fail-closed, re-verified after download).
  • Resurrect window — daemon restart declared slow-loading backends dead after a flat 120 s; ensure_running now waits kind-aware (600 s for kev/decision2/imajev) with a 10 s heartbeat and a log-path note on failure.
  • Pid-reuse guard — stop_daemon only terminates pids whose process name matches python/snapdec, so a recycled Windows PID can never kill an unrelated process.
  • (paid) label now shown only for hosted routers.

Benchmarks

First snapdec bench on imajev-2b (this PC, i5-13420H, 16 GB, CPU FP32, mini-v1 n=12): p50 14.8 s / p95 35.1 s direct-to-backend, serialized inference (upstream request lock) — docs/benchmarks/2026-10-08-imajev-2b.md. Accuracy at n=12 is wire-path regression coverage, not a model-quality claim. 4b/9b and Apple MLX stay "bench pending".

Full changelog: https://github.com/aktonay/snapdec/blob/main/CHANGELOG.md

🤖 Generated with Claude Code