v2.13.0 — Spark-X2.5-4B and truthful hybrid-attention labels
What changed
- Adds the pinned
XHToken/Spark-X2.5-4Bcheckpoint: dense 4.112B, GQA 16/4 with 256 head dimension, 27 sliding + 9 full-attention layers, 512-token sliding window, and native 1,048,576-token context. - Allows only the publisher-proven
spark2_5attention-output gate keys. The gate is applied after attention and does not change the K/V cache shape; unknown families and unknown structural keys still fail closed. - Replaces the old hard-coded
5:1display label with a ratio derived from actuallayer_types. Spark is now truthfully shown as3:1; existing KV calculations remain count-based and unchanged. - Adds a conformance anchor for 1M-context F16 KV: 38,711,328,768 bytes (36.05 GiB), then regenerates the census from 8,424 to 8,775 verdicts while preserving every previous row byte-for-byte.
- Updates the engine, package metadata, README Action reference, vectors, and census surfaces to
2.13.0/ 29 vectors.
No speed, throughput, or SSD/NVMe streaming claim. Spark benchmark fields remain unset rather than mixing incompatible or incomplete benchmark labels.
Verification
- focused Spark suite: 10/10
- full engine suite: 217/217
- conformance vectors: 29/29
- census regeneration check: 4/4 byte-identical
- npm package dry-run:
fitllm-engine@2.13.0 - GitHub PR and post-merge CI: success
- independent fixed-commit Grok review: ACCEPT, P0=0, P1=0, P2=4 non-blocking
- released source: squash merge
c547c280e767d4474f7bb266234aa9016f126d18of PR #120; its tree is byte-identical to reviewed candidatecb46d9ef21af6ad2200115ae4428af8c83fa1f3a
Closes #103.
Full diff: v2.12.0...v2.13.0