{"generatedAt":"2026-08-29T07:14:05.528864+00:00","generatedLabel":"29 August 2026, 00:14 PDT","lastScenarioAt":"2026-08-29T06:47:02.877Z","totals":{"conversations":2083,"turns":13777,"actions":19110,"verticals":6,"properties":50,"propertiesActive24h":11,"run24h":839,"passed24h":577},"funnel":{"found":95,"fixed":9,"fixedByFixer":4,"fixedByTeam":5,"verified":4,"escalated":0,"shipped":1,"prs":1},"days":[{"day":"2026-08-16","label":"Sun 16","run":0,"passed":0},{"day":"2026-08-17","label":"Mon 17","run":0,"passed":0},{"day":"2026-08-18","label":"Tue 18","run":0,"passed":0},{"day":"2026-08-19","label":"Wed 19","run":0,"passed":0},{"day":"2026-08-20","label":"Thu 20","run":0,"passed":0},{"day":"2026-08-21","label":"Fri 21","run":0,"passed":0},{"day":"2026-08-22","label":"Sat 22","run":0,"passed":0},{"day":"2026-08-23","label":"Sun 23","run":0,"passed":0},{"day":"2026-08-24","label":"Mon 24","run":0,"passed":0},{"day":"2026-08-25","label":"Tue 25","run":0,"passed":0},{"day":"2026-08-26","label":"Wed 26","run":0,"passed":0},{"day":"2026-08-27","label":"Thu 27","run":1244,"passed":820},{"day":"2026-08-28","label":"Fri 28","run":839,"passed":577},{"day":"2026-08-29","label":"Sat 29","run":0,"passed":0}],"byVertical":{"tasting_room":{"run":143,"passed":60,"tenants":11},"restaurant":{"run":318,"passed":219,"tenants":9},"hotel":{"run":146,"passed":133,"tenants":5},"spa":{"run":97,"passed":68,"tenants":5},"events":{"run":38,"passed":21,"tenants":7},"production":{"run":97,"passed":76,"tenants":6}},"changelog":[{"week":"2026-08-24","items":[{"day":"2026-08-28","vertical":"htl","scenario":"htl-walkin-full-decline","summary":"The walk-in booking scenario itself succeeded end-to-end (room found, reservation created, confirmed, guest satisfied), but the run was wrongly logged as a server failure because the simulator's confirm-stay tool threw a generic error with no status code when it briefly saw an unresolved placeholder ID before the agent retried with the real one; that tool now reports a proper \"not found\" status s…","verified":true,"where":"simulation harness","pr":null},{"day":"2026-08-27","vertical":"evt","scenario":"evt-ticket-sold-out","summary":"The events \"list tickets\" lookup no longer crashes with a server error when asked for a status like \"PUBLISHED\" that doesn't exist in the system — it now replies with a clear message listing the valid statuses (draft, on sale, sold out, completed, cancelled) instead of failing outright.","verified":true,"where":"product","pr":"https://github.com/elevint/elevint-d2c/pull/105"},{"day":"2026-08-27","vertical":"evt","scenario":"evt-ticket-create-and-sell","summary":"Fixed the events ticket-sale simulation's script so the \"guest\" playing three sequential ticket buyers no longer cuts the call short after the first couple books — it now explicitly continues through Jordan Liu and the Peterson family before ending, so all three ticket sales get recorded as expected.","verified":true,"where":"simulation harness","pr":null},{"day":"2026-08-27","vertical":"tr","scenario":"tr-reservation-seating","summary":"Fixed — the anniversary-couple check-in scenario was failing because no reservation was ever created for the guest to check in against, so every staff member correctly searched and found nothing until the guest gave up; the scenario now seeds a real matching reservation up front (using a new \"book soon\" option that also stops staff from wasting turns guessing valid times), so guests can be found…","verified":true,"where":"simulation harness","pr":null}]}],"findings":[{"title":"Fruit deliveries logged, then scored as failures","what":"The document was created and moved to PENDING every time. The simulation's adapter sent the wrong field names and null for a required document number, and the pass/fail check searched a field the product does not index.","state":"Fixed","fix":"Adapter numbers its own documents and maps the real fields; assertion searches the carrier. . Passed 11/11 on the next run","count":12,"bucket":"harness"},{"title":"Qualifying an event lead returned 500","what":"Every client sends start and end as clock times (16:00); the API stored them into a date column and crashed.","state":"Fixed","fix":"Clock times are anchored to the event date; bad input is a 400 with a reason","count":3,"bucket":"product"},{"title":"Lead created with a value the API does not accept","what":"The assistant was never told which source/event types exist.","state":"Fixed","fix":"Adapter docs list the enum values and the real return shape","count":1,"bucket":"harness"},{"title":"Scenario asked to book a tasting at a time already past","what":"The product correctly refused a reservation in the past; the scenario had not said which future slot to book.","state":"Fixed","fix":"Scenario books the next open slot tomorrow. sim-lab (this commit)","count":2,"bucket":"harness"},{"title":"Spa room already committed — assistant stopped instead of offering the next slot","what":"The product correctly refused to double-book the couples room. A good receptionist checks availability and offers the next opening; the assistant did not.","state":"Prompt improved","fix":"The scenario now tells the receptionist to re-check availability and offer alternatives on a conflict. sim-lab (this commit)","count":6,"bucket":"agent"},{"title":"Card payment needs a physical terminal","what":"A card checkout requires a card reader; the simulation has none. The assistant was told so and should take cash or room charge instead.","state":"By design","fix":"Hardware is out of scope for the simulation","count":6,"bucket":"harness"}],"prs":[{"url":"https://github.com/elevint/elevint-d2c/pull/105","number":"105","fixes":1,"day":"2026-08-29"}]}