Harness Shaping — Operator Guide

How Federal Frontier shapes purpose-built SRE agent Jobs on OpenCode Runner or Claude Code runner: Remuda namespace, first tools, local scout, and quality gate.

Federal Frontier shapes purpose-built SRE agent Jobs on a shared Investigator harness. Runners are OpenCode Runner or Claude Code runner. Alert-class playbooks (and English problem briefs) select Remuda namespace, first tools, and scout brief — specialization is configuration, not a second runner fleet or a new binary per domain.

Architecture: ADR-033. Catalog: /docs/sre/sme-catalog/. Primary path: /docs/sre/.

Enable local scout (lab)

On sre-dispatch (lab, e.g. texas-dell-04):

- name: RUNNER_RUNTIME
  value: opencode   # or claude for Claude Code runner
- name: OPENCODE_LOCAL_SCOUT
  value: "1"
- name: OPENCODE_LOCAL_ONLY
  value: "0"   # do NOT default local-forever
- name: REMUDA_MCP_BASE
  value: http://internal-wanaku-router.remuda.svc.cluster.local:8080
- name: OPENCODE_RUNNER_IMAGE
  value: harbor.vitro.lan/ffp/opencode-runner:v1.4.3

Pinned images for this docs revision: sre-dispatch:v1.3.6, opencode-runner:v1.4.3. Claude Code runner remains a first-party RUNNER_RUNTIME option on the same harness shape.

Playbooks / SMEs

Source of truth: dispatch-controller/app/playbooks.py (living inventory).

Export Command
Markdown table python -m app.playbooks md (from dispatch-controller/)
YAML python -m app.playbooks yaml
Stats python -m app.playbooks stats
Wrapper scripts/export-sme-catalog.md
HTTP GET /sme-catalog (?format=md|yaml|json|stats)

The catalog lists specialist routes for automatic routing on the primary path. Each route is Remuda and playbook configuration on the shared harness (OpenCode Runner or Claude Code runner).

Job env when a playbook matches:

  • HARNESS_PLAYBOOK - SME id (e.g. k8s-pod-crash)
  • HARNESS_SME_DISPLAY_NAME - specialist display name
  • HARNESS_FIRST_TOOLS - Remuda MCP tool order (invoke as MCP tools, never bash)
  • HARNESS_SCOUT_BRIEF - one-line brief
  • LOCAL_FORCE_OUTCOME_AFTER_SECONDS - playbook override
  • Remuda MCP URL = REMUDA_MCP_BASE + playbook remuda_path

Quality gate (before Bedrock)

  1. Local Gemma scout runs with a short Remuda-only prompt (<=~2500 chars).
  2. Scout must call Remuda MCP tools (k8s_get / k8s_logs / …) - never bash or kubectl shell wrappers.
  3. Weak or shell-failed local outcomes escalate to Opus with the local transcript.
  4. Do not set OPENCODE_LOCAL_ONLY=1 as the lab/prod default.

Verify

  1. Fire CrashLoop vs PVC vs unknown alerts (or submit an English problem brief).
  2. Confirm Job label harness-playbook and env HARNESS_PLAYBOOK.
  3. Confirm session mcp.json path matches the SME (/ns-9/mcp vs /public/mcp).
  4. Confirm scout transcript shows MCP tool_use for Remuda tools (not bash).
  5. Confirm RUNNER_RUNTIME is opencode or claude as intended.

Eupraxia Labs · Federal Frontier · Platform docs