Forge Platform

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_id values (schemas/local_runner_action.v1.schema.json).
  • No raw shell from Lenses or agents.
  • Only approvals with state: approved may 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.