LAST MILE Where agents actually land

The Playground · Controlled browser-agent proof

One airline. Three profiles. Same scorer.

Friction Airways makes the readiness gap visible. The pages, 50-task suite, and deterministic scorer stay fixed; only the agent-readiness levers change.

Controlled comparison Readiness changes the result.
  1. 01 Hostile Fails 0% 0 of 21 tasks
  2. 02 Median Struggles 71% 15 of 21 tasks
  3. 03 Ready Completes 100% 21 of 21 tasks

Same pages · Same tasks · Same scorer

Watch the journey. Inspect the evidence.

The three purchase-driving phases get the clearest view. Every recording shows the real page, tool calls, and result on the ready profile.

Riyadh to London The staged example journey runs from Riyadh, RUH, to London, LHR.
RUHRiyadh One controlled route LHRLondon

Continue through the full journey.

Seven more stages carry the same Riyadh-to-London trip from preparation through support.

4 Plan & Prepare 4 agent prompts proven 19s WatchClose
12

Check entry & document requirements

proven

“What documents do I need for this trip? My booking reference is FA7Q2X, last name Test.”

13

Complete online check-in

proven

“Check me in for my flight — booking reference FA7Q2X, last name Test.”

14

Add or change ancillaries

proven

“Are there any add-ons worth buying now for booking FA7Q2X (last name Test) rather than at the airport?”

15

Change or cancel the booking

proven

“I need to move my flight — booking FA7Q2X, last name Test. Show my options, then request the change; confirm when the site asks.”

5 Get to the Airport 4 agent prompts proven 15s WatchClose
16

Track flight status & gate

proven

“What is my flight's status, my gate, and am I ready to board? Booking FA7Q2X, last name Test — check my seat/standby status too.”

17

Navigate airport & baggage drop

proven

“Where do I drop my checked bags, and where is my bag right now? Booking FA7Q2X, last name Test.”

18

Access boarding pass & trip docs

proven

“Pull up my boarding pass — booking FA7Q2X, last name Test.”

19

Act on a disruption (rebook / voucher)

proven

“My flight was disrupted. What are my options, and am I owed a voucher? The affected booking is FA4D5R, last name Test.”

6 Take Flight 1 agent prompts proven 10s WatchClose
20

Manage onboard extras (meal, Wi-Fi)

proven

“Pre-order a meal for my flight — booking FA7Q2X, last name Test. What are my options?”

7 Connect 3 agent prompts proven 12s WatchClose
21

Monitor connection protection

proven

“If my first leg runs late, is my connection protected? Booking FA7Q2X, last name Test.”

22

Rebook a missed connection

proven

“I just missed my connection — rebook me on the next best option. Booking FA7Q2X, last name Test. Confirm when asked.”

23

Get transfer & routing guidance

proven

“How do I transfer between my flights at the hub — which terminal, how long do I need? Booking FA7Q2X, last name Test.”

8 Arrive 3 agent prompts proven 14s WatchClose
24

File a baggage report

proven

“My bag did not arrive. File a baggage report for booking FA7Q2X, last name Test — pre-fill whatever you can from the booking.”

25

Check & claim disruption compensation

proven

“Am I eligible for compensation for the disruption? Booking FA7Q2X, last name Test — pre-check my claim.”

26

Share post-trip feedback

proven

“Send my post-trip feedback for booking FA7Q2X (last name Test): flight was smooth, baggage delivery was slow.”

9 Stay Involved 3 agent prompts proven 18s WatchClose
27

Manage loyalty (status, miles)

proven

“What is my loyalty status, and claim the miles missing from my last flight. Membership FA-0451-GOLD, last name Test — confirm the claim when asked.”

28

Manage profile, preferences & consent

proven

“Update my preferences: aisle seat, and opt me out of marketing emails. Membership FA-0451-GOLD, last name Test — confirm when asked.”

29

Receive proactive next-trip offers

proven

“Based on my travel history, is there a trip I should book next? Membership FA-0451-GOLD, last name Test.”

10 Help 3 agent prompts proven 21s WatchClose
30

Get policy & FAQ answers

proven

“Explain the change and cancellation policy in plain words — how long is the free-change window?”

31

File & track a support case

proven

“File a support case about my delayed bag — booking FA7Q2X, last name Test — and tell me how to track it.”

32

Escalate to a human with context

proven

“This is not getting resolved — hand me to a human agent with a summary of everything so far. Confirm the handoff when asked.”

Inspect profile levers and every run receipt 9 readiness levers · 32 of 32 journey actions proven Open evidence appendixClose evidence appendix
Control
Same pages, task suite, and deterministic scorer.
Variable
Only the agent-readiness levers change.
Result
The Last Mile Index moves from 0% to 100%.

The profile swing

21 measurable tasks; login-gated tasks run to their honest access boundary and are never counted as failures.

ProfileOutcomeTasks passedLast Mile IndexConfigurationLive
Hostile Fails 0 / 21 0% Every lever off — the default the web ships today. Open Hostile
Median Struggles 15 / 21 71% Structured data and a markdown mirror on; affordances, commerce and tools still off. Open Median
Ready Completes 21 / 21 100% Every lever on. Open Ready

What changes between profiles

Each switch is a remediation the methodology can prescribe to a real site.

LeverWhat it gives an agentHostileMedianReady
llms.txt A published manifest telling agents where the answers live. offoffon
Agent access (robots.txt) Agents aren't turned away at the front door. offonon
Markdown mirror Clean text twins of the fare, baggage and policy pages. offonon
Structured data (JSON-LD) Fares and offers published as facts, not pixels. offonon
Input affordances Labelled controls and ARIA — not icon-only widgets. offoffon
Legible errors Failures that say what went wrong instead of dead-ending. offonon
Guest path at the login wall Booking-reference lookup; no forced account. offonon
x402 commerce handshake A machine-payable step instead of a dead payment wall. offoffon
WebMCP tools Callable site tools an agent can invoke directly. offoffon

Every action, linked to its proof.

The index connects each tested action to its captured WebMCP tools and the recording where the result can be inspected.

Actions proven
32 / 32
Recorded stages
10
Unique WebMCP tools
51
1

Inspiration & Planning

3 tested actions
Watch stage 1 ↑
  1. 1 Discover destinations for an open goal
    2 WebMCP tools getCheapestDestination, getInspirationFare
    proven
  2. 2 Explore flexible fares & calendars
    1 WebMCP tool getFlexFares
    proven
  3. 3 Save & revisit a trip idea
    1 WebMCP tool saved_trips
    proven
2

Compare & Select

4 tested actions
Watch stage 2 ↑
  1. 4 Search flights (route + dates)
    2 WebMCP tools searchFlights, search_flights
    proven
  2. 5 Compare fares & fare families
    5 WebMCP tools getFare, getTotalCost, getPromoValue, getCheapestNonstop, getFlightVerdict
    proven
  3. 6 Interpret fare rules & conditions
    2 WebMCP tools getChangePolicy, getBaggageAllowance
    proven
  4. 7 Assess connections & itinerary risk
    1 WebMCP tool getConnectionRisk
    proven
3

Book Travel

4 tested actions
Watch stage 3 ↑
  1. 8 Assemble the trip (seats, bags, extras)
    4 WebMCP tools getRecommendedBundle, getBagTimingPrice, getSpecialServiceFee, getGreenFareDelta
    proven
  2. 9 Review the order & full price
    2 WebMCP tools getBookingTotal, getPriceSummary
    proven
  3. 10 Authenticate & apply loyalty
    1 WebMCP tool loyalty_upgrades
    proven
  4. 11 Pay & confirm the booking
    2 WebMCP tools complete_booking(no-confirm), complete_booking(confirm)
    proven
4

Plan & Prepare

4 tested actions
Watch stage 4 ↑
  1. 12 Check entry & document requirements
    1 WebMCP tool trip_readiness
    proven
  2. 13 Complete online check-in
    1 WebMCP tool check_in
    proven
  3. 14 Add or change ancillaries
    1 WebMCP tool timed_addons
    proven
  4. 15 Change or cancel the booking
    3 WebMCP tools manage_booking, request_change, request_refund
    proven
5

Get to the Airport

4 tested actions
Watch stage 5 ↑
  1. 16 Track flight status & gate
    3 WebMCP tools airport_journey, boarding_readiness, seat_status
    proven
  2. 17 Navigate airport & baggage drop
    1 WebMCP tool baggage_tracking
    proven
  3. 18 Access boarding pass & trip docs
    1 WebMCP tool check_in
    proven
  4. 19 Act on a disruption (rebook / voucher)
    3 WebMCP tools getVoucherEligibility, disruption_actions, voucher_eligibility
    proven
6

Take Flight

1 tested actions
Watch stage 6 ↑
  1. 20 Manage onboard extras (meal, Wi-Fi)
    1 WebMCP tool food_preorder
    proven
7

Connect

3 tested actions
Watch stage 7 ↑
  1. 21 Monitor connection protection
    1 WebMCP tool connection_protection
    proven
  2. 22 Rebook a missed connection
    1 WebMCP tool missed_connection_rebook
    proven
  3. 23 Get transfer & routing guidance
    1 WebMCP tool transfer_guide
    proven
8

Arrive

3 tested actions
Watch stage 8 ↑
  1. 24 File a baggage report
    3 WebMCP tools getBaggageStatus, baggage_claim_guidance, baggage_claim_prefill
    proven
  2. 25 Check & claim disruption compensation
    1 WebMCP tool claim_precheck
    proven
  3. 26 Share post-trip feedback
    1 WebMCP tool post_flight_feedback
    proven
9

Stay Involved

3 tested actions
Watch stage 9 ↑
  1. 27 Manage loyalty (status, miles)
    2 WebMCP tools loyalty_status, missing_miles
    proven
  2. 28 Manage profile, preferences & consent
    1 WebMCP tool preferences
    proven
  3. 29 Receive proactive next-trip offers
    1 WebMCP tool next_trip_offers
    proven
10

Help

3 tested actions
Watch stage 10 ↑
  1. 30 Get policy & FAQ answers
    1 WebMCP tool getChangePolicy
    proven
  2. 31 File & track a support case
    1 WebMCP tool claims_assistant
    proven
  3. 32 Escalate to a human with context
    1 WebMCP tool escalate_case
    proven

Suite: frictionair-astro/scripts/canary-webmcp-suite.mjs · prompts and expected outcomes: journey-prompts.json.

Run the same journey yourself.

Start with one profile, one route, and one prompt. The evidence above shows what a successful run should produce.

  1. 1

    Choose a profile

    Use Hostile, Median, or Ready to change the environment—not the task.

  2. 2

    Run the booking journey

    Paste the staged Riyadh-to-London prompt into your browser agent.

  3. 3

    Inspect the outcome

    Compare the recording, tool calls, and deterministic receipt.

Staged credentials and run notes

Mock credentials—safe to share

  • Booking (PNR)
  • Disrupted booking
  • Last name
  • Membership
  • Corporate account

Before you run

  • All tools require the ready profile. Enter once via ?profile=ready — the fa_profile session cookie keeps it for later navigation.
  • Gated tools (precondition "booking-funnel") only register after a booking exists in the session: run funnelPrompt first, then re-enumerate tools.
  • hitl prompts hit a confirm-first tool: the first call returns needsConfirmation; the agent must re-call with confirm: true.
  • Rows tagged expectWall return the wall ONLY when credentials are omitted or wrong — with the staged credentials every journey completes. Gated tools accept pnr+lastname (booking flows) or member/account+lastname (account flows).