Gera: “People like this, they cancelled the tour but we don’t see that in the leasing progress… it should go to like the small little line saying tour cancelled.”
PR #6533 · rendered from the real ProspectDetailClient with fixture prospects — no data source, no live records.
Three prospects, same component, rendered in Chromium. The first is the case Gera described: booked a tour, cancelled it, then applied. The third is the control — a lead who never toured — which is what stops the fix from quietly becoming “always reached”.
The rail contradicted itself. Before the fix, the top case rendered a grey “Tour · Not yet” bar with a red “Cancelled” marker immediately beside it. Cancelling nulls tourId, and resolveForwardStage deliberately keeps an already-advanced prospect at their current stage, so every input to the reach rule said “never toured”. A cancelled tour is evidence the journey passed the milestone — TOUR_STAGES has always agreed.
The word was being painted over. The marker shipped at the full stage type size with the full stage pill gutter (12px each side) inside a column half a stage wide. “Cancelled” came out 89px of label in a ~48px lane, reaching 21px into the next step’s box — and when that step was the current one, its opaque selected pill covered the end of the word. The rail read “Cancelle”, for exactly the prospect the marker exists for. No test could see it; the screenshot could.
Read off live layout in the same browser run, per case:
| Case | Tour node fill | Tour meta | Cancelled marker |
|---|---|---|---|
| Booked → cancelled → applied | brand | Reached Jun 28 | yes |
| Cancelled, still at Tour | brand | Reached Jun 28 | yes |
| CONTROL — never toured | neutral | Not yet | no |
Label-box overlap with the next step fell from 21px to 3px — and the 3px that remain are the neighbour’s own padding, not its text or its painted pill.
Every prospect here is synthetic: one placeholder name, one 555 number, one unit. Nothing was captured from a live data source, so there is no chain of custody to stamp and no real person in the frame. That is a deliberate trade — this artifact proves component behaviour under known inputs, which is what the two defects above were. It does not prove anything about production data.