Skip to content

✨ [feat] host: detect OpenCode and read a config host key #39

Closed

Description

@EricTechPro

Problem

super-board cannot tell it is running inside OpenCode, and there is nowhere to record which host a project uses, so a shell with no host sign has to ask every time. Part of #30, decisions 2 and 6.

Context

  • Where: scripts/super-board-host.sh, tests/test-host.sh, skills/super-board/references/config-schema.json, scripts/super-board-setup.py (check)
    • a. After ✨ [feat] host: unknown host asks for a selection, not Claude #35, the script prints claude or codex from env signs, accepts SUPER_BOARD_HOST=claude|codex|opencode, and exits 65 when it finds no sign.
    • b. The board config has worker_backend (workflow / claude-p) and no host setting.
    • c. OpenCode is believed to export OPENCODE=1 to the shells it runs; confirm on a real OpenCode shell and record the version and variables in the script header, the way the Codex signal is recorded.
  • Who: the run orchestrator, onboard, and anyone using super-board from OpenCode.

Fix

Detect OpenCode from its env sign. Add a host config key (claude|codex|opencode), separate from worker_backend. super-board-host.sh --config <file> uses that key when no override and no env sign is present. Order: SUPER_BOARD_HOST, then Codex ids, then the OpenCode sign, then CLAUDECODE, then config host, else exit 65. Setup's check rejects any other host value.

Acceptance Criteria

  • tests/test-host.sh: the OpenCode sign alone prints opencode; SUPER_BOARD_HOST=claude with the OpenCode sign prints claude; a Codex id with the OpenCode sign prints codex.
  • tests/test-host.sh: an empty env with --config pointing at {"host":"codex"} prints codex; an empty env with no host key still exits 65.
  • config-schema.json documents host next to worker_backend, and a tests/test-setup.sh case shows setup's check flags "host": "gemini" and accepts each of the three values.
  • bash tests/run-safety.sh passes.

Risk

🟢 Low · additive detection; existing Claude and Codex signals keep their answers.

Blocked by

Activity

  1. added
    featureNew behaviour; built, tested, reviewed (super-board)
    on Oct 9, 2026
  2. EricTechPro commented on Oct 19, 2026

    @EricTechPro
    OwnerAuthor

    [builder] [feature] 🔨 scope update · PR #73

    Did: recorded a real OpenCode shell and built against it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew behaviour; built, tested, reviewed (super-board)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions