Handbook
Self-Host local runner
The local_runner workcell implements Self-Host Alpha: allowlisted repo actions gated by approved ApprovalRequest records. Runner code lives in forge-platform (scripts/selfhost_runner.py), not forge-workcells.
Workcell id
| Field | Value |
|---|---|
| Workcell id | local_runner |
| Runner host | forge-platform |
| Entrypoint | scripts/selfhost_runner.py |
| Mode | operator |
Run store layout
Per-ForgeRun files under .forge/runs/<frun_id>/ — see Self-Host run store.
.forge/runs/<frun_id>/forge_run.json
.forge/runs/<frun_id>/approvals/<approval_id>.json
.forge/runs/<frun_id>/local-runner/result.json
.forge/runs/<frun_id>/evidence/evidence_packet.json
Safety rules
- Runner accepts only allowlisted
action_idvalues (schemas/local_runner_action.v1.schema.json). - No raw shell from Lenses or agents.
- Only approvals with
state: approvedmay gate execution.
vs local_llm_worker
| Workcell | Purpose | Host |
|---|---|---|
local_runner |
Allowlisted repo checks | forge-platform |
local_llm_worker |
Micro-pack local LLM judgment | forge-workcells |
Migration note
local_runner may move to forge-workcells in a later release; until then this alpha path stays documented here.
Fleet migration
The same action + approval + evidence envelope is intended to map to a FleetTemplate later (product roadmap R4). Alpha runner is temporary.
Related
- Forge runner
- Governed workflows and rules — approval gates
- Contracts