Air Canada's chatbot invented a refund rule. A tribunal made them honor it.
The unsettling part: the bot's output was schema-valid. Green CI. Passing tests.
Schema checks shape, not truth. A second LLM "faithfulness judge" in Ruby catches the gap:
- Vibe Codingaya.codes OpenSource console manager
- Long Claude Code sessions drift - agent forgets your ADRs, re-suggests approaches you already rejected. Shipped context-revive v0.2.0: auto re-injects a deterministic project brief on cadence + after /compact + /clear. Real demo↓
- Just shipped ruby_llm-contract 0.8.0 - Contracts + Evals for RubyLLM. New thinking/reasoning_effort DSL, adapter unification via Chat#with_thinking, sharper narrative.
- 2026 AGENTS.md research was blunt on one thing: don't auto-generate architecture overviews or directory trees. Evidence: reduces agent success by 0.5–2%, costs 20%+ more. augmentcode.com/guides/how-to-… So revive injects only what the agent can't grep out of the code itself.

