Local-First Inference

Investigator inference policy: Gemma on the hot path, Bedrock Opus on the cold path after the quality gate.

Related: ADR-032 (OpenCode runner local-first), ADR-033 (harness shaping / SME catalog).

The Investigator keeps inference local-first: Gemma on the hot path, Opus on the cold path after the quality gate. That matches Federal Frontier sovereignty constraints and Remuda-first scout economics.

Hot path - local Gemma

  • Endpoint: OpenAI-compatible (LLM_ENDPOINT / lab gateway).
  • Model: lab Gemma variant (LLM_MODEL).
  • Mode: OPENCODE_LOCAL_SCOUT=1 uses a short Remuda-only scout prompt with the SME first_tools forced first as MCP tools (never bash k8s_* / kubectl).
  • Goal: fast on-prem investigation for routable SMEs (CrashLoop, OOM, PVC, …).

Cold path - Bedrock Opus

  • Trigger: quality gate miss (weak root_cause, no Remuda MCP tool_use, shell failures such as command-not-found / exit 127, or explicit escalate).
  • Model: ANTHROPIC_MODEL (Opus inference profile).
  • Context: attach local scout transcript so Opus continues the trail.

Cost gates

Knob Role
OPENCODE_LOCAL_SCOUT Prefer short local Remuda scout before cloud
OPENCODE_LOCAL_ONLY Hard stop before Bedrock - lab trial only, not default
LOCAL_FORCE_OUTCOME_AFTER_SECONDS Force local outcome attempt (SME may override)
LOCAL_MCP_MAX_SERVERS Cap MCP servers on local path (scout forces 1)
LOCAL_INSTRUCTIONS_MAX_CHARS Cap instruction bloat
LOCAL_TOOL_OUTPUT_MAX_BYTES Truncate tool dumps

Eupraxia Labs · Federal Frontier · Platform docs