Skip to content

docs: fix four coherence-audit findings against origin/main#100

Merged
ber4444 merged 1 commit into
mainfrom
fix/docs-coherence-audit-findings
Jul 17, 2026
Merged

docs: fix four coherence-audit findings against origin/main#100
ber4444 merged 1 commit into
mainfrom
fix/docs-coherence-audit-findings

Conversation

@ber4444

@ber4444 ber4444 commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

A full coherence audit (README + PR descriptions + code on origin/main @ c609bdc + the two published articles) surfaced four small repo-side discrepancies. All are documentation/comment fixes — no behavior change.

The two published articles ("Teaching a Kotlin Chess Engine to Debug Itself", "I Stopped Eyeballing LLM Output") were checked against the code and are coherent — no edits needed there. The DRAFT article's needed edits are tracked separately in the owner's roadmap, not here.

The four fixes

# File Problem Fix
1 onDeviceAi/.../OnDeviceTextGeneratorFactory.wasm.kt:8 Docstring said the wasm model is Qwen3-0.6B-int4 ~347 MB (a copy-paste from the desktop factory). The wasm generator actually downloads gemma-4-E2B-it-web.litertlm ~2 GB (LitertLmWasmTextGenerator.kt:186). README + AGENTS.md already had this right. Docstring corrected to gemma-4-E2B-it-web ~2 GB.
2 evals/scorecard.md:3 Header read as a typo: "100 total cases, 100 opening cases" implies 100 = 100+something, but all 100 cases carry eco/expectedConcepts — there are no move-only cases. Reworded to "100 opening cases".
3 docs/on-device-ai-architecture.md:55 Still described Desktop/Web as "devices without a local model" — true pre-#89, false post-#89 (desktop+wasm have real LiteRT-LM). Updated: the fallback is now the last-resort path (JS, gated-off runtimes, failed downloads, validation rejection), not the Desktop/Web default.
4 README.md Fly seed step (line ~320) Told readers to run /opt/coach-server/bin/server-seed, a script installDist never generates (server/build.gradle.kts:57 mainClass is ApplicationKt; Dockerfile ENTRYPOINT is bin/server). The README's own footnote admitted it. Replaced with the two real paths: ./gradlew :server:seed locally, or java -cp lib/* com.example.coachserver.SeedMain inside the container. Tightened the footnote to explain why there is no bin/server-seed.

Verification

  • ./gradlew :onDeviceAi:compileKotlinWasmJsgreen (the only .kt change is a docstring).
  • Markdown edits need no build.
  • No source/behavior change; :server:seed, the Docker image layout, and all runtimes are untouched.

Why these matter

These are exactly the things a reviewer (or article reader who clones the repo) catches first: a docstring that contradicts the line below it, a scorecard header that reads as a typo, a design doc that predates the feature it describes, and a copy-paste command that fails on first run. None are load-bearing, but each one erodes the "the docs match the code" claim the articles depend on.

🤖 Generated with ZCode

A full coherence audit (README + PR descriptions + code on origin/main @ c609bdc
+ the two published articles) surfaced four small repo-side discrepancies. All
are documentation/comment fixes; no behavior change.

1. Wasm factory docstring named the wrong model —
   `OnDeviceTextGeneratorFactory.wasm.kt:8` said "Qwen3-0.6B-int4 ~347 MB" but the
   wasm generator downloads `gemma-4-E2B-it-web.litertlm` (~2 GB) per
   `LitertLmWasmTextGenerator.kt:186`. README + AGENTS.md already had this right;
   the stale docstring was a copy-paste from the desktop factory.

2. Scorecard header read as a typo — "100 total cases, 100 opening cases" implies
   100 = 100+something, but all 100 cases carry `eco`/`expectedConcepts` (there
   are no move-only cases). Reworded to "100 opening cases".

3. `docs/on-device-ai-architecture.md:55` still described Desktop/Web as
   "devices without a local model" — true pre-#89, false post-#89 (desktop+wasm
   have real LiteRT-LM). Updated to match the README/AGENTS.md: the fallback is
   now the last-resort path (JS, gated-off runtimes, failed downloads, validation
   rejection), not the Desktop/Web default.

4. README's Fly seed step told readers to run `/opt/coach-server/bin/server-seed`,
   a script `installDist` never generates (`server/build.gradle.kts:57` mainClass
   is ApplicationKt; `Dockerfile` ENTRYPOINT is `bin/server`). The README's own
   footnote admitted it. Replaced the broken command with the two real paths:
   `./gradlew :server:seed` locally, or `java -cp lib/* com.example.coachserver.SeedMain`
   inside the container. Tightened the footnote to explain why there's no
   `bin/server-seed` rather than papering over a broken command.

Verified: `:onDeviceAi:compileKotlinWasmJs` green (the only .kt change is a
docstring). Markdown edits need no build.

Published-article coherence confirmed in the same audit — DEBUG (perft rig) and
SCORE (LLM eval harness) chess-repo claims all verify on origin/main. DRAFT
article edits are tracked separately in Downloads/sequenced-roadmap.md.
@ber4444
ber4444 merged commit 24c0e45 into main Jul 17, 2026
12 checks passed
@ber4444
ber4444 deleted the fix/docs-coherence-audit-findings branch July 17, 2026 22:08
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