# Playground Runtime Runbook
Playground launches evaluations through Matraix Playground batch jobs. The Playground and
POST /api/harbor/jobs always use the same artifact layout under jobs/.
Execution planes
| Plane | Meaning |
|-------|---------|
| harbor (default) | API machine or local dev runs harbor run directly |
| remote | API dispatches taskType=harbor_job to a Remote Runner HTTP worker |
Configure the default plane:
`bash
export MATRIX_EXECUTION_PLANE=harbor # or remote
`
Optional per-request override: "plane": "harbor" or "plane": "remote" on
POST /api/harbor/jobs.
Option A: Local Matraix Playground (default)
Terminal A โ API
`bash
bash application/playground/backend/run_dev.sh
`
Terminal B โ frontend
`bash
cd application/playground/frontend && npm run dev
`
Open http://localhost:5173 and launch with Mode โ auto.
Option B: Remote Runner worker
Use this when the API should not execute harbor run locally.
Terminal A โ Remote Runner
`bash
PYTHONPATH=.:environment/runtime:packages/playground/src:application/playground:src \
uvicorn playground.remote_runner.server:app \
--host 127.0.0.1 --port 9100
`
Terminal B โ Playground API
`bash
export REMOTE_RUNNER_API_URL=http://127.0.0.1:9100
export MATRIX_EXECUTION_PLANE=remote
bash application/playground/backend/run_dev.sh
`
The worker must have access to the same repository checkout (tasks, personas,
jobs/ output directory). Production deployments typically mount a shared
jobs/ path or sync artifacts after each run.
Remote Runner API
GET /healthPOST /v1/runswith{"taskType": "harbor_job", "payload": {...}}GET /v1/runs/{id}GET /v1/runs/{id}/artifacts/{name}
Primary payload fields for harbor_job:
jobNameconfigYamlโ generated Matraix Playground job reciperepoRootjobsDirenvโ optionalPYTHONPATHplusMATRIX_*task exports only (no API keys)
API keys and other secrets must be configured on the worker process, not sent from the Playground API host.
Optional dev-only taskType=web returns a deterministic mock when
REMOTE_RUNNER_WEB_COMMAND is not set.
Environment variables
| Variable | Purpose |
|----------|---------|
| MATRIX_EXECUTION_PLANE | Default harbor or remote |
| REMOTE_RUNNER_API_URL | Remote runner base URL (required for remote) |
| REMOTE_RUNNER_API_KEY | Optional bearer token |
| REMOTE_RUNNER_INLINE | Run jobs inline in the API process (tests) |
| REMOTE_RUNNER_HARBOR_COMMAND | Override harbor CLI command on the worker |
Task types
Matraix Playground resolves execution per task metadata.type:
survey/chatbotโ host-native agents inautomodeweb/os-appโ docker oruse-computerbackends
See [quickstart.md](../quickstart.md) for terminal harbor run examples.