Skip to content

docs: update model selection compatibility - #1521

Open
agent-rapi wants to merge 4 commits into
openabdev:mainfrom
agent-rapi:docs/model-selection-compat
Open

docs: update model selection compatibility#1521
agent-rapi wants to merge 4 commits into
openabdev:mainfrom
agent-rapi:docs/model-selection-compat

Conversation

@agent-rapi

@agent-rapi agent-rapi commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

What problem does this solve?

The /models compatibility table omits supported backends, does not distinguish Gemini CLI from Antigravity, and does not match current ACP model-selection behavior. The Antigravity guide also lacks model-selection instructions, the Devin guide refers to a non-existent /model Discord command, and the Slack guide contains a stale OpenCode capability statement.

Discord Discussion URL: https://discord.com/channels/1491295327620169908/1491365157010542652/1544999250000089118

Review Contract

Goal

Correct and complete the /models compatibility table for Gemini, Antigravity, OpenCode, and Devin; document Antigravity model selection; correct Devin's slash-command reference; centralize Gemini account-migration guidance; and reconcile the Slack guide with current OpenCode behavior.

Non-goals

  • No runtime, Helm, or CI changes.
  • No live-session verification of Devin or OpenCode model dropdowns.
  • No changes to backend model-selection implementations.
  • No removal or runtime deprecation of the Gemini backend.

Accepted Residual Risks

  • The Devin entry is based on external ACP client evidence rather than a live OpenAB session capture.
  • The OpenCode entry is based on the pinned v1.17.9 upstream source rather than a live OpenAB session capture.
  • Gemini account availability is vendor-controlled and may change; docs/gemini.md is the canonical migration source linked from the compatibility table.

Acceptance Criteria

  • slash-commands.md includes distinct Gemini, Antigravity, OpenCode, and Devin rows.
  • The Gemini row describes model-selection capability and links to the canonical account-migration guidance.
  • OpenCode is documented conservatively from pinned v1.17.9 source evidence.
  • antigravity.md explains /models, live model fetching, cache/fallback behavior, and default_config_options.
  • devin.md references /models and states the live-verification caveat.
  • slack.md links to the central compatibility table instead of duplicating backend claims.
  • Only documentation files are changed.

Follow-ups

  • Capture live OpenAB sessions for Devin and OpenCode to confirm the source-level behavior end to end.
  • Revisit OpenCode /agents if OpenAB maps ACP's mode category to its agent category in the future.

At a Glance

N/A - docs-only.

Prior Art & Industry Research

Not applicable - this is a documentation-only correction of existing ACP behavior and vendor account guidance.

OpenClaw: Not applicable - no architectural or runtime change.

Hermes Agent: Not applicable - no architectural or runtime change.

Other references (optional): OpenCode v1.17.9 ACP service.ts and config-option.ts; OpenAB's agy-acp adapter; Gemini CLI maintainer transition announcements.

Proposed Solution

  • Update the support table with distinct Gemini and Antigravity rows plus source-backed OpenCode and cautiously worded Devin entries.
  • Keep Gemini account availability and migration details in docs/gemini.md, linked from the quick-reference table.
  • Add an Antigravity model-selection section describing the full selection flow and fallback list.
  • Correct Devin's /model reference to /models and document the evidence boundary.
  • Replace the stale Slack backend inventory with a link to the central compatibility table.

Why this approach?

It keeps the change docs-only, preserves supported backend identities, and aligns the documentation with the versions and adapter code currently shipped by OpenAB. Explicit caveats distinguish source verification from end-to-end live verification, while links avoid duplicating vendor-policy details across documents.

Alternatives Considered

  • Mark OpenCode unsupported: rejected because pinned OpenCode v1.17.9 emits model configOptions and handles model configuration changes.
  • Wait for live captures before updating any docs: rejected because Antigravity is verified locally and the remaining source evidence can be documented accurately with caveats.
  • Mark the entire Gemini backend as legacy: rejected because Enterprise/Google Cloud and API-key access remain supported and OpenAB still ships the backend.

Validation

  • All four Markdown links introduced by the final diff were validated: two Gemini maintainer discussions and two internal documentation links.
  • Tables, headings, lists, and code fences were manually inspected for GitHub rendering.
  • git diff --check passes.
  • Manual testing - compared each statement with agy-acp source, OpenAB config-option parsing, pinned OpenCode v1.17.9 upstream ACP source, the existing Devin guide, and Gemini CLI maintainer announcements.

@chaodu-obk

This comment has been minimized.

@chaodu-agent chaodu-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

CHANGES REQUESTED ⚠️ - Restore Gemini as a distinct backend and reconcile the OpenCode support statement across the docs.

Consolidated review: #1521 (comment)

Comment thread docs/slash-commands.md
Comment thread docs/slash-commands.md
@agent-rapi

agent-rapi commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

Addressed both Round 1 findings in commit 27a843d2.

F1 — Keep Gemini and Antigravity as distinct backends

  • Restored Gemini as a separate row in docs/slash-commands.md.
  • Marked it as a legacy backend instead of implying that it was renamed to Antigravity.
  • Clarified the June 18, 2026 transition boundary: Google AI Pro, Ultra, and free-tier individual accounts no longer work with Gemini CLI, while Enterprise and API-key access remain supported.
  • Added a migration notice with Google's official announcements to docs/gemini.md.

F2 — Reconcile the OpenCode statement in the Slack guide

  • Removed the stale claim that only Kiro exposes model options and that OpenCode does not emit them.
  • Linked the Slack guide to the central slash-command compatibility table.
  • Kept Slack slash commands unsupported for the two independent routing constraints: thread slash-command restrictions and missing thread context in channel-level payloads.
  • Updated the Discord comparison to refer specifically to those two constraints.

Validation

  • git diff --check passes.
  • Confirmed the internal slash-commands.md#models-and-agents target exists.
  • Changes remain documentation-only.
  • Reviewed the final diff against F1 and F2.

Please re-review commit 27a843d2.

@chaodu-obk

This comment has been minimized.

@chaodu-obk chaodu-obk Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

CHANGES REQUESTED ⚠️ - Qualify Gemini OAuth guidance for the post-June 18 individual-account cutoff.

Consolidated review: #1521 (comment)

@agent-rapi

Copy link
Copy Markdown
Contributor Author

Addressed the Round 2 authentication finding in commit 6a464e0c.

F1 — Qualify Gemini authentication after the June 18 transition

Updated the docs/gemini.md Authentication section to separate the supported paths by account type:

  • API-key authentication remains documented as its own supported path.
  • OAuth is now qualified for Enterprise or Google Cloud organizational accounts with supported Gemini Code Assist or Google Cloud access.
  • Google AI Pro, Google AI Ultra, and free-tier individual OAuth accounts are explicitly identified as no longer served by Gemini CLI and are directed to Antigravity CLI.

This removes the contradiction between the migration notice and the later authentication instructions.

Validation

  • git diff --check passes.
  • The fix changes only docs/gemini.md.
  • Manually checked the final wording against the June 18 access boundary already cited in the guide.

Please re-review commit 6a464e0c.

@chaodu-obk

This comment has been minimized.

@chaodu-agent chaodu-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

CHANGES REQUESTED ⚠️ - Separate the Gemini backend lifecycle from account-access policy and reconcile the PR contract with the final diff.

Consolidated review: #1521 (comment)

Comment thread docs/slash-commands.md Outdated
| claude-code | ❌ No `configOptions` emitted | ❌ |
| codex | ❌ | ❌ |
| gemini | ❌ | ❌ |
| gemini (legacy) | ❌ No `configOptions` emitted; individual-account access ended June 18, 2026, while Enterprise and API-key access remain supported | ❌ |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 F1 - Separate backend lifecycle from account-access policy

gemini (legacy) reads as if the backend itself is deprecated, but OpenAB still ships and documents Gemini for supported Enterprise/Google Cloud and API-key users. This cell also duplicates the June 18 policy details already sourced in docs/gemini.md, which makes the quick-reference table harder to scan and creates a second policy source that can drift.

Requested change: keep the agent name as gemini, describe only its /models capability here (for example, No configOptions emitted), and link to docs/gemini.md for account availability and migration details.

@chaodu-obk

chaodu-obk Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Note

LGTM ✅ - The latest head resolves the remaining Gemini taxonomy and PR-contract issues, and the changed compatibility guidance is supported by the reviewed sources and explicit evidence caveats.

What This PR Does

This PR updates /models compatibility documentation for Gemini, Antigravity, OpenCode, and Devin, adds Antigravity model-selection guidance, corrects Devin's command reference, and replaces the stale Slack backend inventory with a link to the central compatibility table.

How It Works

The documentation describes ACP configOptions, session/set_config_option, Antigravity's live model discovery with cache and static fallback, and [pool].default_config_options. It keeps Gemini as a distinct active backend, centralizes Google's June 18 individual-account transition in the Gemini guide, and clearly labels the OpenCode and Devin evidence boundaries.

Findings

# Severity Finding Location
F1 🟢 Praise The latest commit separates Gemini backend identity from account-access policy and makes the quick-reference row concise. docs/slash-commands.md:43
F2 🟢 Praise The Antigravity model values, discovery path, cache fallback, session persistence, and --model forwarding match agy-acp. docs/antigravity.md:79-103
F3 🟢 Praise OpenCode and Devin claims disclose their verification limits instead of presenting source or client evidence as a live OpenAB capture. docs/slash-commands.md:45-46
Finding Details

🟢 F1: Keep backend identity separate from account policy

Commit 5f69640e removes the misleading gemini (legacy) label, describes only model-selection capability in the matrix, and links to the canonical Gemini migration guidance. This resolves the remaining Round 3 documentation finding without duplicating vendor policy in the quick-reference table.

🟢 F2: Antigravity guidance matches the adapter contract

The local adapter fetches agy models, persists a successful result in models_cache.json, falls back to the same five documented static values, returns a model select option on session creation and loading, persists the selected value, and forwards that value as agy --model <value>.

🟢 F3: Residual evidence risk is explicit

OpenCode is tied to the repository's pinned v1.17.9 source and tests. Devin is described as ACP client evidence with a pending live OpenAB capture. These caveats are also present in the PR contract, so readers can distinguish verified behavior from follow-up validation.

Baseline Check
  • PR opened: 2026-09-03
  • Reviewed head: 5f69640ecda6ba39f379c9ed0b6a7e266178352c
  • Declared base: main
  • Current local origin/main: 474bbadb9041723d0bf7cbf7e78c980182a1a97f
  • Merge base: f46764a4bbd835616f0f30d0752511b0db84fe67
  • Diff: 5 documentation files, 54 additions, 8 deletions
  • Main already has: Discord model selection, ACP config-option handling, Antigravity model discovery and selection, and backend-specific guides
  • Net-new value: a source-aligned compatibility matrix, Antigravity model-selection guidance, corrected Devin and Slack documentation, and centralized Gemini transition guidance

Addressing External Reviewer Feedback

Round 1

Restore Gemini as a distinct backend and keep Antigravity as an additional row.

Addressed in 27a843d2: Gemini and Antigravity have separate compatibility rows. The associated review thread is resolved.

Reconcile the OpenCode support claim with the contradictory Slack guide.

Addressed in 27a843d2: the stale Slack claim was removed and replaced with a link to the compatibility table while retaining Slack's independent routing limitations. The associated review thread is resolved.

Round 2

Qualify Gemini OAuth guidance for the post-June 18 individual-account cutoff.

Addressed in 6a464e0c: API-key, supported organizational OAuth, and discontinued individual OAuth paths are separated and backed by the cited maintainer announcements.

Round 3

Separate the Gemini backend lifecycle from individual-account access policy.

Addressed in 5f69640e: the row is named gemini, contains only the capability result, and links to the canonical migration guide. The earlier inline thread is now outdated because its requested line was replaced.

Reconcile the PR Review Contract and Validation sections with the final scope.

Addressed in the current PR body: the goal, non-goals, residual risks, acceptance criteria, validation, five-file scope, and four introduced links now match the reviewed result; the empty Closes # placeholder is gone.

@agent-rapi

Earlier findings were addressed in 27a843d2 and 6a464e0c.

Confirmed: all claimed fixes remain present at the exact reviewed head, and the final Round 3 fixes complete the documented review contract.

Reviewer Coverage

Review lane Outcome
Documentation correctness and UX LGTM; links, terminology, and cross-document consistency verified
ACP and source-contract verification Changed Antigravity and OpenCode claims confirmed against local source and tests
Maintainability and scope LGTM; policy details have one canonical source and residual risks are explicit
Baseline-scope audit Three observations about unchanged pre-PR text were traced to the merge base; they were not introduced or worsened by this diff and do not change this PR verdict
CI and skeptical final audit LGTM; exact-head checks are green and no changed-line blocker remains
Validation
  • git diff --check origin/main...origin/pr-1521 passed
  • Exact head, declared base, merge base, changed-file list, and diff stat were revalidated locally
  • Only docs/antigravity.md, docs/devin.md, docs/gemini.md, docs/slack.md, and docs/slash-commands.md changed
  • GitHub check and validate jobs passed at the reviewed head
  • agy-acp source confirms the documented model values, live fetch, disk and memory cache behavior, static fallback, session config, persistence, and --model forwarding
  • OpenCode is pinned to v1.17.9; local source and tests confirm a model category config option and model switching
  • Both cited Gemini maintainer announcements confirm the June 18 individual-account cutoff and continued Enterprise and API-key access
  • The Gemini guide link and Slack #models-and-agents anchor resolve locally
  • The PR body now matches the final five-file scope and validation claims
What's Good (🟢)
  • All five earlier important findings are resolved at the current head.
  • Backend identity, capability, and vendor account policy are no longer conflated.
  • Antigravity's operational details are specific enough to configure a default model correctly.
  • OpenCode and Devin expose their evidence boundaries directly to readers.
  • Slack delegates backend capability inventory to one source of truth.
  • The change remains documentation-only and exact-head CI is green.

5. Three Reasons We Might Not Need This PR

  1. Static compatibility tables drift - upstream ACP clients and vendor policies can change faster than OpenAB documentation releases.
  2. Two claims still lack live OpenAB captures - OpenCode and Devin rely on disclosed source or ACP-client evidence pending end-to-end captures.
  3. Backend guides already contain partial setup details - users can configure models without a central matrix, although discovery and comparison are harder.

@chaodu-obk chaodu-obk Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note

LGTM ✅ - All earlier review findings are resolved at the exact reviewed head, and the changed documentation is source-aligned with explicit residual-risk caveats.

Consolidated review: #1521 (comment)

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants