A short piece of fiction, written by API Evangelist. The reader is imagined; the post, and every number and quotation from it, is real: "The Decoder Only Pours Part Of The Bedrock," Kin Lane, November 2, 2026, https://apievangelist.com/2026/11/02/the-decoder-only-pours-part-of-the-bedrock/
Marisol maintained the schemas for a claims-triage service at a small insurer. She read the post on a Monday morning with coffee going cold, and she read it the way she read most things by that author, half agreeing and half bracing.
She liked the opening. She had once repeated the line that "JSON Schema is bedrock and Spectral rules are the landscaping" to a new hire, as if it settled the division of labor for good. The post said it still held. Then it went on to say the decoder doesn't read the whole bedrock. It compiles what it can turn into a grammar and drops the rest.
That bothered her. Her team had never run a constrained decoder, but they had talked about it. The idea was that a schema would stop being a hope and become a guarantee. The post took that apart with a table. Some keywords were enforced. Some compiled and then let invalid documents through. Some rejected documents that were valid. A format check on a date accepted 2026-02-31 because the grammar checks that it looks like a date, not that the date exists.
The line that stayed with her was "Your schema says one thing, the decoder enforces another". She read it twice. Nobody lies in that situation, and nobody is warned either. A warning goes to a log and everything looks fine.
She was also a little irritated, and she was honest with herself about why. The 20.5 percent figure came from a cache on one machine, and the author said so himself, calling it a ceiling because single-branch and multi-branch allOf were counted together. Most of it was allOf, which her schemas used constantly. She suspected her own number would be nowhere near the ceiling, and she suspected she was hoping that more than she knew it. The bundle format, by the author's own account, was not a standard and nobody had agreed to it. She wasn't about to rebuild anything around one person's file layout, and she told the empty room so.
Still, the fixture about the answer that choose none while scoring refund 0.9 twice and summing to 1.8 got to her. The decoder accepted it. The post called it "a perfectly shaped lie", and she thought of the triage service, which returned confidence scores that downstream people treated as meaning something. No grammar would catch a score that was well formed and wrong. The post said so plainly, that a bundle can guarantee an answer is well formed but not that it is right. She found the admission comforting and a little deflating.
She did not open a proposal or message her manager. She did not touch the engine question, because her team had no engine yet, and the post was specific that its findings applied to one engine and one version.
What she did was small. She opened the schemas folder and searched it for the three things the post's lint rules targeted: uniqueItems, any allOf with more than one branch, and any remote reference. It took about ten minutes. She pasted the file names into a note titled for herself, nothing more, and moved on to the day's tickets.
Two of the files used multi-branch allOf. She left a comment on each saying that a decoder might not enforce it, then closed the note.