A hot leasing lead — Jace Weaver, from Apartments.com, wanting to tour before an Aug 10 move-in — was mid-booking with Clara by email. His girlfriend, Sadie-Kate Ball, was going to tour on his behalf. Clara asked for her name; he confirmed the 2:30 PM slot; Clara asked for the name again instead of booking; and at 2:23 PM he answered:
That email never reached Clara. It was silently parked. No reply went out, nothing appeared in the conversation, no alert fired, and the tour stayed un-booked. The prospect has been ghosted since — mid-booking, at the moment of highest intent.
Contributing behavior bug: Clara refusing to book the confirmed 2:30 slot until she had the visitor's name violated her own rules (a confirmed time books immediately; the visitor's name is an ask-alongside, never a gate — ADR-0101 makes it an advisory hint that "never gates"). Her off-spec gatekeeping is what forced the unbucketable reply in the first place.
A 30-day sweep of skipped emails from senders with an active conversation found three real victims, all at Camellia:
| When | Who | What was dropped | Stakes |
|---|---|---|---|
| Jul 30 | Hayley Bannochie | Approved applicant asking how she signs her lease, confirming Aug 20 move-in, requesting the parking waitlist | Approved applicant, pre-signature, ghosted 3 days |
| Jul 31 | Paula Delgado (APT 607) | Renewal negotiation for her 9/1 renewal — asking to match the advertised $1,000 studio rate (current $1,150) | Live renewal, time-boxed, never entered the renewal lane |
| Aug 2 | Jace Weaver | The visitor name Clara demanded before booking the 2:30 PM tour | Hot lead ghosted mid-booking |
"Common sense is to keep engaging back and forth, no matter what hacks might be in there. Rules in a prompt should not be able to trigger bugs like this where we drop a high value tour mid conversation."
When the sender has an active conversation at the property, every classifier verdict and policy rule is advisory — the message always routes to Clara, who has the full thread. Backstop: if a known-prospect email ever still parks, the drop alert now fires (the exclusion is removed).
RULE 13 patched: a confirmed tour time books immediately, with the visitor-name ask carried in the same reply — never withheld pending the name. New eval rows reproduce the exact incident turn so it can't regress.
The incident was implemented as two scenarios in the email stress harness against The Willows in production. The booking scenario passed 10/10. The bare-name-reply scenario — the exact incident turn — failed: the queue-side processor ran its own defensive second decision and could still park a mid-conversation reply when the message arrived without the webhook's override flag (any publisher that skips the webhook layer). That second-layer copy of the drop was fixed the same night — the processor now computes "does this sender have an active conversation?" itself before it is allowed to park anything — and deployed before any real email was replayed.
Replay results (Aug 3 morning): Jace — tour booked (Mon Aug 3, 2:30 PM, calendar event, PM notified, Sadie-Kate Ball recorded as expected visitor, confirmation threaded to his inbox); Hayley — answered, lease-signing/move-in/parking escalated to the property inbox; Paula — holding reply sent, $1,000-vs-$1,150 counter escalated to the property team, no autonomous concession. Zero contact of any kind with the visitor's phone number (verified at the database level).
Superseded ruling (Fede, Aug 2 night): the earlier opt-in-loop design is out. The visitor gets the exact same tour confirmation, reminders, and follow-ups a regular prospect gets — sent to both the requester and the visitor, with quiet hours respected (first text lands in the morning, recipient-local). Fede accepts the intermediary-consent posture: the requester volunteered her number mid-booking for the purpose of coordinating her visit. Mitigations stay: consent-context logging, immediate STOP handling, quiet-hours enforcement, informational 10DLC.
Bigger design questions (one conversation or two, who the visitor is in the system, how sends fan out) are laid out as multiple-choice options in the design doc — pending Fede's picks; build follows.
A full adversarial audit of the inbound email pipeline is enumerating every point an email can terminally stop, judging each against the invariant, and producing the test-gap and visibility-gap list. Findings will extend this doc.
Done Aug 2: 82 paths mapped, 24 adversarially verified; 13 hardening workstreams identified — full report.
| Workstream | What it does |
|---|---|
| Active-thread invariant fix | Classifier/policy verdicts advisory for active conversations, carried end-to-end (webhook → queue → processor); drop-alert backstop armed |
| RULE 13 booking-gate patch | Prompt clause + on-behalf gauntlet eval rows (subscription runner) |
| Stress-harness scenarios | Jace-pattern regression scenarios on The Willows; the gate for replaying the real emails |
| Co-signer guest-card fix | Separate finding, same session: AppFolio co-signer guest cards minted duplicate standalone prospects (the Warren rows); sync now skips them, duplicates then deleted |
| Pipeline death-path audit | Adversarial map of every silent-drop path + prioritized fixes and missing tests |
Prepared by Clara/Claude session, Aug 2, 2026. Sources: prod conversation c2b2a4ab…, email ingestion log, Microsoft Graph message bodies, repo code as of main@Aug 2, 30-day ingestion sweep. All quotes verbatim from stored records.