Willows Journey: Before / After
Overnight measurement run, Aug 13 → 14 · The Willows test property (sanctioned prod bench) · one synthetic applicant walks inquiry → keys, asking 49 real questions on text, email, and phone at every stage; every answer graded by an independent judge.
The scoreboard, stage by stage
"Handled well" = answered correctly, or correctly handed to the team when no answer exists on file. Goal: at least 80% at every stage (Fede's north star).
| Journey stage | Before (Aug 13) | After (Aug 14) | vs 80% goal |
|---|---|---|---|
| First inquiry | 19/24 · 79% | 17/24 · 70% | below |
| Tour scheduled | 10/18 · 55% | 11/18 · 61% | below |
| Application submitted | 18/21 · 85% | 17/21 · 80% | at goal |
| Application in review | 17/21 · 80% | 20/21 · 95% | above |
| Approved | 20/24 · 83% | 18/24 · 75% | below |
| Lease sent | 16/18 · 88% | 13/18 · 72% | below |
| Lease signed / move-in ready | 7/21 · 33% | 9/21 · 42% | far below — see blocker #1 |
| Total | 107/147 · 73% | 105/147 · 71% | flat |
Stage-to-stage swings of a few answers are within this harness's night-to-night noise; the judge is an AI grader and single runs wobble. The two solid signals are the in-review jump (+15 points) and the signed-stage floor staying low for a reason we can now name precisely.
What genuinely improved
1 · Clara stopped inventing things when she's blind. Before, when Clara couldn't see the signed lease, she made up a story:
Before — asked "Am I all set for move-in?"
"Not quite yet — the corrected lease (with the one-month free included) is still outstanding. Once that's sent and you've signed it, you'll be all set to move in!" (No corrected lease existed. Entirely invented.)
After tonight's honesty guard, blind in exactly the same way, she tells the truth:
After — asked to book the earliest key-pickup time
"I'm not able to book or hold a time from here, so nothing is scheduled yet — I don't want to give you a time that isn't real. I've passed this to the property team and they'll confirm one with you."
That trade shows up in the numbers: correct answers dipped (47 → 41) while correct handoffs rose (60 → 64). She answers less and lies less. The guard shipped with three review rounds specifically to keep it from over-blocking truthful answers.
2 · "Application in review" went from 80% to 95% — the stage the incoming-resident grounding work targeted most directly.
3 · Key-pickup booking is proven to work when Clara can see the lease. In a run where the lease record was already visible, she quoted real slots and booked them end-to-end by text and by phone. The capability exists; blocker #1 below is what hides it.
The two named blockers (plumbing, not AI)
Blocker #1 — the move-in record arrives too late. When someone is moved in on AppFolio, our copy of that lease appears up to ~30 minutes later (measured 28 minutes tonight; the sync runs every 15 minutes and AppFolio itself reports late). Until it lands, Clara is blind at exactly the moment a new resident asks "when do I get my keys?" — the whole signed-stage score (33%/42%) is this one gap. Fixing the freshness of that sync (or having Clara wait-and-recheck) is the single highest-leverage journey fix left.
Blocker #2 — email can't book key pickups even with sight. In the run where the lease was visible, text and phone booked fine but the email lane never reached for the key-pickup tools at all. One lane is missing its wiring.
Also caught by the harness tonight
- Leftover test data poisons the next run: the first rerun had to be thrown away because the bench still held the previous night's lease — Clara (correctly!) greeted the "new prospect" as an existing resident. The harness now rotates identities; the deeper lesson is that a phone number with any old lease on file gets treated as that resident.
- The grader's login expired mid-run and cost one stage its grades before recovering; the judge needs a retry.
What shipped to production overnight
- Stranded-resident fix — the bug that silently hid two Camellia move-ins is fixed three layers deep; both residents' records verified healed in production.
- Honesty guard — Clara can no longer claim something is booked/confirmed unless a real booking happened; live on text, email, and all phone agents (including renewals, synced by hand as required).
- New-resident grounding — move-in-stage questions now draw on journey and signature state; shared-mailbox and zero-match edge cases closed after review.
- Cross-property privacy fixes — callers can no longer be matched against other buildings' residents, searches can no longer cross into other customers' data, and voicemail context no longer leaks between properties. note this pull request merged despite the "hold for Fede" title — the repo's blanket auto-merge treats a title as text. See the decision below.
Update — a third run finished the evening of Aug 14, and then a full audit changed the story
Headline number: 114 of 147 handled well (78%) — but a full validity audit of the harness (three independent reviews, evening of Aug 14) found that the scores on this page should not be trusted as a measure of Clara, in either direction. What the audit established:
- The "Clara says nothing is booked" failures were not Clara. A safety guard that shipped the night of Aug 13 (built to stop Clara from inventing bookings) was over-firing: it deleted her correct answer and substituted a canned "nothing is scheduled yet" — including for questions like "where do I park?" from people with real tours. 8 graded turns were the guard's canned text, charged to Clara. The guard also hit one real prospect at Camellia (Aug 14, 9:01 AM MT): an hour before her real virtual tour she was told nothing was scheduled. She toured and applied anyway. Both underlying bugs are fixed in a PR now in review, and the guard now has an emergency off switch.
- Roughly 80 of the 147 answers were graded against a journey state the production code cannot see. The harness advances the test applicant's stage with a shortcut write that most of Clara's context readers don't consume — so at the "applied," "in review" and "lease sent" stages, the judge scored Clara for "forgetting" facts she was never shown. An estimated 12 of the 23 "wrong answer" verdicts are artifacts of this or of the guard.
- The email column measured amnesia, not email. A test-script bug fed Clara a stale email address, so almost every email question landed in a brand-new conversation with zero memory — which is what drove email's boilerplate "I've passed this to our team" pattern.
- The "voice" column is not voice. It runs Clara's text brain with a spoken-delivery instruction — the real phone agent, its tools, and speech never run. (The earlier caveat here about an "experimental phone agent" was wrong: no phone agent ran at all.)
- Every claimed defect was then adversarially re-verified (three independent attack passes), and most fell. Cleared: the "$50 utility setup fee" is REAL property data the judge couldn't see; the "access code leak" was the office-door code the test's own ground truth marks quotable, given to the verified resident with the right caveats; the Colorado screening answer routed to a human exactly as the rules bless; the "invented 1 PM tour" was a real booked tour the judge denied existed. What survived: one voice thread claiming "the leasing team is working on your unit-switch — they have it" when no handoff ever fired (and repeating it two more turns); one voice reply attributing a move-in date to a team confirmation that never happened; a pets question and an income question answered with sales pitch instead of the on-file answer on email; and a handful of should-have-escalated misses. All voice items carry a caveat: the test line ran a non-standard agent.
- The re-verification also surfaced an undeclared production mechanism: when Clara hands a question to the team mid-reply without marking her answer as partial, a rule deletes her whole reply and sends "I've passed this to our team" boilerplate — 44 of 147 answers in this run were that template, including turns where she had written the correct answer. That's why email looked so much worse: same knowledge, erased answers.
Bottom line: the before/after comparison above (105 vs 107) and this run's 114 are all polluted by the same validity problems, which affected every run equally in kind but not in degree. The harness needs its state-seeding, email-identity, and guard-visibility fixes before any run is admissible against the "significant improvement" bar. D1 below still stands — hold Camellia — now additionally because the measuring stick itself is being repaired.
Decisions for Fede
The bar was "significant improvement," and tonight is flat. Blockers #1 and #2 are well-scoped plumbing fixes; with them done, the signed stage (the one closest to real move-ins) should clear 80% and the case becomes real.
The guard is already live fleet-wide (it merged to production). This option means accepting the current journey scores as good enough for Camellia's existing traffic — defensible for honesty alone, but it's not what the bar said.
Choose this only if the fabrication risk was the real reason for the bench gate.
The code is the version the reviewer approved twice with all tests green, and it closes live privacy leaks; reverting would reopen them. The process failure is real and separately fixed (real holds now disable auto-merge). The follow-up piece (#5746) is approved, green, and genuinely held for you — one click if you ratify.
Reopens the cross-customer leak paths while the re-review runs. Not recommended.
Built, approved, green, held for you. One flagged judgment call inside: it adds a per-property "escalation owner email" setting despite a standing rule against new escalation email fields — the reviewer accepted the reasoning; your ratification wanted.
Data sources: graded runs of 2026-08-13 21:00 UTC (baseline, committed with the harness) and 2026-08-14 05:46 UTC (after, clean persona); the discarded 04:37 UTC run is used only as evidence that key-pickup booking works when the lease is visible; third run 2026-08-14 23:00 UTC (interrupted, resumed, completed 01:08 UTC Aug 15). All runs on the Willows bench; no real residents contacted (reserved test phone range + test email domain + simulated-send property).