docs: correct binary-size claim to <15 MB across README, landing and docs - #238
Merged
Conversation
…docs
The published figure (~11 MB) understated the shipped binaries. v2.16.0
release assets measure 12.45-13.55 MB, and a local build with the release
flags (CGO_ENABLED=0, -ldflags "-s -w") reproduces 12.97 MB. The claim had
drifted ~2 MB (~15%) before anyone noticed.
Replace it with a <15 MB ceiling: accurate today, and with headroom so the
claim does not silently go stale again as the binary grows.
Sweeps every place the claim appeared:
- README.md, GETTING_STARTED.md, AGENTS.md, docs/CHEATSHEET.md, docs/llms.txt
- docs/index.html: meta/og/twitter tags, both JSON-LD blocks, and the
hero size marker in the body
- cmd/odek/telegram.go: the Telegram Quick Facts prompt, which instructed
the model to quote the same stale figure to users
HTML escaping: < entities in attributes and body text; a literal < inside
the JSON-LD <script> blocks, where character references are not decoded.
Docs and prompt-string only - no behaviour change. Verified: zero stale
claims repo-wide, JSON-LD still valid JSON, entities decode to the intended
visible text, gofmt clean, build and vet pass.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
odek | f557340 | Commit Preview URL Branch Preview URL |
Sep 14 2026, 09:05 AM |
PITCH.html and PITCH.pdf are a local, client-facing commercial brief, not product documentation. Add them to the ignore list so they cannot be committed by accident or by a broad `git add`. Verified: git check-ignore resolves both paths to this rule, and neither file is tracked.
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
The binary-size figure published across the README and landing page was wrong, and it was wrong in six different places. This corrects all of them to a single honest claim:
<15 MB.Why it was wrong
The documented
~11 MBunderstates the shipped binaries:gh release view)CGO_ENABLED=0,-ldflags "-s -w")The claim had drifted ~2 MB (~15%) before anyone noticed.
Why
<15 MBrather than~13 MBA ceiling does not go stale the way an approximation does.
<15 MBis accurate today (largest asset is 13.55 MB) and leaves headroom, so a small future increase does not silently turn the documentation into a false statement again.What changed
Every location the claim appeared — found by sweeping the repo, not by fixing the one in the README:
README.mdGETTING_STARTED.mdAGENTS.mddocs/CHEATSHEET.mddocs/llms.txtdocs/index.htmlog:title,og:image:alt,twitter:title,twitter:image:alt, both JSON-LD blocks, hero size marker)cmd/odek/telegram.goThe
telegram.gooccurrence is the one worth calling out: it is a Go file, not a doc. The Telegram prompt contains a Quick Facts block that tells the model to quote the binary size to users, so leaving it would have meant the bot contradicting our own README. No test pinned that string.HTML escaping
<cannot be written raw in an attribute value, so the approach differs by context:<15 MB, which decodes to the intended visible<15 MB<script type="application/ld+json">→ a literal<15 MB, because character references are not decoded in script content and<would be emitted literallyVerification
grep: 14 occurrences of the new claim, 0 stale claims repo-wide<15 MB; visible body text decodes to<15 MB; no<leaks into visible textdocs/is not embedded (//go:embed uionly), so this is a docs-and-string change with no binary-surface impactgofmtclean ·go build ./...exit 0 ·go vet ./...exit 0Reviewer notes
llms.txttelling LLM crawlers~11 MBwhile the landing page said<15 MB. Say the word if you want that split out.Also in this PR:
.gitignoreThe branch carries a second commit adding the pending
.gitignoreentry that keeps the local commercial brief (PITCH.html,PITCH.pdf) out of version control. Those files are a local, client-facing document — not product documentation — and must never be committed.Verified before committing:
.gitignorewas the only staged path,git check-ignore -vresolves both files to this rule, andgit ls-files | grep -i pitchis empty (nothing tracked).