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:
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.