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.