Skip to main content

Configuration Snapshots

Here's a question that comes up the moment you start iterating: if I change a prompt or swap a model, what happens to the run that used the old one? The answer is nothing — and the reason is snapshots.

What a snapshot is​

When a workflow execution starts, Circus captures a frozen copy of every configuration value that run will use, and stores it on the execution record. There are four of these immutable snapshots, together capturing the complete runtime context:

  • workflow config — the agents, models, prompts, and their settings;
  • service config — the services, with their headers and resolved URLs;
  • system — the system context and system-wide parameters, with any overrides resolved;
  • workspace — the domain-specific context supplied by your plugin.

Once written, these never change.

Why it matters to you​

Because each run carries its own snapshot, your configuration is safe to edit at any time. Change a prompt's active version, disable a model, adjust a system parameter — none of it reaches backward. A run that already happened still shows exactly the settings it used, and a run currently in flight keeps using the settings it started with. This is what makes experimentation safe: you're never afraid that tweaking a config will quietly rewrite the history you're trying to learn from.

It's also what makes A/B testing trustworthy — when you compare two runs, each is pinned to the configuration it actually used, so the comparison is honest.

Where you see them​

Open any execution's log (see Reading Execution Logs & Terminating Runs) and you'll find its configuration snapshots alongside the timeline. They're historical carbon copies, not live lookups — which is exactly why the page keeps telling the truth about that run no matter what you change afterwards.