Skip to content

Adapter upgrades from the provider-CLI deep-dives #451

Closed

Description

@currentbits

From the round-21 CLI doc-mines (full details in memory):

  1. KIMI: KIMI_MODEL_THINKING_EFFORT env var forces effort on the wire (bypasses declared support_efforts), and KIMI_MODEL_NAME + KIMI_MODEL_API_KEY carry a whole per-spawn model — the config.toml flip hack in electron/kimi.js is obsolete (see Kimi reasoning effort races concurrent kimi turns (global config.toml flip window) #181). Also: print-mode steer means kimi -p children can legitimately outlive their first answer; treat long-lived -p processes as normal in the watchdog, or scope KIMI_CODE_HOME with print_background_mode=exit for bounded turns.
  2. CODEX: exec --json has NO permission events — forwarding Codex permission prompts requires migrating the adapter to codex app-server stdio (also gives turn/steer with expectedTurnId, structured review, model discovery, version-pinned codegen). Note exec defaults to read-only; pass --sandbox workspace-write --ask-for-approval never for determinism. New worktrees are untrusted projects to Codex: pre-seed [projects.].trust_level or project config is skipped.
  3. OPENCODE: skip stdout parsing entirely — spawn opencode serve per worktree, consume GET /event SSE, drive prompts via POST /session/:id/prompt_async, answer permissions via POST permissions/:permissionID, inject config/MCP via OPENCODE_CONFIG_CONTENT + OPENCODE_PERMISSION env vars. Set OPENCODE_CLIENT=solenta and OPENCODE_DISABLE_CLAUDE_CODE=true to avoid cross-agent config bleed.

Activity

  1. currentbits commented on Aug 18, 2026

    @currentbits
    OwnerAuthor

    Round 20 adapter notes from Claude Code 2.1.216–2.1.234:

    • Todo tools removed from Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer (2.1.233). Planboard live steps that scrape TodoWrite will go dark on current models unless CLAUDE_CODE_ENABLE_TODO_TOOLS=1. Prefer the provider's plan/goal events, or our own planboard, not TodoWrite.
    • CLAUDE_CODE_PROJECT_DIR_NAME (2.1.234) — set this when we isolate config dirs (Named provider instances: work/personal accounts, isolated config dirs, OpenRouter #453).
    • SendMessage permission-classifier (2.1.222) — peer messages are now a permission-worthy action inside Claude. Mirror that when we forward peer_send from a bypass-permissions thread.
    • Nested subagent depth default flipped twice (1 → 3 in 2.1.219, back toward 1 in 2.1.217). Do not depend on a default; set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH explicitly if we care.
  2. currentbits commented on Aug 18, 2026

    @currentbits
    OwnerAuthor

    Round 21 Grok Build adapter notes (through 1.0.3, 12 Aug):

  3. currentbits commented on Aug 18, 2026

    @currentbits
    OwnerAuthor

    Round 28 intel on status detection: cmux (Ghostty-based macOS terminal for agents) gets reliable per-agent state by installing hooks into the agents themselves (cmux hooks setup detects installed agents and wires their hook systems to report working/waiting/done/error). This is the same pattern Solenta adapters use where providers expose hooks, and the ecosystem now expects it: agterm, herdr, and Orca (hook-based endpoint discovery for its dashboard) all do hook-driven status. Where a provider has no hooks, the fallbacks in the wild are PTY-output heuristics (fragile) and transcript-file watching (agent-console reads providers' own transcript files to find and resume sessions started elsewhere, no tmux needed). Adapter matrix should record which status channel each provider supports: native protocol events > hooks > transcript watching > PTY heuristics.

  4. added and removed on Oct 18, 2026
  5. currentbits commented on Oct 18, 2026

    @currentbits
    OwnerAuthor

    Round-21 items checked against the installed CLIs (kimi 0.39.1, codex 0.159.2, opencode 1.17.12) on 2026-10-18. Status:

    Kimi

    Codex

    OpenCode

    • Done on the same branch: thread and workflow turns set OPENCODE_CLIENT=solenta. Side benefit: opencode only registers its question tool for app/cli/desktop clients, and a headless run can't answer it.
    • Not adopted: OPENCODE_DISABLE_CLAUDE_CODE. It also stops opencode reading the project's CLAUDE.md, which would strip instructions from repos that have no AGENTS.md.
    • Still open: moving to opencode serve + SSE + permission forwarding. Offered as a separate thread suggestion.

    Electron suite with CODER_* env stripped: 4732 pass, 0 fail, 0 cancelled.

  6. added and removed on Oct 18, 2026
  7. currentbits commented on Oct 18, 2026

    @currentbits
    OwnerAuthor

    Landed from Solenta thread "Adapter upgrades from the provider-CLI deep-dives" (PR #1671). Closed on merge.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions