docs: fix four coherence-audit findings against origin/main#100
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
onDeviceAi/.../OnDeviceTextGeneratorFactory.wasm.kt:8gemma-4-E2B-it-web.litertlm~2 GB (LitertLmWasmTextGenerator.kt:186). README + AGENTS.md already had this right.evals/scorecard.md:3eco/expectedConcepts— there are no move-only cases.docs/on-device-ai-architecture.md:55README.mdFly seed step (line ~320)/opt/coach-server/bin/server-seed, a scriptinstallDistnever generates (server/build.gradle.kts:57mainClass isApplicationKt;DockerfileENTRYPOINT isbin/server). The README's own footnote admitted it../gradlew :server:seedlocally, orjava -cp lib/* com.example.coachserver.SeedMaininside the container. Tightened the footnote to explain why there is nobin/server-seed.Verification
./gradlew :onDeviceAi:compileKotlinWasmJs→ green (the only.ktchange is a docstring).: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