Sandboxes

Workspaces and cleanup

What SI Fabrik removes on its own, what it keeps on purpose, and how to clean up by hand without losing work.

SI Fabrik cleans up after itself, but never at the cost of work: a workspace whose branch couldn't be saved is kept, and every removal saves the branch first.

What's removed automatically#

WhatWhen
A task's workspaceWhen the task reaches a terminal state, after its branch is saved and before_remove runs
Workspaces of tasks already terminalAt startup
Agent containersWhen the attempt ends (docker run --rm)
Hook and git containersWhen the hook or git step ends
Linked-service containersWhen the attempt ends
Terminal containersWhen you close the terminal
Leftover terminal, service, hook and git containersAt startup, for this SI Fabrik instance only
Idle Cloudflare containersAfter 30 minutes idle; the workspace is rebuilt from the saved branch next time
Run historyBeyond the last 200 runs per project
Daily spend recordsBeyond the last 31 days

What's kept on purpose#

  • Workspaces whose branch couldn't be saved, for example because it diverged or is checked out in your repository. The branch is then kept under refs/harness/saved/… in your repository. The Workspaces tab says Kept <key>: its branch couldn't be saved when a removal is refused.
  • Workspaces of active, handed-off or parked tasks, so the agent can pick up where it left off.
  • Kept Cloudflare workspaces, until you remove them or the task ends.

Remove a workspace by hand#

  1. Open the Workspaces tab

    Each row shows the branch, saved to repo or not saved yet, and in use when an agent is working there.

  2. Remove it

    Press the trash button (disabled while in use) and confirm Remove <key>. SI Fabrik saves the task branch into the project repository first; uncommitted changes are lost.

For Cloudflare workspaces, use Save branch and destroy on the Sandboxes screen's Cloudflare card. On a server, removing a workspace needs the admin role.

Stop a container by hand#

On Sandboxes → Containers, press the stop button on a row to stop and remove it. Stopping an agent's container ends its attempt abruptly; to stop an agent cleanly, use Stop in Live Agents.

See also#