Composite study

This is a product-class write-up, not a named-client story and not a results press release. Counts below describe the pack we actually write (approach points, tools, layers) — not invented bug totals or conversion lifts.

4
Approach points
4
Tools in the pack
4
Layers covered
3
Challenges documented

Overview

Fare rules lived in a GDS-ish API and in a messy help center. The model preferred the messy pages and then improvised timelines (“within 90 days”).

Visa and entry-rule questions were answered from training data, not from a current source.

Industry pattern this is grounded in

Air Canada was ordered to honor a bereavement process its chatbot invented (B.C. Civil Resolution Tribunal, 2024). The company’s argument that the bot was a separate legal entity did not work. Travel assistants that speak policy are the company.

Highlights

Typical launch bar: Wait until journeys and evals agree — do not ship on demo scores alone.

Challenges

01

Help articles contradicted the fare brand.

02

Codeshares meant two carriers’ rules; the bot picked the nicer one.

03

Emotionally charged bereavement and disruption chats are exactly when improvisation is most harmful.

How we tested

01

Fare, refund, and baggage answers cite the fare rules tool or refuse.

02

No invented dates or “you will be refunded.”

03

Booking confirmation amounts match checkout; supplier failure rolls back.

04

Cancellation policy math on modify/cancel.

Starting point vs what we required

Starting point versus the controls we required
Starting pointWhat we required
Help articles contradicted the fare brand.Fare, refund, and baggage answers cite the fare rules tool or refuse.
Codeshares meant two carriers’ rules; the bot picked the nicer one.No invented dates or “you will be refunded.”
Emotionally charged bereavement and disruption chats are exactly when improvisation is most harmful.Booking confirmation amounts match checkout; supplier failure rolls back.

What we delivered

01

Adversarial evals

  • Promptfoo — Bereavement, IRROPS, visa inventions
02

RAG quality

  • Ragas — Grounding in fare rules
03

Journeys / UI

  • Playwright — Book, modify, cancel
04

LLM traces / evals

  • LangSmith — Rules tool vs help-center improvisation

Outcomes

High-stakes intents (death in family, IRROPS, visa) required retrieval plus a human handoff offer. Invented timelines failed the pack.

Playwright booking/cancel math stayed in the same report. We treated policy hallucination as Block, not Medium “content.”

Stack

Testing stack used on this product class
LayerToolWhat we validated
Adversarial evalsPromptfooBereavement, IRROPS, visa inventions
RAG qualityRagasGrounding in fare rules
Journeys / UIPlaywrightBook, modify, cancel
LLM traces / evalsLangSmithRules tool vs help-center improvisation

Same method as the rest of our work: severity-ranked findings, pass rules in writing, and a ship / wait / block call. See the evaluation method and tool comparison.