Skip to Content
DashboardTime-Travel Debugging

Time-Travel Debugging

Time-travel debugging lets you replay any agent pipeline execution step-by-step, inspecting the exact state at each stage. By capturing checkpoints at every agent boundary, the system enables precise root cause analysis without needing to reproduce the original conditions.

How It Works

Every pipeline execution automatically creates checkpoints at each stage transition. A checkpoint captures:

  • Input data passed to the agent
  • Output data returned by the agent
  • Agent configuration at the time of execution (model, prompt version, settings)
  • Timing information (start time, duration, queue wait time)
  • Token usage and cost for the step
  • Error details if the step failed

These checkpoints are persisted in the checkpoint store and linked to the pipeline’s run_id, creating a complete audit trail of every execution.

Replay Interface

The replay interface presents a timeline of the pipeline execution with each agent represented as a step. You can:

Step Through Execution

Navigate forward and backward through the pipeline stages using the step controls. At each step, the interface displays:

  • The agent that executed at this stage
  • The complete input payload the agent received
  • The complete output payload the agent produced
  • Duration and cost of the step
  • Any warnings or errors encountered

Inspect Input and Output

Each checkpoint’s input and output data is displayed in a structured JSON viewer with syntax highlighting, collapsible sections, and search. For large payloads, the viewer supports:

  • Diff mode — highlight what changed between input and output
  • Path copy — click any field to copy its JSON path
  • Raw mode — view the unformatted JSON for copy/paste

Compare Runs Side-by-Side

Select two pipeline runs to view them side-by-side in a comparison layout. This is useful for:

  • Understanding why two runs produced different results
  • Comparing performance before and after a configuration change
  • Identifying which agent in the pipeline introduced a regression
  • Validating that a fix resolved the issue without side effects

The comparison view highlights differences in inputs, outputs, timing, and cost at each corresponding step.

Checkpoint Store

Checkpoints are stored using the CheckpointStore abstraction, which supports tenant-scoped access to ensure organizations can only view their own execution data.

from src.orchestrator.checkpoint_store import CheckpointStore # Retrieve all checkpoints for a pipeline run checkpoints = await checkpoint_store.get_checkpoints(run_id="run_abc123") # Each checkpoint contains the full agent state for cp in checkpoints: print(f"Agent: {cp.agent_id}") print(f"Input: {cp.input_data}") print(f"Output: {cp.output_data}") print(f"Duration: {cp.duration_ms}ms") print(f"Cost: ${cp.cost:.4f}")

Checkpoints are retained according to your organization’s retention policy. The default retention period is 30 days, configurable per organization.

Use Cases

ScenarioHow Time-Travel Helps
Debugging failuresStep to the exact agent that failed and inspect its input to understand the cause
Quality regressionCompare a good run with a bad run to find where output quality diverged
Cost investigationInspect token usage at each step to find unexpectedly expensive operations
Prompt tuningCompare outputs across prompt versions for the same input data
Incident responseReplay the exact execution path that led to a production issue

API Endpoints

List Checkpoints

Retrieve all checkpoints for a given pipeline run.

GET /api/v1/checkpoints?run_id=run_abc123
{ "run_id": "run_abc123", "pipeline": "data-analysis-v3", "status": "completed", "checkpoints": [ { "step": 0, "agent_id": "vision_analysis_v3", "input_data": { "image_url": "https://..." }, "output_data": { "entities": [...], "confidence": 0.94 }, "duration_ms": 2340, "cost": 0.0082, "timestamp": "2026-02-08T14:23:11.204Z" }, { "step": 1, "agent_id": "style_analysis_v3", "input_data": { "entities": [...] }, "output_data": { "analysis_profile": {...}, "results": [...] }, "duration_ms": 1870, "cost": 0.0124, "timestamp": "2026-02-08T14:23:13.544Z" } ] }

This endpoint requires a valid JWT and X-Org-ID header for tenant-scoped results.