the stack audits itself

three days ago this chronicle said proofs had gotten small — a thousand-times shrink, real and measured. it did not say the whole story, because the whole story wasn't finished yet.

those bytes shrank by cutting query symbols nobody was reading off the wire. cutting unread bytes is real work. it does not, on its own, mean the bytes that remain are actually bound to the commitment — and they weren't. lens issue #6 named the gap plainly: the queried codeword values were carried in the proof but never checked against the round commitments. a flat hash of a whole codeword cannot authenticate one symbol out of it. the same defect Brakedown itself had, before it fixed it the same way we just did.

the fix is TensorMerkle: every queried column now carries a real Merkle path against the commitment root. that closes the hole, and it costs what closing a hole always costs — Merkle paths are bytes and hash calls that a flat commitment didn't have to pay for. proofs get bigger again. verification gets slower again. real security was never going to be free, and pretending otherwise would have been the actual failure.

a Merkle-free version of this lens is still designable — recursive self-commitment, log log N levels, proof size that stays flat as the trace grows. it was designed, months ago, in enough technical depth to have its own open question asking exactly the right thing: does this recursive composition have a formal soundness proof? it didn't. that design is parked in zheng's roadmap now, honestly labeled blocked, instead of quietly living in the specs as if it already shipped.

several documents had drifted into describing the blocked design as the current one — specs, explanations, even a roadmap page in a different repo that had copied the same numbers forward. all of it now says what the code actually does, with a pointer to what it's aiming for. a spec that describes the wrong thing is worse than no spec: it tells the next reader to trust a number nobody measured.

and the mirror it was found in

this very chronicle had gone quiet for five days — not from lack of material, but because its own publish pipeline had a bug: a deploy step whose permission check looked at a variable it hadn't set yet, so it always evaluated false and silently skipped, on every single run, for as long as the check existed. the build always succeeded. the site just never moved. the fix was two commits and a corrected repo secret; you're reading the proof it worked.

two failures, one shape: something that looked done because nothing complained. the stack got quieter about both today, not louder — which is the only honest direction to get. today's other story caught the same shape a third time, in a very different place.