Runner state lives in ~/.roboticks/runner.yaml (or %APPDATA%\roboticks\runner.yaml on Windows). The file is created by rbtk-runner register and updated automatically on token rotation. You edit the capabilities and resource stanzas.
Capabilities are matched all-or-nothing against the job requirements declared in the test job’s payload. A runner missing a required capability is silently skipped — it never sees the job.
The runner mounts the matching /opt/ros/{distro} into the test container. List only the distros actually installed on the host; rbtk-runner doctor flags drift.
Jobs that need a GPU set requires_gpu: true in the payload. If model is also set on the job, the runner is matched only if its declared model contains the substring. See GPU setup for nvidia-container-toolkit configuration.
debug includes every HTTP request to the platform and the full Docker run command. Use it when diagnosing capability mismatches or upload failures.Per-invocation override:
On every heartbeat the platform may return a fresh runner_token. The runner writes the new token to runner.yaml atomically. Never copy runner.yaml between machines — each runner identity is bound to its host.
If runner.yaml is lost or corrupted, run rbtk-runner register again with a fresh registration token. The old runner identity will be reaped after 24 hours of missed heartbeats.