Every 10 minutes an unattended job summarizes Claude Code and Codex logs into an Obsidian vault and pushes the commit, so the pipeline treats the summarizer's own JSON as text that may carry pasted keys or injected instructions.
Reality
- Evidence58
- Adoption6
- Hype gap+10
- Incentives20
- Confidence55
Two models read the same tool description and disagreed about one field name. The fix moved the shape into the JSON Schema for the nine pattern kinds that account for 85 percent of emissions, and left the rest loose.
Reality
- Evidence45
- Adoption20
- Hype gap−10
- Incentives25
- Confidence55
Structured output guarantees the shape of each element and never the count, so a batch call that quietly returns one item still parses clean. Reconciling ids and asserting on content is what catches it.
Reality
- Evidence45
- Adoption14
- Hype gap−12
- Incentives20
- Confidence44
A dev.to practitioner argues the deciding test is a per-tenant usage ledger and a JSON contract that holds on a fixed labeled eval set. Price enters last, if at all.
Reality
- Evidence32
- Adoption
- Insufficient
- Hype gap−8
- Incentives20
- Confidence34
A crash triage queue stalled while every check passed: 200 OK, clean JSON, stable schema, wrong labels. The fix is a deterministic contract and a ledger of disagreements.
Reality
- Evidence30
- Adoption
- Insufficient
- Hype gap+22
- Incentives80
- Confidence40