Configuration
Settings live in the database config table and are edited from the Config
surface in the TUI or GUI, or with PATCH /api/config. Secrets are separate:
credentials are stored encrypted (see Credentials).
GitHub
Section titled “GitHub”| Key | Purpose |
|---|---|
github_repo | owner/name the agent manages. |
pickup_labels | Comma-separated labels an issue must carry to be picked up. Empty means every issue. |
pr_merge_method | Preferred gh pr merge method: squash (default) or rebase. |
| GitHub App settings | App id / installation when authenticating as a bot (see the GitHub App guide). |
steelframe:needs_human always skips pickup, even when a pickup label is also
present: a parked task stays parked until a human responds.
Coding runtime
Section titled “Coding runtime”| Key | Values | Default |
|---|---|---|
coding_runtime | claude, grok, codex, opencode, pi (plus aliases) | claude |
coding_runtime_binary | Path or name of the CLI binary | the runtime’s default on PATH |
coding_runtime_context | Advertised context tokens (OpenCode compaction, Pi contextWindow) | 65536 |
coding_runtime_output | Advertised max output tokens (OpenCode, Pi maxTokens) | 16384 |
Workers and one-shot decisions use the selected runtime only; workflows never
hardcode a single vendor CLI. Workers set XDG_CONFIG_HOME to their sandbox so
a user-level opencode.json cannot override these limits.
Delivery
Section titled “Delivery”| Key | Values | Purpose |
|---|---|---|
delivery_profile | live (default) or source | Run the staging/production path, or merge when green. |
external_url | URL | Base URL used in links the agent writes. |
Capacity and safety
Section titled “Capacity and safety”| Key | Default | Effect |
|---|---|---|
dispatch_min_available_mb | 1024 | Do not spawn a worker below this MemAvailable. 0 disables. |
max_compile_slots | 1 | Flock around cargo/cargo-clippy. 0 disables. |
worker_memory_max | auto | Per-worker cgroup cap: auto, an explicit size like 8G, or off. |
auto_update_minutes | 5 | Release-channel poll interval. 0 disables. |
update_channel | stable | stable reads latest.json; beta opts into prereleases from beta.json. STEELFRAME_UPDATE_CHANNEL overrides the config. |
System units that use worker_memory_max need Delegate=yes; a user unit must
leave its service cgroup before memory limits can be attached.
Workflow intervals
Section titled “Workflow intervals”Singleton workflows run on intervals (for example harness_converge_minutes,
default 15). Each interval is a config key; inspect the Config surface for
the current set.
Environment-only
Section titled “Environment-only”Some settings are environment, not config: bind address/port, database URL, and the master key. See Install and Auth.