00 — Setup & Preconditions (read first)

This is the one-time setup a human (Ravi) performs before any Computer Use Test run, plus the per-run verification checklist the agent executes before touching a suite. If any precondition is not met, the agent STOPS and reports it as a precondition failure — it never improvises a login, never connects a calendar mid-run, and never changes global availability outside CU-06.

Target environment for every suite: production https://calendo.dev.


A. One-time setup (human, done once and kept warm)

These do not need redoing every run — they only need to stay valid (sessions logged in, calendars connected, baseline availability present).

A1. Pre-authenticate all browser sessions (no passwords are stored)

The runner's browser must already hold live, logged-in sessions for all of these. A computer-use agent must never perform a cold password login or an OAuth consent mid-run — Google/Microsoft actively challenge bot logins (2FA, "this browser may not be secure", device verification), and Calendo's Google app verification is still pending, so the consent screen shows a "Google hasn't verified this app" warning. A human clicks through these once; the agent reuses the persisted session.

SessionAccountWhere it must be logged in
Calendo (P1 host)ravikantguptaofficial@gmail.comhttps://calendo.dev/dashboard/ (signed in via "Sign in with Google")
Gmail (P1 inbox)ravikantguptaofficial@gmail.comhttps://mail.google.com — host + invitee (plus-alias) inbox for L3 email checks
Google Calendar (P1)ravikantguptaofficial@gmail.comhttps://calendar.google.com — L3 calendar checks
Calendo + Gmail (P3)everythingaichannelemail@gmail.comCalendo + mail.google.com — teammate / separate-invitee inbox (CU-14, CU-05, CU-07)
Calendo + Outlook (CU-04)ravikant0909@outlook.comCalendo + https://outlook.com (mail + calendar)

Passwords are never committed to git. They live only in Ravi's password manager / the live browser profile. If a session has expired, the human re-authenticates it before the run — the agent does not.

A2. Connect calendars to Calendo (once)

In Calendo → Settings → Integrations (or the Overview connect chips):

After connecting, the Settings → Integrations panel should show Google Calendar (and Outlook, if used) as Connected, not as a "Connect" call-to-action.

A3. Establish the host baseline that suites assume

Every booking suite computes slots from P1's global availability, so a known baseline must exist:

  1. Weekly availability: in the Availability tab, set Mon–Fri 09:00–17:00 in a fixed, known timezone (e.g. America/Los_Angeles). Leave weekends off. (CU-06 will temporarily mutate this and restore it; all other suites assume it is present.)
  2. A default 30-minute event type exists (the stock "30 Minute Meeting" is fine). Individual suites still create their own RUNID-scoped event types, but the booking-UX suites expect at least one bookable event to exist.
  3. Read the host booking slug: on the Overview tab, the public link is shown in #bookingLinkValue (e.g. https://calendo.dev/booking/?user=<HOST_SLUG>). Suites read this live; it does not need recording, but confirm it is non-empty.

A4. Conventions the agent must follow


B. Per-run setup verification (agent runs this FIRST, every run)

Run this checklist before executing any suite. If any item fails, STOP and record it as a precondition failure in the results file — do not work around it.

If all pass, proceed per README.md §6 (Wave 1 concurrently → Wave 2 = CU-06 alone), or run a single suite. After the run, complete the Cleanup confirmation section of the results file.


C. On precondition failure — what to do

FailureCorrect action
Bounced to login (any account)Record "session expired — needs human re-auth"; skip dependent suites. Do not attempt a password/OAuth login.
Google Calendar shows "Connect" not "Connected"Record "GCal not connected — L3 calendar checks blocked"; run L1/L2 steps only, mark L3 as blocked. Do not run the OAuth flow.
No available days on the booking pageRecord "baseline availability missing"; this is a setup gap, not a product bug — fix in A3 and rerun.
Outlook / P3 session missingMark CU-04 / CU-14 (or the relevant steps) as Blocked — manual residue.