diff --git a/bench/plugins/crew/results/2026-10-26-opencode-zen-refresh-CLAIMS.md b/bench/plugins/crew/results/2026-10-26-opencode-zen-refresh-CLAIMS.md new file mode 100644 index 0000000..627317e --- /dev/null +++ b/bench/plugins/crew/results/2026-10-26-opencode-zen-refresh-CLAIMS.md @@ -0,0 +1,20 @@ +# Batch 2026-10-26-opencode-zen-refresh — claims + +**Smoke notes, not run records.** n=1 per model, opencode v2.1.4. + +- `opencode models` listed eight free models: beam, deepseek-v4.1-flash, + flint-40b, glm-5.3-flash, mimo-v2.6-flash, nemotron-3-ultra, + nemotron-3.5-lightning and nemotron-3.5-super-vl. minimax-m3.1-flash, still in + crew's allowlist, was gone. +- `crew.py ask opencode "In one sentence: what does the Unix command 'tee' + do?" --model opencode/` answered correctly with `beam-free` (3 s) and + `flint-40b-free` (4 s). `nemotron-3-ultra-free` failed twice, 20 s apart: + `provider.invalid-request`, "Upstream request failed: Model is unavailable." + (400), so it stays out of the allowlist. +- Zen's docs, read the same day: deepseek and glm are zero-retention and + no-training; beam does not train and keeps data 30 days; flint and mimo may + train while free; the Nemotron models are logged by NVIDIA ("do not submit + personal or confidential data"). +- GitHub's plans page: "Copilot Free and Copilot Student both have an + allowance of AI credits", and both offer only auto model selection. crew's + note that Free had no free quota was wrong. diff --git a/plugins/crew/.claude-plugin/plugin.json b/plugins/crew/.claude-plugin/plugin.json index 7b3fbc2..b3f7732 100644 --- a/plugins/crew/.claude-plugin/plugin.json +++ b/plugins/crew/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "crew", "displayName": "Crew", - "version": "0.13.0", + "version": "0.14.0", "author": { "name": "4nrry", "url": "https://github.com/4nrry" diff --git a/plugins/crew/plugin.json b/plugins/crew/plugin.json index e92759b..76250e7 100644 --- a/plugins/crew/plugin.json +++ b/plugins/crew/plugin.json @@ -1,7 +1,7 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "crew", - "version": "0.13.0", + "version": "0.14.0", "description": "Another vendor's agent CLI as an isolated subagent, from any host: ask a read-only question or hold a multi-turn conversation (agy, opencode, Codex, Grok, Hermes, Copilot, Cursor, Muse, Kimi, or Claude Code from another host), get a second opinion on a diff, or delegate one coding slice to agy, opencode, Copilot, Codex, Grok or Cursor under the worker CLI's own hooks and a mechanical gate. Tiers (cheap, mid, top) map to a model and effort per backend. The verdict never reads the CLI's exit 0 as success.", "author": { "name": "4nrry", diff --git a/plugins/crew/skills/crew/references/copilot.md b/plugins/crew/skills/crew/references/copilot.md index 249bb0f..90516a8 100644 --- a/plugins/crew/skills/crew/references/copilot.md +++ b/plugins/crew/skills/crew/references/copilot.md @@ -10,8 +10,9 @@ python3 scripts/crew.py delegate /path/TASK.json --backend copilot ## When to use -Rarely, and knowing it costs: the Free plan has no free quota, so every run -spends AI credits (well under one per small run). It fits a slice where a model +Rarely, and knowing it costs: every run spends AI credits (well under one per +small run) from the plan's monthly allowance, which Free and Student plans also +get; GitHub does not publish its size. It fits a slice where a model from another family is wanted and **the whole gate runs without the worker**: it has no shell, so it cannot run tests, formatters or git. The brief must be enough without running anything. @@ -26,8 +27,9 @@ plugins, MCP servers and hooks (the verdict warns about hooks it finds in ## Model and credits -- Only `auto` is accepted. On a paid plan `"copilot_model_override": true` - allows another slug — an untested path; say so. +- Only `auto` is accepted: on Free and Student plans GitHub offers only auto + model selection. On a paid plan `"copilot_model_override": true` allows + another slug — an untested path; say so. - `max_ai_credits`: default and minimum 30 (the CLI refuses less). A brake on a runaway run, not a budget. - **Report `copilot.usage.ai_credits` to the user** after every run. diff --git a/plugins/crew/skills/crew/references/cursor.md b/plugins/crew/skills/crew/references/cursor.md index 01ba461..6bdbe2c 100644 --- a/plugins/crew/skills/crew/references/cursor.md +++ b/plugins/crew/skills/crew/references/cursor.md @@ -9,6 +9,9 @@ python3 scripts/crew.py delegate /path/TASK.json --backend cursor ``` Use it to spend Cursor plan quota on a slice. Never from Cursor itself. +With an X Subscription (Grok), the shared pool pays for Grok models in Cursor +only: the default `grok-4.7` spends it, while another vendor's model bills +Cursor's own plan. ## Before the first run diff --git a/plugins/crew/skills/crew/references/opencode.md b/plugins/crew/skills/crew/references/opencode.md index 295311d..09e640a 100644 --- a/plugins/crew/skills/crew/references/opencode.md +++ b/plugins/crew/skills/crew/references/opencode.md @@ -12,20 +12,25 @@ Use it when agy's quota is gone, or for extra slices at no cost. ## Models and data -Only these six are accepted. Zen rotates its free models: on 2026-10-22 -minimax left (`provider.no-route`), so the default and the `cheap` tier are -deepseek, `mid` is glm, and `top` is Nemotron Super VL (1M context, but NVIDIA -logs the prompts). Terms from the Zen docs; re-read them before relying on this -table, they change: +Only these seven are accepted. Zen rotates its free models, so check +`opencode models` before relying on the list: the default and the `cheap` tier +are deepseek, `mid` is glm, and `top` is Nemotron Super VL (1M context, but +NVIDIA logs the prompts). Terms from the Zen docs, checked 2026-10-26; re-read +them, they change: | Model | Data terms | |---|---| -| `opencode/minimax-m3.1-flash-free` (unavailable since 2026-10-22) | zero retention, no training | | `opencode/deepseek-v4.1-flash-free` (default) | zero retention, no training | | `opencode/glm-5.3-flash-free` | zero retention, no training | +| `opencode/beam-free` | no training; kept 30 days for safety | | `opencode/nemotron-3.5-super-vl-free` | logged by NVIDIA to improve its products: no personal or confidential data | | `opencode/nemotron-3.5-lightning-free` | same as Super VL | -| `opencode/mimo-v2.6-flash-free` | prompts may be used to improve the model while free | +| `opencode/mimo-v2.6-flash-free` | may be used to improve the model while free | +| `opencode/flint-40b-free` | may be used to improve the model while free; kept 30 days | + +Private code goes only to the two zero-retention models. Not accepted: +minimax (left Zen on 2026-10-22), and `nemotron-3-ultra-free`, which `opencode +models` lists but which answered "Model is unavailable" on 2026-10-26. ## The guard is weaker — tell the user diff --git a/plugins/crew/skills/crew/scripts/backends.py b/plugins/crew/skills/crew/scripts/backends.py index 7dd10f0..687c1ca 100644 --- a/plugins/crew/skills/crew/scripts/backends.py +++ b/plugins/crew/skills/crew/scripts/backends.py @@ -23,9 +23,10 @@ LIVE = {"claude": "2.1.310", "agy": "1.4.7", "opencode": "2.1.4", "grok": "1.0.70", "codex": "0.164.0", "hermes": "0.22.5", "copilot": "1.0.103", "cursor": "2026.10.22-27dcf5f"} -OPENCODE_MODELS = ("opencode/minimax-m3.1-flash-free", "opencode/deepseek-v4.1-flash-free", - "opencode/glm-5.3-flash-free", "opencode/mimo-v2.6-flash-free", - "opencode/nemotron-3.5-lightning-free", "opencode/nemotron-3.5-super-vl-free") +OPENCODE_MODELS = ("opencode/deepseek-v4.1-flash-free", "opencode/glm-5.3-flash-free", + "opencode/beam-free", "opencode/nemotron-3.5-super-vl-free", + "opencode/nemotron-3.5-lightning-free", "opencode/mimo-v2.6-flash-free", + "opencode/flint-40b-free") OPENCODE_DENY = {"permission": {"edit": "deny", "bash": "deny", "execute": "deny", "task": "deny", "external_directory": "deny"}} # --web: the same denials, web fetch and search allowed (fleet_worker's research runs). @@ -350,7 +351,7 @@ def b_kimi(s, prompt, model, effort, session, cwd, opts=None): read_only="--mode plan"), "opencode": dict(web=True, native_schema=False, vendor="opencode", bins=("opencode", "~/.opencode/bin/opencode"), build=b_opencode, parse=p_opencode, - # minimax (first) left Zen on 2026-10-22. top is the 1M-context + # top is the 1M-context # Nemotron, whose prompts NVIDIA logs: never for private material. tiers={"cheap": ("opencode/deepseek-v4.1-flash-free", None), "mid": ("opencode/glm-5.3-flash-free", None), diff --git a/plugins/crew/skills/crew/scripts/crew.py b/plugins/crew/skills/crew/scripts/crew.py index 1bfc897..54064cd 100755 --- a/plugins/crew/skills/crew/scripts/crew.py +++ b/plugins/crew/skills/crew/scripts/crew.py @@ -117,13 +117,13 @@ BACKENDS = ("agy", "opencode", "copilot", "codex", "grok", "cursor", "claude") # review keeps crew's guard hooks on these; every other backend reviews through ask. REVIEW_GUARDED = ("agy", "opencode", "copilot") -# minimax-m3.1-flash-free left Zen (provider.no-route, 2026-10-22); kept allowed should it return. OPENCODE_DEFAULT_MODEL = "opencode/deepseek-v4.1-flash-free" -# The only opencode models a run may use (the user's choice, 2026-10-21); the -# Zen data terms of each are in the opencode skill. -OPENCODE_MODELS = ("opencode/minimax-m3.1-flash-free", "opencode/deepseek-v4.1-flash-free", - "opencode/glm-5.3-flash-free", "opencode/nemotron-3.5-super-vl-free", - "opencode/nemotron-3.5-lightning-free", "opencode/mimo-v2.6-flash-free") +# The only opencode models a run may use: Zen's free list on 2026-10-26 (minimax +# left on 2026-10-22). The Zen data terms of each are in references/opencode.md. +OPENCODE_MODELS = ("opencode/deepseek-v4.1-flash-free", "opencode/glm-5.3-flash-free", + "opencode/beam-free", "opencode/nemotron-3.5-super-vl-free", + "opencode/nemotron-3.5-lightning-free", "opencode/mimo-v2.6-flash-free", + "opencode/flint-40b-free") # opencode 2.x dropped `--dir` (the run uses cwd = repo) and by default attaches # to a shared background service, which would not see this process's # OPENCODE_CONFIG_CONTENT and so would run without the guard plugin.