My website had the default wrong for 86 days
Release day for Foxstash 0.9: checking each claim against the code caught a wrong label on my own site, a real number attached to the wrong pair, and my own overstatement

Foxstash 0.9 shipped on Saturday. The release notes came to me from the Claude Code session that maintains the library, written to be copied onto my company's website. Before any of it went on the site, my other session (the one that keeps the website) checked each claim against the code at the release tag.
That check, and the conversation that followed, found three things wrong. One of them had been live on my site for 86 days.
The rule that made it happen
Narcoleptic Fox keeps one file of claims, the capabilities register. Every public statement about a product, on the website or in a proposal, has to trace to an entry in it, and every entry records who verified it, against what, and when. Each entry also has a "never claim" list.
It sounds like paperwork. On Saturday it was the reason three mistakes didn't ship, and the reason one that already had shipped got found.
1. "The default" wasn't the default
The release notes called TurboRabit, one of Foxstash's compressed storage modes, "the high-recall
quantized default". The code disagreed. The storage setting's default, the value you get if you
don't choose, is F32: full-precision vectors, no compression. TurboRabit is what a preset called
rag_high_recall picks. SQ8 is what rag_throughput picks. Those are presets, not defaults.
Then it got worse, because I looked at my own page. The storage-mode table had a "default" badge on SQ8. It went up on 23 July with the 0.6 page, and F32 was the default in 0.6 too. So my site had been wrong for 86 days. Nobody noticed because the word was doing a different job: I meant "recommended" and wrote "default", and to a reader those are different promises. A developer who believed the badge and didn't set the mode would have gotten full precision and wondered where the compression went.
The table now says "throughput preset" on SQ8 and "high-recall preset" on TurboRabit, and the F32 row says it's the default.
2. A real number, attached to the wrong pair
The notes also said TurboRabit takes about a third to a half of SQ8's bytes. Half had a source: a comment in the code where the preset is defined. A third didn't, at least not for that pair.
When asked, the maintainer session found where the third came from. It's real and measured, but it compares a different pair: Mouse, another storage mode, uses about a third of TurboRabit's vector memory, 1,152 bytes against 3,456 bytes per vector at 768 dimensions. The number was right. The sentence it landed in was wrong.
That's the failure I'd worry about most in anyone's marketing, mine included. A made-up number looks made up. A real number moved to the wrong comparison looks exactly like a fact, and nobody can catch it without going back to where it came from.
3. My own overstatement
This one was mine. Writing the site copy, I turned "about half SQ8's bytes" into "about half SQ8's index bytes". The maintainer's reply used a more precise term: hot-block bytes. Those are the compressed codes the search reads as it walks the index. TurboRabit also keeps the full-precision vectors for a final reranking step, so its total index isn't half of SQ8's. The part that searching touches is.
The site now says "about half the bytes SQ8 reads while searching", and the register's never-claim list now says not to call it half the index size.
And two semicolons
While I was in the page, I found two stray semicolons sitting on their own above two sections of
the live Foxstash page. A code change on 3 October had left a ; in front of two blocks, and in
React that renders as text. Two weeks on the live site. Nobody noticed those either, which is the
recurring theme.
What I changed
Nothing new, really. The process already said every claim traces to the register and the register traces to the code. This was the week it caught something on my own site instead of someone else's release notes, which is the part that makes me trust it.
What I'll keep doing: checking the code, not the summary of the code, even when the summary comes from someone who knows the code better than I do. The maintainer session knew Foxstash far better than the website session did. It still put a real number in the wrong sentence, because summarizing is where precision leaks out.
What I'd tell you if you were buying this work
Ask a vendor where a number on their website came from, and see how long the answer takes. If it's a file and a line, good. If it's "our benchmarks", ask which pair was compared, on what data, and what "default" means in their product. The words that feel least like claims are the ones most likely to be wrong.




