
Key facts.
- In Moffatt v. Air Canada (2024 BCCRT 149), an AI chatbot gave a customer incorrect bereavement-fare guidance and the tribunal held the airline liable for negligent misrepresentation, rejecting the argument that the chatbot was a separate entity. source
- The agent's plan assumed its generated answer reflected company policy, an assumption nobody validated before deployment. source
- The organization, not the model, owned the consequence, which is the pattern in every agent incident: the assumption was the company's to validate. source
Why do assumptions stay hidden until the incident?
Because a plan that works on the cases you tested gives you no reason to examine what it assumed. The Air Canada chatbot answered countless questions adequately, which built confidence that it understood policy, when in fact it was generating plausible answers that usually happened to be right. The assumption, that a fluent answer equals an accurate one, sat invisible until a case where the answer was confidently wrong and a customer relied on it. That is the shape of nearly every agent incident: a quiet assumption, validated by nothing but the absence of a failure, until the failure arrives and makes the assumption explicit and expensive.
The ruling drove home the part teams most want to wave away. The company owned the agent's output. "The chatbot said it" was not a defense, because the chatbot was part of the company's website and the assumption that someone else would bear the mistake was itself an untested assumption that did not hold.

How do you surface assumptions before production does?
Make the agent's load-bearing assumptions explicit and test them. Where the plan assumes its output matches policy, check the output against the actual policy before it reaches a customer. Where it assumes a data source is current, verify freshness. Where it assumes someone else owns the risk, correct that assumption now, because the Air Canada ruling shows the organization owns it. The incidents that hurt are the ones where an assumption ran unexamined into a high-stakes case. Examining them in advance is far cheaper than meeting them in a tribunal.
| Assumption handling | When it surfaces | Cost |
|---|---|---|
| Left implicit | In the incident | Liability, trust, cleanup |
| Made explicit and checked | Before deployment | A check you can afford |
Air Canada's chatbot invented a refund policy and the airline was held liable; a more capable model asserts a wrong premise harder. (source)
Surfacing those assumptions is central to what VibeModel does as the Pattern Intelligence Layer. We model the patterns a plan quietly assumes and turn them into checks, so the assumption that would have become an incident becomes a verification you ran on purpose.
Frequently asked questions
Could the Air Canada incident have been prevented?
Yes, by checking the chatbot's policy answers against the actual policy before showing them to customers. The assumption was checkable.
Whose fault is an agent's wrong answer?
The deploying organization's, per the ruling. "The agent said it" is not a defense.
How do I find my hidden assumptions?
List what each plan depends on being true, then test the load-bearing ones. The unexamined dependency is the future incident.

