docs/guides/board-operator/execution-workspaces-and-runtime-services.md
This guide documents the intended runtime model for projects, execution workspaces, and issue runs in Paperclip.
Paperclip now presents this as a workspace-command model:
Services are long-running commands that stay supervised.Jobs are one-shot commands that run once and exit.You can define how to run a project on the project workspace itself.
Workspace commands are manually controlled from the UI.
Execution workspaces isolate code and runtime state from the project primary workspace.
Issues are attached to execution workspace behavior, not to automatic runtime management.
Execution workspaces are durable until a human closes them.
Heartbeat still resolves a workspace for the run, but that is about code location and session continuity, not runtime-service control.
Code state moves between runs through the local execution-workspace cwd alone — not through a git remote.
git remote configured.git push from runtime code, and must never assume a remote exists.workspace_finalize=failed on the execution workspace, which gates dependent issue wakes until the next successful finalize.The invariant is enforced by the "no-remote-git contract" case in packages/adapter-utils/src/ssh-fixture.test.ts, which asserts a remote-only commit reaches the local worktree with no remote configured at any point.
With the current implementation: