geist v0.4.0
What's Changed
- ci(release): harden embedded curl vs HF 429; badge → v0.3.3 by @geisten in #52
- docs: overhaul README + refresh benchmark chart by @geisten in #53
- docs: accuracy pass — de-stale x86, fix misleading claims, cut internal scratch by @geisten in #54
- docs: normalize repo slug geistlib → geisten/geisten by @geisten in #55
- Metal backend on main's contract: 60% faster decode, MMLU parity with llama.cpp by @geisten in #58
- fix(engine): honor session max_seq_len; stop decode no-op past ctx 4096 by @geisten in #59
- cli: auto-size context window to the prompt (long-context usable end-to-end) by @geisten in #60
- docs(bench): drop redundant GEIST_WEIGHT_MMAP=1; fix stale spec-head default by @geisten in #62
- chore(backends): remove 9 dead perf flags by @geisten in #63
- feat(kv): activation rotation + packed 4-bit KV cache (#61) by @geisten in #65
- chore(cpu_neon): remove 3 orphaned prefill kernels left by flag removal by @geisten in #64
- docs: warm up the README and lead the docs with the agenda by @geisten in #67
- feat(kv): default the Hadamard rotation on for packed INT4 (#61) by @geisten in #74
- test(kv): speculative decode equivalence under packed INT4 (#68) by @geisten in #73
- harden(kv): warn on silent rotation disable + document cache-shift constraint (#70, #71) by @geisten in #75
- test(kv): measure KL by context depth; INT4 depth-stable, KIVI degrades (#69) by @geisten in #76
- docs(metal): re-confirm cool numbers on current main (no regression) by @geisten in #72
- chore(metal): remove dead decode-replay recording scaffolding by @geisten in #66
- Agent-layer reliability eval + two routing tie-breakers by @geisten in #77
- ci(release): auto-update Homebrew tap on version tags by @geisten in #78
- feat: local Home Assistant edge appliance by @geisten in #79
- feat: add host-neutral dynamic-tools-v1 runtime by @geisten in #88
- fix(agent): correctness + security hardening (+ arch-registry collapse, ternary-paper comparison) by @geisten in #89
- ci: cover the shipped x86_64 path (AVX-512 + scalar + musl) — #93 by @geisten in #95
- fix(cpu_x86): SIGILL auf x86-64-v3-CPUs ohne AVX-512 — alle AVX-512-Kernel laufzeit-gaten (#96) by @geisten in #99
- docs(dynamic-tools-v1): compatibility contract + reserved streaming extension — #92 by @geisten in #97
- install.sh: x86_64 support + SHA-256 verification — #90 by @geisten in #98
- release: v0.4.0 — dynamic-tools-v1 runtime artifact + health-handshake smoke (#87) by @geisten in #100
- perf(bitnet/cpu_x86): #102 Phasen 0–4 — Decode 91.7→94.9, Prefill 1037→1093, Bit-Exaktheits-Fixes, 3 vermessene Dead-Ends by @geisten in #103
- release: ship libgeist SDK artifact (lib + headers) per platform — #91 by @geisten in #101
- perf(bitnet/cpu_x86): t5 Base-3-Decode-Packing 1.6 bpw — Decode +10.5 % (#104) by @geisten in #106
- docs(readme): BitNet-9950X-Scoreboard aktualisieren — 1098 pp / 103.1 tg nach #102+#104 by @geisten in #107
- build(x86): Default-BACKENDS auf "cpu_x86 cpu_scalar" — Opt-in-Phase beendet (#108) by @geisten in #109
- release(sdk): ship the tool-use interface headers in libgeist — geist#110 (task 1) by @geisten in #111
- refactor(core): slim geisten to inference + --serve; move tools to geistwissen — geist#110 (tasks 2-3) by @geisten in #113
- feat(vulkan): Vulkan-Compute-Backend — erster Nicht-Apple-GPU-Pfad (RTX 2080 Ti: tg128 132.6, 86 % von llama.cpp Vulkan) by @geisten in #112
- chore: rename GitHub repo references geisten/geisten → geisten/geistlib by @geisten in #114
- fix(release): embedded builds target tools/$(EMBED_NAME), not tools/geist by @geisten in #119
- geistlib rename: README reframe as inference engine, tools cleanup, metal split, architecture docs by @geisten in #118
- fix(release): health-smoke timeout 30s → 300s for scalar-fallback runners by @geisten in #120
Full Changelog: v0.3.3...v0.4.0