Skip to content

docs: accuracy pass — de-stale x86, fix misleading claims, cut internal scratch - #54

Merged
geisten merged 3 commits into
mainfrom
docs/accuracy-pass
Jul 1, 2026
Merged

docs: accuracy pass — de-stale x86, fix misleading claims, cut internal scratch#54
geisten merged 3 commits into
mainfrom
docs/accuracy-pass

Conversation

@geisten

@geisten geisten commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Follow-up to the README overhaul: a correctness/conciseness sweep across the rest of the docs (three parallel review agents + manual verification).

🔴 A — Broken / misleading / stale (verified)

  • x86 backend landed but 3 docs said otherwise. CONTRIBUTING.md ("x86 not supported yet / fails fast") and docs/ARCHITECTURE.md ("policy skeleton, no compute path") now reflect the shipping AVX-512/VNNI backend (opt-in via BACKENDS="cpu_x86 cpu_scalar").
  • docs/DEPLOY.md described infra that doesn't exist — GHCR container + SSH-deploy rows are now marked as sketches. Also: EMBED_MODEL_URL defaults to BitNet (was framed opt-in), so geist-bitnet-<platform> ships every release; artifact now named.
  • ROADMAP.md said prebuilt x86 binaries were "not yet" — they ship (reconciled with CHANGELOG).
  • benchmark/TERNARY_BITNET.md status header said "not yet measured / blocked on Pi / in progress" while the doc's own body reports 17.4 t/s vs bitnet.cpp 8.2. Rewrote to "measured", cut the stale unblock-list to the one real gap (2B-4T TQ2_0 model).
  • Broken links fixed: docs/BENCHMARKING.mdBENCHMARKING.md (×2), and a ../... link.
  • docs/agent.md: constrained decode ships (forced name + arg re-key); scoped the open item to in-sampler grammar masking.
  • README.md: version 0.3.0 → 0.3.3 (badge + git tag were already 0.3.3).

🟠 B — Internal scratch removed from the public repo

  • Deleted docs/LINUX_X86_PERF_PROFILE.md (599-line profiling diary with reverted experiments and a "514 t/s… never reproducible here" note) and docs/LINUX_X86_SPEC.md (pre-impl spec for the now-landed backend). Rescued the final x86 numbers into a concise benchmark/BENCHMARK_X86.md; repointed headline_results.json.
  • Deleted tests/migration-plan.md + its completed "Migration Status" section.
  • Removed .agent/AGENT.md; gitignored .agent/ and .agent_memory_unit/.

🟡 C — Bloat / redundancy

  • benchmark/README.md hub omitted the ternary (2×) and x86 wins entirely — now surfaced + linked. Reconciled the stale "decode tie" with the spec-head 7.5 t/s.
  • docs/QUICKSTART.md: cut single-file prose duplicated in README/DEPLOY, kept the unique geist_model_load_from_memory snippet + DEPLOY link.

Net −1145 lines. All relative doc links verified to resolve; no references to the deleted files remain.

Deliberately deferred (need your call — not release-blocking)

  • geist.h GEIST_VERSION_STRING is still "0.3.0" while the tag/badge/README say 0.3.3 — that's a code/release bump, not a doc edit.
  • CHANGELOG [Unreleased] was never cut for 0.3.2 / 0.3.3.
  • geisten/geistlib slug (README release links, CHANGELOG, CITATION.cff) left as-is per your earlier "don't mass-normalize" call — works via redirect.

geisten added 3 commits July 1, 2026 20:07
…al scratch

Tier A (broken / misleading / stale, verified):
- CONTRIBUTING, ARCHITECTURE: x86 AVX-512 backend has LANDED (was "policy
  skeleton / not supported / fails fast"); note it's opt-in via BACKENDS=
- DEPLOY: mark the GHCR-container and SSH-deploy rows as sketches (no such
  workflow exists); EMBED_MODEL_URL now defaults to BitNet → geist-bitnet ships
  by default; name the geist-bitnet artifact
- ROADMAP: prebuilt x86-64 binaries now ship (was "not yet"), reconcile w/ CHANGELOG
- TERNARY_BITNET: status was "not yet measured / blocked on Pi / in progress" but
  the doc's own results show 17.4 t/s vs bitnet.cpp 8.2 — rewrite to "measured",
  cut the stale "what unblocks" list to the one open gap (2B-4T TQ2_0 model)
- benchmark/BENCHMARK: fix docs/BENCHMARKING.md → BENCHMARKING.md (404)
- TERNARY_BITNET: fix broken ../... link
- agent.md: constrained decode ships (forced name + arg re-key); scope the open
  item to in-sampler grammar masking, not "generate-then-validate"
- README: version 0.3.0 → 0.3.3 (badge/tag were already 0.3.3)

Tier B (remove internal scratch from the public repo):
- delete docs/LINUX_X86_PERF_PROFILE.md (599-line profiling diary with reverted
  experiments and a "not reproducible here" note) and docs/LINUX_X86_SPEC.md
  (pre-impl spec for the landed backend); rescue the final x86 numbers into a
  concise benchmark/BENCHMARK_X86.md and repoint headline_results.json
- delete tests/migration-plan.md + its completed "Migration Status" section
- remove .agent/AGENT.md; gitignore .agent/ and .agent_memory_unit/

Tier C (bloat / redundancy):
- benchmark/README: surface the ternary (2x) and x86 results that the hub omitted;
  reconcile the stale "decode tie" with the spec-head 7.5 t/s
- QUICKSTART: cut the single-file prose duplicated in README/DEPLOY, keep the
  geist_model_load_from_memory snippet + link to DEPLOY
- include/geist.h GEIST_VERSION_STRING 0.3.0 → 0.3.3 (matches tag/badge/README);
  version.c already derives from the macro, so `geist --version` now prints 0.3.3
- scripts/check-version.sh: assert include/geist.h == README badge/status/citation
  (source of truth is geist.h; a guard, not a generator)
- ci.yml: run the check on every PR (new `version-consistency` job)
- release.yml: new `version-guard` job — a `v*` tag must equal GEIST_VERSION_STRING
  and have a matching `## [x.y.z]` CHANGELOG section, else the release is blocked
@geisten
geisten merged commit 2b0f98f into main Jul 1, 2026
6 checks passed
@geisten
geisten deleted the docs/accuracy-pass branch July 1, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant