Workspaces & Statuses Explained
To operate Circus confidently, two ideas need to click: the workspace, and its status.
A workspace is a working version
An entity — a Thing, a Video, whatever your plugin defines — is the stable business object. A workspace is one working version of it: a branch where a particular processing attempt lives, with its own status, its own execution history, and its own generated outputs.
The key point is that a single entity can have several workspaces at once. They're parallel versions — like drafts. You might run your pipeline one way in one workspace, then spin up another to try a different approach (a different configuration, a different prompt) without disturbing the first. Creating a new workspace never erases the old ones, so you can keep them side by side and compare. This is the foundation that makes A/B testing and "try it again, differently" natural rather than destructive — you're branching, not overwriting.
One workspace is the active one at any time — the version you're currently looking at and acting on — and you switch between an entity's workspaces from its manage page.
Status decides what you can do
Every workspace has a status, and status isn't just a label — it's the gate that determines which workflows you can run and which actions are available. A workflow declares the statuses it's allowed to start from; the manage page's launcher shows you only the workflows whose eligible statuses match your active workspace's current status. When a workflow succeeds, it moves the workspace to its resulting status, which typically unlocks the next stage.
So a workspace advances through a sequence of statuses, one successful workflow at a time — and because progression is operator-driven, you choose the next step at each stage rather than the system running ahead on its own. If you ever wonder why a particular workflow is or isn't offered, the answer is almost always the active workspace's current status.