Sessions

A session is the fundamental unit of captured data in ReadyCheck. Every time you run /check or start ada capture, a new session is created.

What’s in a Session

A session is a directory bundle containing synchronized data from all three tracks:

session-<id>/
├── screen/          # Screen recording data
├── audio/           # Voice recording
├── traces/          # Function call trace events
└── metadata.json    # Session metadata (timestamps, target info)

Session Timeline

All three tracks share a single timeline. Every event — whether it’s a screen frame, a voice segment, or a function call — is timestamped relative to the session start. This synchronization is what makes cross-track correlation possible.

When you say “I clicked the button and nothing happened” at timestamp 15.3s, ReadyCheck can:

  1. Find your voice segment at ~15.3s
  2. Show what was on screen at ~15.3s
  3. List every function call in the window around ~15.3s

Querying Sessions

Sessions are queryable via the ada query CLI:

# Latest session
ada query @latest time-info

# List all sessions
ada query --list-sessions

# Specific session
ada query <session-id> events --limit 100

Session Lifecycle

  1. Created — When capture starts, a new session directory is initialized
  2. Recording — All three tracks write data in real-time
  3. Completed — When the target app quits, recording stops
  4. Queryable — The session is immediately available for analysis

Sessions persist on disk until manually deleted. You can re-analyze any past session at any time.