NameLast commit messageLast commit date
..
cliRemove the custom apps plugin (it'll come back but better) (#1476)3 months ago
cloudShow disabled integration actions for members (#2051)1 month ago
cloudflareFix Cloudflare native elicitation routing (#1522)3 months ago
deskDeveloper-session e2e: chat-theater recordings, focus timeline, one-mp4 films (#962)4 months ago
desktopAdd update-available notifications across the CLI, web shell, and desktop app (#1182)4 months ago
desktop-packagedDesktop boot: show window immediately, self-heal stale launchd state, fix boot-path latency (#1303)4 months ago
desktop-vmBridge generated-UI target=_blank links through the host openLink capability (#1915)1 month ago
localfix: use public origin for browser approval URLs (#1967)1 month ago
mcp-appsAdd the Artifacts console pages (#1472)3 months ago
notes[codex] Fix desktop black screen fallback (#1051)4 months ago
recordingsApps console: source management UI and e2e coverage (#1365)4 months ago
scenariosCheck client availability before preferring OAuth1 month ago
scriptsStop CI failing on waits that were never about the product (#1707)2 months ago
selfhostShow disabled integration actions for members (#2051)1 month ago
setupAdd a self-host opt-out for Better Auth rate limiting (#2044)1 month ago
srcScope tool policies to the account they are set under (#2062)1 month ago
targetsFail closed on the org selector for org-scoped reads (#1488)3 months ago
viewerRuns viewer: live session player with URL bar, trace rail, self-hosted trace viewer (#980)4 months ago
.gitignoreFix self-host data loss on restart (WAL split-brain) + production-image e2e target (#993)4 months ago
AGENTS.mdTrim agent instructions (#1433)3 months ago
CHANGELOG.mdVersion Packages (#2048)1 month ago
package.jsonVersion Packages (#2048)1 month ago
RUNNING.mdTrim agent instructions (#1433)3 months ago
tsconfig.jsone2e scenarios declare dependencies via Effect DI (#942)5 months ago
vitest.config.tsCarry an approval's persistence choice through elicitation (#1976)1 month ago
AGENTS.md

E2E policy

Detailed target setup, commands, ports, desktop VM operation, endpoint discovery, viewer usage, and recording workflows live in RUNNING.md. Read only the relevant section for the task.

Scenario structure

  • Put cross-target scenarios in scenarios/*.test.ts; target-specific suites stay under their target directory.
  • Declare capabilities by yielding services from src/services.ts (Target, Api, Browser, Mcp, Billing, Cli, Telemetry, and others). Do not add a separate capability list. Unsupported targets skip and record why.
  • Create fresh identities and organizations through Target. Never depend on shared state or customer-derived fixtures.
  • Clean up created resources with Effect.ensuring; trailing cleanup statements are insufficient because mid-test failures must not leak state.
  • Assert through the real typed API, browser, MCP, CLI, emulator ledger, or exported telemetry surface. Do not reach into implementation internals to make a scenario pass.

Browser and telemetry

  • Wrap browser work in browser.session(identity, ...) and use step labels phrased as user actions. Prefer role-based locators and wait for navigation or network settling after actions that change pages.
  • Browser sessions produce screenshots, video, and a Playwright trace. Do not add separate recording machinery for ordinary scenarios.
  • Telemetry assertions target spans that reached the motel store, not values stamped only inside application memory. Export is eventually consistent, so use the provided polling helpers.

Isolation and quality

  • Never hardcode ports or attach to an arbitrary existing server. Use the checkout's claimed port block or explicit E2E_<TARGET>_URL attachment.
  • Test the user-visible contract and important failure path, not selectors or implementation details alone.
  • Run the narrowest relevant target while iterating. Before handoff, provide the viewer/run URL, recording or trace, and the exact outcome to inspect.
  • Do not weaken, skip, or rewrite a failing assertion merely to make the suite green. Fix the product, fixture, or scenario contract.