Keyed by ledger number. Open a W# to see every time it was walked, newest
first — each run with a video per role, the full trace, and what I expected versus what I
actually saw. Walked by hand at human pace: five seconds of stillness after every screen.
44 journeys · 44 walked ·
0 not walked yet · 213 runs · built 2026-09-09 01:24 UTC.
Every journey in this room has footage. A row that could not be driven at all is not listed
here as an unfinished walk — it is in Blocked (34) below, with the
reason. Deferred is not the test: 15 of the rows above hit a wall partway, and the part
that worked is still worth watching.
24 ledger rows are deliberately not in this room — nothing to film
(D1 is API-only, SPINE_OK never reached a human surface), nothing to learn (an honest green is
the board and I agreeing), or D5, which is my own harness being wrong rather than a product
finding. They keep their evidence in the ledger: out of the room is
not out of the record. 4 more sit in Ad-hoc requests
below — clean verdict, in the room only because it was explicitly asked for.
show all walked not walked yet blocked
Canary Honesty Ledger Partial Walks reportHow this was checked
see this row in the honesty ledger →
—
Why it ended here: It does not. I am shown 1 dishes and no closed message, including "Canary Dinner Special" - a 17:00-23:00 dish, at 12:15:29 local. The server was asked the same question twice: closed=true/items=0 then closed=false/items=0 - the only thing that changed between them is that the app minted a table session for me. Screen reads: Mains C Canary Dinner Special Canary dinner-only item — DO NOT MODIFY. $22.99 ✦ ✦ ✦ ✦ — BEFORE YOU BROWSE — Anything we should know? Do you have any dietary restrictions or allergens? We’ll tailor the
open trace viewer trace.zip notes spec

see this row in the honesty ledger →
Evidenced by the menu-stability walk — one walk can answer more than one canary.
Anant, table 12 — a quiet table, so I disturb nobody's meal. — just me, a diner reading the menu twice.
Why it ended here: read the menu twice and found the drinks — that is the whole promise
open trace viewer trace.zip notes spec

Anant, table 12 — a quiet table, so I disturb nobody's meal. — just me, a diner reading the menu twice.
Why it ended here: read the menu twice and found the drinks — that is the whole promise
open trace viewer trace.zip notes spec

see this row in the honesty ledger →
Evidenced by the recs-boost-special walk — one walk can answer more than one canary.
—
Why it ended here: walked the owner controls and the diner surface end to end
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
Evidenced by the w004-bill2 walk — one walk can answer more than one canary.
—
Why it ended here: The Bill tab.
open trace viewer trace.zip notes spec

—
Why it ended here: Service / Bill / Guests tabs of the table sheet.
open trace viewer trace.zip notes spec

—
Why it ended here: A targeted look for a per-dish serve control. Not a verdict on the journey.

—
Why it ended here: I can find no way to serve a SINGLE dish. On the orders list the only serve control is order-mark-served-484d56b0, which is the whole order. Screen reads: Canary Mosaic — dev Server: Canary Mosaic Waiter Active Orders 8 Tables Wine Table 9905 Canary Table 9905 No guests Table 9906 Canary Table 9906 No guests Table 9907 Canary Table 9907 No guests Table 9908 Canary Table 9908 No guests Table 9
open trace viewer trace.zip notes


—
Why it ended here: My phone says all four dishes are ORDERED, and after two minutes the waiter's list still has no card for table 10093. The list itself is live - it is showing 19 orders for other tables. Top of the list: T10093 Guest 2m ago New Canary IPA Canary Iced Tea Canary Lager Canary Cola Enter in POS // T10092 Guest 6m ago New Canary IPA Canary Lager Canary Iced Tea Canary Cola Enter in POS // T10091 Captain America 10m ago New Canary Lager Canary Iced Tea Canary IPA Canary Cola Ent // T9963 Guest 11m ago Cancelled M2MS B1 35219472
open trace viewer trace.zip notes


—
Why it ended here: I placed one order and the waiter's list shows 0 cards for table 10092. I cannot tell which is mine, so I will not act on any of them.
open trace viewer trace.zip notes


Other evidence · lane-pos — Driven by a subagent lane, not a human-paced witness walk — screenshots and checkpoints, no role video and no trace. Stated so this is not read as the same grade of evidence.
see this row in the honesty ledger →
Evidenced by the menu-food-tags walk — one walk can answer more than one canary.
—
Why it ended here: Read the tags, then watched the vegetarian filter act on them.
open trace viewer trace.zip notes spec


—
Why it ended here: Compared the owner's real tags against what the vegetarian filter left me.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
Evidenced by the mk-delivery-address walk — one walk can answer more than one canary.
—
Why it ended here: Confirmed the reachable half of a journey the board reports as not passing.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
—
Why it ended here: It asked who I am instead of when I want it.
open trace viewer trace.zip notes


see this row in the honesty ledger →
Evidenced by the mk-signup-gate-signed-in walk — one walk can answer more than one canary.
— a customer ordering from a micro kitchen — there is no table, so the kitchen has to know who to hand the bag to.
Why it ended here: got past the identity gate with a real account and saw what steps 2 and 3 actually ask for

Other evidence · probe-mk — Driven by a subagent lane, not a human-paced witness walk — screenshots and checkpoints, no role video and no trace. Stated so this is not read as the same grade of evidence.
see this row in the honesty ledger →
—
Why it ended here: It did not open a checkout. It opened a who-are-you panel: "STEP 1 OF 3 · SIGN IN Who's this order for? There's no table here — the kitchen needs a name to hand the bag to. Sign in once and we'll remember you. Continue w"
open trace viewer trace.zip notes

see this row in the honesty ledger →
Canary Mosaic V2 Dining — dev, table 9932, iPhone 14 Pro. — a guest diner ordering two of something, then changing their mind.
Why it ended here: Steps 3-6 all held: two went in as one line at $17.98, tapping that line reopened the dish pre-filled with 2, and confirming it left the order exactly as it was.
open trace viewer trace.zip notes spec

| 01 | PATRON | — | I expected I sit down and the menu opens I saw passed through: dietary question. Drinks Starters Mains Desserts C Canary Cola Canary baseline drink — DO NOT MODIFY. $3.50 Canary Iced Tea Canary baseline beverage |
| 02 | PATRON | — | I expected I move off drinks and open the salad I saw It opens showing 1, and the button says "Add to order ($8.99)". |
| 03 | PATRON | — | I expected I make it 2 and add it I saw It read 2 and the button said "Add to order ($17.98)". I pressed it. |
| 04 | PATRON | — | I expected my order has ONE line of it, two of them, $17.98 I saw One line, total $17.98. My order reads: "The Cart Ordered C Canary Caesar Salad $17.98 − 2 + TOTAL $17.98 A 20% gratuity will be added to parties of 5 or more Place order $17.98 ›" |
| 05 | PATRON | — | I expected tapping that line in my order reopens the dish — and it remembers the 2 I chose I saw It reopened already showing 2, and the button now reads "Add to order ($17.98)". > **The moment that matters:** my order held **2** salads. I reopened the dish from that line — it showed **2** and offered **"Add to order ($17.98)"**. I changed nothing and pressed it. My order now holds a total of **$17.98**, which is **2** salads. |
| 06 | PATRON | — | I expected I change NOTHING and press that button — so my order should still be two salads I saw Still one line, still $17.98. Confirming an unchanged edit changed nothing. > **Cleanup:** emptied the unplaced orders I left behind — 9932: empty · 9926: empty · 9931: empty (no order was ever sent to the kitchen) |
see this row in the honesty ledger →
—
Why it ended here: No control in the owner app closes a table session, so the negative half of this journey - cold start BLOCKED after a close, and a rescan starting a fresh session - cannot be reached.
open trace viewer trace.zip notes



see this row in the honesty ledger →
—
Why it ended here: Both diners ordered for real this time, and the cover-someone screen offered a person to cover.
open trace viewer trace.zip notes


| 01 | PATRON | — | I expected Diner one sits down and orders something I saw Diner one ordered: "Place order $3.50 ›", ledger says "ORDERED". > **Who diner two can see at the table:** 1Wasp(You) · 4All · 1Scaramanga · 1Vader · 1Aang |
| 02 | PATRON | — | I expected Diner two joins the same table and orders too I saw Diner two ordered: "Place order $3.50 ›". At the table she can see: 1Wasp(You), 4All, 1Scaramanga, 1Vader, 1Aang. > **Is the order sheet actually open?** yes · on-screen order/cart controls: `m2-dock-scrim`, `m2-dock`, `m2-dock-search`, `m2-dock-cart`, `m2-dock-filter`, `m2-dock-trigger`, `layout-cart-shell`, `m2-cart-scrim`, `cart-sheet`, `cart-back-btn`, `cart-sheet-header`, `cart-scope-chip-341a62ba-3a1f-5f18-a093-c793ff344375`, `cart-scope-name-341a62ba-3a1f-5f18-a093-c793ff344375`, `cart-scope-chip-all`, `cart-scope-chip-2b63a820-59c7-5f15-95d4-4953ce1a26d6`, `cart-scope-name-2b63a820-59c7-5f15-95d4-4953ce1a26d6`, `cart-scope-chip-701ca552-6a96-539f-a79e-d0d99f8eb62a`, `cart-scope-name-701ca552-6a96-539f-a79e-d0d99f8eb62a`, `cart-scope-chip-daa7198d-0a00-513a-9efa-4915b7b25669`, `cart-scope-name-daa7198d-0a00-513a-9efa-4915b7b25669`, `m2-cart-tab-way`, `m2-cart-tab-table`, `cart-group-341a62ba-3a1f-5f18-a093-c793ff344375`, `order-status-badge`, `reorder-item-f36ad753-bc92-47b7-81e2-6add6935b6e1` > **Settle controls diner two is offered:** `` > **Service bubble open?** yes · what it offers: `layout-service-button`, `cart-service-btn`, `service-bubble`, `service-bubble-attend_table`, `service-bubble-cutlery`, `service-bubble-ready_for_bill` > **After pressing Check Please, the settlement sheet offers:** `settlement-cover`, `settlement-split` > **Other people I can scope the cart to:** 1 Scaramanga · 1 Vader · 1 Aang > **Scoped the cart to 1 Scaramanga - what she is then offered:** `table-session-active`, `settlement-cover`, `settlement-split` > **Who she is offered to cover:** Just me · Someone on the table · The whole table |
| 03 | PATRON | — | I expected Diner two asks to pay for someone else I saw She is offered 3 person(s) to cover: Just me, Someone on the table, The whole table. > **Cleanup:** each diner cancelled their own dish where the control was still offered. |
see this row in the honesty ledger →
the coverage canary fixture, table 9948 — not a table the canary drives. — exactly two of us, A and B, on two separate phones.
Why it ended here: drove two real diners through ordering and into the cover flow, and recorded exactly what coverage choices exist — stopping short of anything that takes money
open trace viewer trace.zip notes


Other evidence · lane-pay — Driven by a subagent lane, not a human-paced witness walk — screenshots and checkpoints, no role video and no trace. Stated so this is not read as the same grade of evidence.
see this row in the honesty ledger →
Evidenced by the anant-dietary-safety walk — one walk can answer more than one canary.
—
Why it ended here: Walked on Anant with a real owner account and a real guest, no data changed. The diner can state a dietary need and the menu visibly narrows.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
Evidenced by the menu-drink-subcat walk — one walk can answer more than one canary.
Canary Drink Subcategories — dev, table 9941 — the restaurant this journey is named after. Canary Mosaic is driven as a control, because it is a restaurant that really does have sub-categories. —
Why it ended here: Looked at the diner's Beverages and then tried to do the owner half.
open trace viewer trace.zip notes spec


—
Why it ended here: Recon only.

see this row in the honesty ledger →
Ad-hoc request. Operator asked for a full comprehensive re-walk of W-043 with detail and trace (2026-09-05). It was asked for and it is a finding - verdict False green - so it stays in the main grid, where findings are read.
Evidenced by the w043-unpaid-discriminator walk — one walk can answer more than one canary.
—
Why it ended here: One diner paid by card; the other diner's check was then read.
open trace viewer trace.zip notes


| 01 | BOTH | — | I expected two of us order a drink each I saw Drinks Starters Mains Desserts C Canary Cola Canary baseline drink — DO NOT MODIFY. $3.50 Canary Iced Tea Canary baseline beverage — DO NOT MODIFY. $3.49 C C Canary IPA Canary baseline drink — DO NOT MODIFY. $7.00 Canary Lager Canary baseline drink — DO NOT MODIFY. $6.00 C C Canary Lemonade Canary baseline drink — DO NOT MODIFY. $3.50 Canary Margarita Canary baseline drink — DO NOT MODIFY. $11.00 C C Canary Negroni Canary baseline drink — DO NOT MODIFY. $12.00 Canary Red Wine Canary baseline drink — DO NOT MODIFY. $11.00 C C Canary White Wine Canary baseline drink — DO NOT MODIFY. $10.00 TO THE TOP 1 Han Solo (You) 2 All 1 Kong The Cart Ordered C Canary Cola ORDERED $3.50 Re-order TOTAL $3.50 Back to Menu |
—
Why it ended here: Completed a real test-mode card payment as one diner of two on table 10097, then read the other diner's check. — BUT 2 step(s) did not succeed, so this walk did not go end to end: 05 (my own phone now shows me as settled); 06 (her check now shows only what is still unpaid). Verdict downgraded from WALKED by the journal, because the spec claimed more than its steps support.
open trace viewer trace.zip notes spec


| 01 | BOTH | — | I expected two of us sit down and each order a drink I saw Drinks Starters Mains Desserts C Canary Cola Canary baseline drink — DO NOT MODIFY. $3.50 Canary Iced Tea Canary baseline beverage — DO NOT MODIFY. $3.49 C C Canary IPA Canary baseline drink — DO NOT |
—
Why it ended here: Tapped the Card row on the payment screen and recorded what happened.
open trace viewer trace.zip notes spec

—
Why it ended here: Drove the full electronic-pay journey on its own fixture (7766d206-244c-576d-be4b-f5e746bf9832) at table 10094, two diners on iPhone 14 Pro geometry over chromium. Stripe mode read as TEST. — BUT 4 step(s) did not succeed, so this walk did not go end to end: 12 (before I pick a payment method the app tells me what I owe); 14 (the check is itemised and adds up); 15 (I add a 20% tip and the total moves to match); 17 (I type a card in and pay). Verdict downgraded from WALKED by the journal, because the spec claimed more than its steps support.
open trace viewer trace.zip notes spec



—
Why it ended here: Drove two diners from sitting down to the pay-how fork and stopped at the payment boundary by choice. The settle path presented itself as: cover-or-split fork.
open trace viewer trace.zip notes


Other evidence · lane-pay — Driven by a subagent lane, not a human-paced witness walk — screenshots and checkpoints, no role video and no trace. Stated so this is not read as the same grade of evidence.
see this row in the honesty ledger →
Ad-hoc request. Operator named this row for a comprehensive re-walk. Re-driven twice on 2026-09-06 on the journey's real fixture with a waiter account scoped to it. It was asked for and it is a finding - verdict Partial green - so it stays in the main grid, where findings are read.
Evidenced by the w044b-enter-pos-discriminator walk — one walk can answer more than one canary.
—
Why it ended here: Told apart 'the press failed' from 'the press succeeded silently'. — BUT 1 step(s) did not succeed, so this walk did not go end to end: 05 (the same is true in the table's own sheet). Verdict downgraded from WALKED by the journal, because the spec claimed more than its steps support.
open trace viewer trace.zip notes spec


—
Why it ended here: walked the whole journey
open trace viewer trace.zip notes


see this row in the honesty ledger →
Evidenced by the menu-food-subcat walk — one walk can answer more than one canary.
Canary Food Subcategories — dev, table 9945 — the restaurant this journey is named after. Canary Mosaic is driven as a control, because it is a restaurant that really does have sub-categories. —
Why it ended here: Looked at the diner's Entrees and then tried to do the owner half.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
Evidenced by the menu-parity walk — one walk can answer more than one canary.
—
Why it ended here: Checked the add-on half of the parity promise from both sides.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
Evidenced by the menu-recon2 walk — one walk can answer more than one canary.
—
Why it ended here: Recon only.

Canary Mosaic — dev, table 9952 — the restaurant whose owner Menu page carries the journey's own `M2MS MenuA` and `M2MS MenuB`. —
Why it ended here: Looked for the diner's menu chooser and counted the live menus.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
Ad-hoc request. Operator named this row for a comprehensive re-walk. Two walks driven 2026-09-06 with two guests taking DIFFERENT dishes at DIFFERENT prices. It was asked for and it is a finding - verdict Partial green - so it stays in the main grid, where findings are read.
Evidenced by the w054b-coorder-cancel-latejoin walk — one walk can answer more than one canary.
—
Why it ended here: Co-ordered from the whole-table scope, cancelled from the other diner's ledger, and joined late. — BUT 4 step(s) did not succeed, so this walk did not go end to end: 02 (my basket lets me switch to the whole table, and the price changes to match); 04 (their dish went in too — they are not left holding an unsent order); 05 (they can cancel their own dish now it has gone in); 06 (someone joins late and still sees what the table ordered before they arrived). Verdict downgraded from WALKED by the journal, because the spec claimed more than its steps support.
open trace viewer trace.zip notes spec



Anant, table 10. — three of us at one table — me (P1), my friend (P2), and someone who joins late (P3) — plus Daniel the waiter.
Why it ended here: reached the end of everything a person can see without changing the menu
open trace viewer trace.zip notes




see this row in the honesty ledger →
—
Why it ended here: There is no control on this page for turning payments on, and none for choosing which methods are accepted. The page is a single sentence and the sidebar. So the owner round-trip this journey asserts is not something an owner can perform.
open trace viewer trace.zip notes

see this row in the honesty ledger →
—
Why it ended here: walked what has a screen
open trace viewer trace.zip notes


see this row in the honesty ledger →
Ad-hoc request. Operator named this row for a comprehensive re-walk. Four walks driven 2026-09-06 on the canary's OWN fixture with a waiter scoped to it. It was asked for and it is a finding - verdict Partial green - so it stays in the main grid, where findings are read.
Evidenced by the uat-1202-closeout walk — one walk can answer more than one canary.
—
Why it ended here: Finished the session-close journey on a clean table and attempted to hand every table I dirtied back.



see this row in the honesty ledger →
the split canary fixture, table 9943 — a table the canary itself does not drive. — exactly two of us, A and B, on two separate phones. Not one person in two tabs.
Why it ended here: drove two real diners from sitting down through ordering to opening the split panel, and backed out without paying
open trace viewer trace.zip notes


—
Why it ended here: On the All scope the second diner DOES see the table's placed order. The lane's claim was an artefact of reading the per-person scope, and must not be filed.
open trace viewer trace.zip notes spec


| 01 | PATRON | — | I expected Two of us sit down at the same table I saw both arrived. B sees: Drinks Starters Mains Desserts C Canary Cola Canary baseline drink — DO NOT MODIFY. $3.50 Canary Iced Tea Canary baseline beverage > **A's Ordered tab (sheet only):** 1 Waluigi (You) 2 All David 1 Smith Spider-Punk The Cart Ordered C Canary Cola ORDERED $3.50 Re-order TOTAL $3.50 Back to Menu |
| 02 | PATRON | — | I expected I (diner A) order a drink for the table I saw A's Ordered tab reads: 1 Waluigi (You) 2 All David 1 Smith Spider-Punk The Cart Ordered C Canary Cola ORDERED $3.50 Re-order TOTAL $3.50 Back to Menu > **B, own scope (sheet only):** 1 Spider-Punk (You) 3 All David 1 Waluigi 1 Smith The Cart Ordered Nothing sent yet TOTAL $3.50 Back to Menu |
| 03 | PATRON | — | I expected My friend opens Ordered on HER OWN scope I saw 1 Spider-Punk (You) 3 All David 1 Waluigi 1 Smith The Cart Ordered Nothing sent yet TOTAL $3.50 Back to Menu > **B, ALL scope:** 1 Spider-Punk (You) 3 All David 1 Waluigi 1 Smith The Cart Ordered C Canary Cola $3.50 Waluigi C Canary Cola $3.50 Agent Smith TOTAL $10.50 Back to Menu |
| 04 | PATRON | — | I expected She taps ALL — and this is the view that decides it I saw ALL scope shows: 1 Spider-Punk (You) 3 All David 1 Waluigi 1 Smith The Cart Ordered C Canary Cola $3.50 Waluigi C Canary Cola $3.50 Agent Smith TOTAL $10.50 Back to Menu > **Left behind:** a session and one placed order on table 9958. |
Other evidence · lane-pay — Driven by a subagent lane, not a human-paced witness walk — screenshots and checkpoints, no role video and no trace. Stated so this is not read as the same grade of evidence.
see this row in the honesty ledger →
—
Why it ended here: Both diners ordered for real, the bill was asked for, and split options were offered. I stop short of paying: these fixtures are live Stripe merchants.
open trace viewer trace.zip notes


| 01 | PATRON | — | I expected Both diners sit down and each orders their own food I saw Two real orders on this table. Diner one: "ORDERED". Diner two: "ORDERED". > **Order sheet open?** yes · `m2-dock-scrim`, `m2-dock`, `m2-dock-search`, `m2-dock-cart`, `m2-dock-filter`, `m2-dock-trigger`, `layout-cart-shell`, `m2-cart-scrim`, `cart-sheet`, `cart-back-btn`, `cart-sheet-header`, `cart-scope-chip-2e36d4b0-97e7-554d-bb9d-d48d0f32aaee`, `cart-scope-name-2e36d4b0-97e7-554d-bb9d-d48d0f32aaee`, `cart-scope-chip-all`, `cart-scope-chip-f9ef7a51-8bf5-4ea9-bd20-0f8263f02642`, `cart-scope-name-f9ef7a51-8bf5-4ea9-bd20-0f8263f02642`, `m2-cart-tab-way`, `m2-cart-tab-table`, `cart-group-2e36d4b0-97e7-554d-bb9d-d48d0f32aaee`, `order-status-badge`, `reorder-item-f36ad753-bc92-47b7-81e2-6add6935b6e1`, `cart-footer-total`, `cart-back-to-menu-btn`, `cart-service-btn` > **What she is offered once the bill is asked for:** `settlement-cover`, `settlement-split` |
| 02 | PATRON | — | I expected One of them asks for the bill I saw Offered: settlement-cover, settlement-split. > **Ways to split she is offered:** How many ways? Split 2 waysCancel · split-decrement · split-count-input · split-increment · Split 2 ways · Cancel |
| 03 | PATRON | — | I expected She looks for a way to divide it between the two of them I saw 6 ways to split: How many ways? Split 2 waysCancel, split-decrement, split-count-input, split-increment, Split 2 ways, Cancel. I stop here - pressing a payment control on a live Stripe fixture is not mine to do. > **Cleanup:** each diner cancelled their own dish where the control was still offered. |
see this row in the honesty ledger →
—
Why it ended here: Drove a real two-person split from ordering to an accepted invitation and stopped at the payment boundary by choice, not because the product stopped me.
open trace viewer trace.zip notes


see this row in the honesty ledger →
Evidenced by the menu-subcat-order walk — one walk can answer more than one canary.
—
Why it ended here: Looked for the drag handle and wrote down the diner's rail order.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
Evidenced by the owner-bulk-actions walk — one walk can answer more than one canary.
—
Why it ended here: Read the bulk panel and checked the manual against it.
open trace viewer trace.zip notes spec

see this row in the honesty ledger →
—
Why it ended here: Every owner-facing thing this journey promises in steps 2-5 is on screen and readable: the Modifiers tab, the Pairings tab, both scope explanations, and the pricing switch in the one place it belongs. Steps 6-8 are about the switch PERSISTING, which I did not exercise - flipping it would mutate a canary fixture mid-run and could hand the builder a false red. So this walk covers 5 of 8 steps, and says nothing about the other 3.
open trace viewer trace.zip notes spec

see this row in the honesty ledger →
Evidenced by the menu-stability walk — one walk can answer more than one canary.
Anant, table 12 — a quiet table, so I disturb nobody's meal. — just me, a diner reading the menu twice.
Why it ended here: read the menu twice and found the drinks — that is the whole promise
open trace viewer trace.zip notes spec

Anant, table 12 — a quiet table, so I disturb nobody's meal. — just me, a diner reading the menu twice.
Why it ended here: read the menu twice and found the drinks — that is the whole promise
open trace viewer trace.zip notes spec

see this row in the honesty ledger →
—
Why it ended here: The one step with a screen works: a guest can order here and is told it went through. The three till-side steps have no customer-facing surface and cannot be seen from here.
open trace viewer trace.zip notes spec

see this row in the honesty ledger →
Evidenced by the recs-wine-order walk — one walk can answer more than one canary.
—
Why it ended here: Walked the whole diner half: cellar band -> quiz -> pick -> by the glass (1000c) -> switched the same wine to by the bottle (4000c) -> exactly one cart line -> ordered -> the Ordered ledger shows the bottle price. The staff view of the pour is the one thing I could not reach.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
—
Why it ended here: There is not one button, link or field on this page. A bartender opening it can do nothing at all. Page reads: Skip to main content QRate Canary Mosaic — dev Home Food Items Menu Tables/Staff Personalize Insights C Canary Owner l is not a function
open trace viewer trace.zip notes spec

see this row in the honesty ledger →
—
Why it ended here: Enumerated every link on six owner screens against three routes.
open trace viewer trace.zip notes spec

see this row in the honesty ledger →
Evidenced by the guest-session-webkit walk — one walk can answer more than one canary.
the Canary Mosaic fixture, table 9994 — a test table, so nobody's real meal is touched. — one diner, alone, on an **iPhone 14 Pro** descriptor driven on the **webkit** engine.
Why it ended here: the restaurant never learned who I am — 401 POST /auth/guest/attach-session; 401 POST /diner/session/snapshot (cookies held: none)
open trace viewer trace.zip notes

see this row in the honesty ledger →
the Canary Mosaic fixture, table 9994 — a test table, so nobody's real meal is touched. — one diner, alone, on an **iPhone 14 Pro** descriptor driven on the **webkit** engine.
Why it ended here: the restaurant never learned who I am — 401 POST /auth/guest/attach-session; 401 POST /diner/session/snapshot (cookies held: none)
open trace viewer trace.zip notes

see this row in the honesty ledger →
—
Why it ended here: Stopped: no pin was handed to me within 30 minutes — I will not invent one

see this row in the honesty ledger →
—
Why it ended here: Control run: does the wizard's submit enable when a human types instead of a robot?

see this row in the honesty ledger →
—
Why it ended here: Wizard driven to the end of what it would show me; the claim was not visible in the portal from where I could look.


see this row in the honesty ledger →
—
Why it ended here: Does the account exist, and where is the real verification gate?

see this row in the honesty ledger →
—
Why it ended here: Triage: is the dead submit specific to the Restaurant branch?

see this row in the honesty ledger →
—
Why it ended here: Testing whether the fixed city list is the hidden gate on the wizard's submit.

see this row in the honesty ledger →
—
Why it ended here: Followed the app's own instruction after it refused the address.

Every journey explicitly requested, in ledger order. A row with a finding stays in the main grid, where findings are read — this is an index, not a second home, and each entry jumps to the card itself. Rows marked clean sit in Ad-hoc requests instead, because a clean verdict would otherwise never have earned a page.
| W-032 | mosaic_v2-closed-resume | Honest green | clean — in Ad-hoc requests below |
| W-043 | mosaic_v2-electronic-pay | False green | finding — in the main grid |
| W-044 | mosaic_v2-enter-pos | Partial green | finding — in the main grid |
| W-054 | mosaic_v2-multi | Partial green | finding — in the main grid |
| W-058 | mosaic_v2-per-item-serve | Honest green | clean — in Ad-hoc requests below |
| W-062 | mosaic_v2-resume-recovery | Honest green | clean — in Ad-hoc requests below |
| W-063 | mosaic_v2-session-close | Partial green | finding — in the main grid |
| W-106 | cellar-ask-sommelier | Honest green | clean — in Ad-hoc requests below |
These 4 row(s) have a clean verdict and would normally sit out of the room — nothing here says a finding is waiting. They are open because the operator asked to see that specific run’s detail (video, trace, what I actually saw) directly, rather than the one-line ledger summary.
see this row in the honesty ledger →
Ad-hoc request. Operator explicitly asked for this journey's full re-drive and wanted to see the run detail (video/trace) directly, not just the ledger row. Verdict is HONEST_GREEN so it would normally sit out of the room. Verdict is Honest green - this row is here because it was explicitly asked for, not because anything is wrong.
—
Why it ended here: Walked all six steps on this journey. Table 10097 was closed for real via the waiter's own swipe-to-close control (canary-mosaic-waiter-dev@), and resuming the patron tab - foregrounded + network restored, no fresh navigation - showed the farewell/closed screen rather than the stale live menu. The stale menu's dishes remain mounted in the DOM behind the farewell overlay, but a real tap at the "Add" button's location does not reach them - the overlay genuinely blocks interaction. The 2026-09-04 blocker (no owner/waiter control could close a table) is resolved by the 2026-09-05 credential pack; the Anant-table-20-class regression this journey guards against was NOT reproduced.


—
Why it ended here: Walked all five named steps for the first time on this journey. Table 10096 was closed for real via the waiter's own swipe-to-close control (canary-mosaic-waiter-dev@), and resuming the patron tab - foregrounded + network restored, no fresh navigation - showed a blocked/closed surface rather than the stale live menu. The 2026-09-04 blocker (no owner/waiter control could close a table) is resolved by the 2026-09-05 credential pack; the Anant-table-20-class regression this journey guards against was NOT reproduced.
open trace viewer trace.zip notes spec


—
Why it ended here: There is no control anywhere in the owner app that closes a table. Host Station renders a different restaurant entirely and offers only Orders and Service on an occupied table; Tables/Staff reports '0 No tables found'; /owner/tables/ offers only a destructive 'Delete table'. The waiter app, which has the swipe-to-close control, shows 'No tables assigned' for every canary restaurant with the only staff login this container holds. So the hinge of this journey cannot be turned.
open trace viewer trace.zip notes spec


see this row in the honesty ledger →
Ad-hoc request. Operator named this row for a comprehensive walk. Driven 2026-09-06 on the journey's own fixture with a waiter scoped to it. Verdict is Honest green - this row is here because it was explicitly asked for, not because anything is wrong.
Evidenced by the uat-1235-serve2 walk — one walk can answer more than one canary.
—
Why it ended here: Drove the serve path again on a clean table, reading the diner's ledger from the cart sheet's Ordered tab rather than the menu, and enumerating the table sheet for per-item controls.


Other evidence · lane-pos — Driven by a subagent lane, not a human-paced witness walk — screenshots and checkpoints, no role video and no trace. Stated so this is not read as the same grade of evidence.
see this row in the honesty ledger →
Ad-hoc request. Operator named this row for a comprehensive walk. Five runs driven 2026-09-06 on the journey's own fixture; the first four were defeated by my own harness and are linked as other runs. Verdict is Honest green - this row is here because it was explicitly asked for, not because anything is wrong.
Evidenced by the uat-w062-resume-served walk — one walk can answer more than one canary.
—
Why it ended here: Steps 7 and 10 of this journey were driven for the first time, on the uses_kds=false fixture STR-1235 delivered. Outcome: LIVE CATCH-UP WORKS.


Other evidence · lane-pos — Driven by a subagent lane, not a human-paced witness walk — screenshots and checkpoints, no role video and no trace. Stated so this is not read as the same grade of evidence.
see this row in the honesty ledger →
Ad-hoc request. Operator asked directly to walk 'Ask the Sommelier' on The Cellar (a non-canary app) and see the recording. Walk completed end to end; one real product behaviour found (auto-advance + Next double-skip) and recorded in the finding field. Verdict is Honest green - this row is here because it was explicitly asked for, not because anything is wrong.
—
Why it ended here: walked the full six-question Ask the Sommelier flow end to end as a real waiter would - Style, Occasion, Taste (slider), Budget, Country, Vintage (slider) - and read the resulting live-ranked match panel. One real product behaviour was discovered along the way (see the note above) and is reported as a finding, not a spec failure.
open trace viewer trace.zip notes spec

—
Why it ended here: walked the full six-question Ask the Sommelier flow end to end as a real waiter would - Style, Occasion, Taste (slider), Budget, Country, Vintage (slider) - and read the resulting live-ranked match panel. One real product behaviour was discovered along the way (see the note above) and is reported as a finding, not a spec failure.

These 34 journeys are not in the room above because nothing was ever driven on them, so there is no footage to show. The blocker is a missing account or a refusal to write live data — not a run that has yet to happen. Each one says what a person would need to do, why they cannot, and who can unblock it. The board still calls every one of them passed.