Skip to content

Round 44: Gemini CLI capability map (auto-loop-26)#122

Closed
AceHack wants to merge 4 commits intomainfrom
add-gemini-cli-capability-map
Closed

Round 44: Gemini CLI capability map (auto-loop-26)#122
AceHack wants to merge 4 commits intomainfrom
add-gemini-cli-capability-map

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 22, 2026

Summary

  • Adds docs/research/gemini-cli-capability-map.md as the third CLI capability map (verified against gemini --version 0.38.2).
  • Completes the three-substrate pilot reference set — Claude (v2.1.116) + Codex (v0.122.0) + Gemini (v0.38.2) now all documented with the same discipline.
  • Distinctive Gemini surfaces captured: --approval-mode plan (read-only), extensions/skills/hooks ecosystem split with hooks migrate bridging from Claude Code, --acp as the pilot-bridge analog, -w/--worktree as a top-level flag.
  • Three-wide comparison table across 15 concerns lets pilots see the calling-convention divergence at a glance.

Test plan

  • gemini --version → 0.38.2 (pinned in Status line)
  • gemini --help top-level surface captured
  • gemini mcp --help / extensions --help / skills --help / hooks --help subcommands enumerated
  • Both sibling maps reference "future companion" — this PR closes that pointer
  • Descriptive-not-prescriptive discipline preserved; "What this map does NOT say" scope-section present
  • No credentials in prose (Nazar review); persona-agent names per docs/EXPERT-REGISTRY.md (not human-contributor-name prose per BP-11)

Reviewer: Architect (Kenji); Aarav (skill-map hygiene); Nazar (no credentials); external auditors via docs/research/ (capability maps are safe-to-publish subset per Copilot-review memory-ref scope-explicit discipline).

…omplete

Adds docs/research/gemini-cli-capability-map.md as the third CLI
capability map (verified against gemini 0.38.2). Audience is
other AI pilots that may want to orchestrate Gemini as a
sub-substrate.

Completes the three-substrate pilot reference set that the
Claude (v2.1.116) and Codex (v0.122.0) maps already pointed at
as "future companion docs". Cross-substrate triangulation
discipline now fully documented.

Distinctive Gemini surfaces captured:
- --approval-mode plan (read-only analysis mode, no CLI
  equivalent in Claude or Codex maps)
- Extensions / skills / hooks as three parallel ecosystem
  mechanisms, with hooks migrate explicitly bridging from
  Claude Code
- ACP protocol as Gemini's pilot-bridge analog to MCP-serve
  on the other CLIs
- Worktree isolation as a top-level --worktree flag

Comparison table now three-wide (Claude / Codex / Gemini)
with 15 concerns mapped; structural observation on how each
CLI lands the interactive/non-interactive split differently
(flag-centric vs subcommand-heavy vs flag-with-interactive-
default).

Descriptive, not prescriptive — routing decisions remain
out-of-scope; this doc describes surfaces only.

Reviewer: Architect (Kenji); Aarav (skill-map hygiene);
Nazar (no credentials in prose); external auditors via
docs/research/ — capability maps are safe-to-publish subset
per Copilot-review memory-ref scope-explicit discipline.
Copilot AI review requested due to automatic review settings April 22, 2026 10:09
@AceHack AceHack enabled auto-merge (squash) April 22, 2026 10:09
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3c4bc929d3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

| YOLO / auto-all | `--dangerously-skip-permissions` | `--dangerously-bypass-approvals-and-sandbox` | `-y` / `--yolo` / `--approval-mode yolo` |
| Worktree isolation | Agent param `isolation: "worktree"` | (not a top-level flag) | `-w` / `--worktree` |
| Structured output | `--json-schema` + `--output-format=json` | `--output-schema` + `--json` | `-o text/json/stream-json` |
| Event-stream output | `--output-format stream-json` | (not surfaced) | `-o stream-json` |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Mark Codex as supporting event-stream output

The comparison currently says Codex does not surface event-stream output, but the sibling Codex map explicitly documents codex exec --json as emitting JSONL events (docs/research/openai-codex-cli-capability-map.md lines 51-56). This mismatch can mislead orchestration pilots into skipping a supported streaming path and building unnecessary workarounds; the table should reflect that Codex streams events via --json even without a stream-json flag name.

Useful? React with 👍 / 👎.

| Structured output | `--json-schema` + `--output-format=json` | `--output-schema` + `--json` | `-o text/json/stream-json` |
| Event-stream output | `--output-format stream-json` | (not surfaced) | `-o stream-json` |
| MCP serve (pilot bridge) | `claude mcp serve` | `codex mcp-server` | `--acp` (ACP protocol, not MCP) |
| MCP registry (as client) | `claude mcp add/list/...` | (via config.toml) | `gemini mcp add/list/enable/disable` |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Replace Codex MCP client row with actual CLI commands

This row says Codex MCP registry is only "via config.toml", but the existing Codex capability map documents dedicated codex mcp management commands (add/list/remove/...) as part of the CLI surface (docs/research/openai-codex-cli-capability-map.md lines 146-147). Keeping the row as-is pushes pilots toward direct config edits instead of the supported command interface, which makes automation more brittle when config structure changes.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a third CLI capability map for Google Gemini CLI to complete the Claude/Codex/Gemini “pilot substrate” reference set in docs/research/.

Changes:

  • Introduces docs/research/gemini-cli-capability-map.md documenting Gemini CLI v0.38.2 surfaces (interactive vs -p, model selection, approval modes, worktrees, extensions/skills/hooks, MCP/ACP).
  • Adds a three-way comparison table (Gemini vs Claude vs Codex) and orchestration calling patterns aligned with the existing maps.

on 2026-04-22. Revise when the CLI version changes materially.

**Audience:** other AI pilots (Claude Code CLI, OpenAI Codex
CLI, Amara ChatGPT-surface, Playwright-driven agents) that may
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

Operational standing rule prohibits direct contributor/agent names in docs; this file introduces the proper name "Amara" ("Amara ChatGPT-surface") instead of a role reference. Please rewrite to a role-based term (e.g., "ChatGPT surface") or link to a formally defined non-personal concept name, to keep docs stable across contributor turnover (docs/AGENT-BEST-PRACTICES.md:284-292).

Suggested change
CLI, Amara ChatGPT-surface, Playwright-driven agents) that may
CLI, ChatGPT surface, Playwright-driven agents) that may

Copilot uses AI. Check for mistakes.
Comment on lines +361 to +362
cross-substrate safety-check discipline (Amara-register)
extends to include Gemini as a first-class voice.
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The phrase "Amara-register" is used without any local definition or link target, and it also repeats the use of the proper name "Amara" which conflicts with the repo’s “no name attribution in docs” standing rule (docs/AGENT-BEST-PRACTICES.md:284-292). Please either replace it with a role-reference / generic term, or add a concrete link to the register/spec that defines this discipline.

Suggested change
cross-substrate safety-check discipline (Amara-register)
extends to include Gemini as a first-class voice.
cross-substrate safety-check discipline extends to include
Gemini as a first-class voice.

Copilot uses AI. Check for mistakes.
AceHack added 2 commits April 22, 2026 06:19
The "Session resume" row contained -r [latest|N] where the
literal pipe was interpreted by markdownlint as an extra
table column separator (5 columns, expected 4). Escaping
with backslash fixes the column count without changing the
semantic meaning (Gemini's -r accepts "latest" or an index
number).

Caught by lint (markdownlint) check on PR #122.
Copilot AI review requested due to automatic review settings April 22, 2026 10:31
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 6 comments.

Comment on lines +87 to +92
| Mode | Behaviour |
|-------------|-----------------------------------------------------------------|
| `default` | Prompt for approval on each tool call. |
| `auto_edit` | Auto-approve edit tools (file write/edit); ask for the rest. |
| `yolo` | Auto-approve all tools (same as `-y` / `--yolo`). |
| `plan` | Read-only mode. The agent analyses and plans but takes no writes. |
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The approval-mode table is written with a double leading pipe (|| ...). In standard Markdown this renders an empty first column and can misalign the table. Use a single leading | for each row (and keep the same number of columns across rows).

Copilot uses AI. Check for mistakes.
Comment on lines +299 to +302
| Concern | Claude Code | OpenAI Codex | Google Gemini |
|-------------------------------|-----------------------------------------------|---------------------------------------------------|----------------------------------------------|
| Non-interactive | `--print` / `-p` (flag) | `codex exec` (subcommand) | `-p` / `--prompt` (flag) |
| Model/capability lever | `--effort low..max` (discrete tiers) | `-m` / `-c model="..."` + `--profile` | `-m` / `--model` |
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The comparison table also uses || at the start of each row, which typically creates an unintended empty first column in Markdown renderers. Switch to a single leading | per row so the table renders consistently with the other capability maps.

Copilot uses AI. Check for mistakes.
Comment on lines +252 to +253
gemini -p -m "$M" --approval-mode plan \
"$TASK_PROMPT" > "/tmp/run-$M.txt"
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

In the stepdown loop example, -p/--prompt appears before other flags and the prompt argument is provided later. Many CLIs require an option's value to immediately follow the option, so this can be parsed as -p receiving -m (or --approval-mode) as its value. Reorder so the prompt value immediately follows -p (or use --prompt "..." at the end).

Suggested change
gemini -p -m "$M" --approval-mode plan \
"$TASK_PROMPT" > "/tmp/run-$M.txt"
gemini -p "$TASK_PROMPT" -m "$M" --approval-mode plan \
> "/tmp/run-$M.txt"

Copilot uses AI. Check for mistakes.
Comment on lines +266 to +268
gemini -p --approval-mode plan \
"map the public API of $REPO and list undocumented surfaces"
```
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

This example has gemini -p --approval-mode plan ... with the prompt string coming later. If -p requires an immediate argument, this will misparse (--approval-mode becomes the prompt). Place the prompt right after -p/--prompt, or move -p to the end immediately before the quoted prompt.

Copilot uses AI. Check for mistakes.
event-by-event consumption:

```bash
gemini -p -o stream-json "$PROMPT" | \
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The stream-json example uses gemini -p -o stream-json "$PROMPT". If -p expects its value immediately, -o may be consumed as the prompt value. Consider ordering flags as gemini -o stream-json -p "$PROMPT" (or --output-format ... --prompt ...) to avoid ambiguous parsing.

Suggested change
gemini -p -o stream-json "$PROMPT" | \
gemini -o stream-json -p "$PROMPT" | \

Copilot uses AI. Check for mistakes.
Comment on lines +285 to +286
gemini -w agent-run-$(date +%s) -p --approval-mode auto_edit \
"implement the plan in PLAN.md"
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The worktree example has -p before --approval-mode auto_edit, with the prompt argument on the next line. If -p requires an immediate value, this will likely treat --approval-mode as the prompt and fail. Reorder so -p is immediately followed by the quoted prompt (or use --prompt).

Suggested change
gemini -w agent-run-$(date +%s) -p --approval-mode auto_edit \
"implement the plan in PLAN.md"
gemini -w agent-run-$(date +%s) -p \
"implement the plan in PLAN.md" --approval-mode auto_edit

Copilot uses AI. Check for mistakes.
@AceHack AceHack mentioned this pull request Apr 22, 2026
4 tasks
AceHack added a commit that referenced this pull request Apr 22, 2026
Covers: wink-validation watch row PR #124 (rule-application
promotion, path-ii distinct from pattern-recognition path-i),
absorb-and-contribute community-dependency discipline named
(harness block on npm install honored as aligned-with-discipline),
upstream-contribution-to-any-repo authorization, AI-identification
simplification ("just say it's AI") + AceHack handle preservation,
ceremony-dial-down directive, five-tier degradation ladder
extended with poor-tier (survival concern vs cheap's budget
concern), Twitter + DeBank social-substrate grant, PR #122
Gemini-map rebase to clear BEHIND, Grok-CLI three-path
substrate-class analysis.

Fourth consecutive tick holding accounting-lag same-tick-
mitigation discipline (substrate-improvements + substrate-
accounting in same session, separate PRs).

First tick to exercise explicit rule-application promotion
(executing a stated count-threshold when it fires, rather
than deferring the call to maintainer).

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
@AceHack AceHack mentioned this pull request Apr 22, 2026
5 tasks
AceHack added a commit that referenced this pull request Apr 22, 2026
Records: Grok CLI capability map drafted as pre-install sketch
(PR #126, on branch add-grok-cli-capability-map-sketch), two
upstream PR targets pre-triaged inline (ESLint 9 flat-config
migration; import type fix in src/utils/model-config.ts), PR
#122 + #124 rebased to clear BEHIND after PR #125 merged,
live wink-validation on source-tree-inference methodology
(occurrence-1 of new sub-pattern, noted not filed), and
late-tick Escro directive captured (maintain every dep →
microkernel OS endpoint, grow-our-way-there no-deadlines
cadence — memory filed, open questions flagged to maintainer,
no BACKLOG row yet per stated cadence).

Compoundings-per-tick = 10. Open-PR-refresh-debt cleared 2
(PRs #122, #124). Hazardous-stacked-base-count = 0.
Nineteenth clean auto-loop tick across compaction.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
@AceHack
Copy link
Copy Markdown
Member Author

AceHack commented Apr 24, 2026

Superseded by PR #365 (Gemini CLI v0.39.1 capability map — merged this session) and PR #367 (cross-harness skill-discovery verified). The content of this earlier auto-loop-26 Gemini CLI capability map has been fully replaced by the 2026-04-24 research that cited live probes on gemini --version 0.39.1, verified against geminicli.com docs. Closing to reduce queue size. Reopen if something was missed in the newer landing.

@AceHack AceHack closed this Apr 24, 2026
auto-merge was automatically disabled April 24, 2026 13:47

Pull request was closed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants