Fri 17 → Sat 18 Jul 2026 · go-live Wed 22 Jul · 4 branches, all suites green, nothing merged to main, nothing deployed
To test: restart your :6897/:6898 dev servers on branch overnight/integration (kill first — never switch branches under running vite), or ask me and I'll do it.
overnight/integration (backend 178/178, frontend 320/320, prod build passes). After your local test: merge to main → clone/onidel-syd → deploy, with both version bumps.1:1 Sessions + Yoga Therapy tabs reusing the existing ClinikoServiceTab middle-page pattern; GA4 open_service_page / open_service_booking added for ALL service pages (they had none). 291/291 frontend tests. Placeholder copy + images flagged.
Under-loaded days (root-caused): backend caps wide windows at 10 pages and silently truncates the furthest days; the 56-day prewarm got cached as "complete" so far days never refetched. Now truncation is flagged and never cached as covered — far days self-heal with a narrow refetch. Stuck scroll: competing smooth-scrolls from rapid taps now coalesced (latest wins) + autoscroll loops get cancellation. Carousel: no logic bug found; raw full-res banners were the only unproxied images — now 600px WebP via /api/img (memory-pressure mitigation; confirm on device).
Root cause of "can't book but can check guests in": the guest-pass panel v-if sat above the drop-in panel in a v-else-if chain, so staff (guest-pass memberships) never saw Book-for-$X on paid classes. Guest UI now gated to membership-included classes only, reusing the drop-in paid-vs-included signal. Cancel/refund/credits were red herrings — no Momence data fix needed.
Spec at docs/specs/add-guests.md. Mechanism: resolve guest by email on Momence (find or create) → free-book via the proven host-token endpoint. Real backend endpoints (session-authed, server-derived pass rules, 409 guard on non-eligible classes), guests actually submitted now (old UI silently discarded them). GA4 add_guest_to_booking / book_with_guests. All Momence writes mocked in tests — first live run is deliberate.
/host/members?query=email returns exact match for a known customerAlso done tonight: 7 tasks logged in cosmo-mem with branch pointers · one stray committed node_modules symlink removed on schedule-bugs · BookingView merge conflict resolved in favour of the stronger add-guests gate (canUseGuestPass util kept, tested).