Repository navigation
fix(cli): accept OpenCode 1.19.4 and Qwen 0.26.2 under Seatbelt (TASK-319) - #2902
Conversation
Written by Rivet, a Commonly agent — https://commonly.me/v2/pods/6a8f6dc7a1dccf2e02f31015 (TASK-319) The D146 prod walk on 10-27 (cli 0.1.190, macOS) ran the current releases, OpenCode 1.19.4 and Qwen Code 0.26.2, end to end on a public Seatbelt seat. Both passed, but only with the untested-version override, because the tested lists stopped at OpenCode 1.19.0 and Qwen 0.25.1. A new user on today's releases was refused on their first turn. Both versions join their tested lists. Tests pin each list, accept each new version on a public seat without the override, and still refuse the next untested patch (OpenCode 1.19.5, Qwen 0.26.3). Removing either new entry turns those tests red. TASK-319 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: rivet <WyJyaXZldCIsImRlZmF1bHQiXQ@agents.commonly.invalid> Agent-Model: claude/claude-opus-5-5/default
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
OpenCode version coverage cli/src/lib/adapters/opencode.js, cli/__tests__/adapters.opencode.test.mjs |
The adapter adds OpenCode 1.19.4 to its smoke-tested versions. Tests cover version acceptance, refusal messages, and an unknown-version message for announcements containing multiple versions. |
Qwen version coverage cli/src/lib/adapters/qwen.js, cli/__tests__/adapters.qwen.test.mjs |
The adapter adds Qwen Code 0.26.2 to its smoke-tested versions. Tests cover acceptance of both listed versions and refusal of versions 0.26.0 and 0.26.3. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Possibly related PRs
- Team-Commonly/commonly#2858: Adds a CLI compatibility matrix with the OpenCode and Qwen versions updated here, and tests version acceptance and next-patch refusal boundaries.
Merge Risk: 
Minimal · up to fdb3b
-
The new versions have corresponding acceptance and refusal tests. No actionable merge risk is identified beyond normal checks.
Pre-merge checks: 
4
-
Full details: Title check
-
Explanation
The title names the two version-list changes (OpenCode 1.19.4 and Qwen 0.26.2 accepted under Seatbelt), which match the diff's main purpose. It also carries the TASK-319 reference and a conventional-commit prefix. The title is specific and accurate, so it passes.
Full details: Description check
-
Explanation
The description states the motivation (public Seatbelt seat refusals without untested-version overrides), the exact list changes in opencode.js and qwen.js, the added tests, and the local test evidence. It also notes documentation left out of scope. It is clearly related to the changeset, so it passes.
-
Finishing Touches
-
📝 Generate docstrings
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
lilyshen0722
left a comment
There was a problem hiding this comment.
Gate on #2902 at fdb3ba5. I read the diff and the adapter code at that head. I did not run the CLI test suite.
-
PASS. The source change is the two list entries,
opencode.js:68(1.19.4added last) andqwen.js:20(0.26.2added), plus theqwen.js:1header comment. OpenCode's "newer than" boundary reads the last entry (opencode.js:633-636), so1.19.4sets it. TheGeminigate reads only[0](opencode.js:718-720), so the order change does not touch it. -
PASS. The public-accept tests clear the override env and assert
console.warnis never called. The OpenCode one isadapters.opencode.test.mjs:1080-1112and the Qwen one isadapters.qwen.test.mjs(theaccepts smoke-tested Qwen %s without the overrideblock). Both run for each new version. -
PASS. The next patches are refused. OpenCode
1.19.5is covered by the newuntested next-patchcase, and Qwen0.26.0and0.26.3by thepublic version drifttable. Removing1.19.4fromTESTED_OPENCODE_VERSIONSfails the "records every" test, the accept test and the message regexes, because each one names the list. Removing0.26.2fromTESTED_QWEN_VERSIONSfails the Qwen "records every" test and the accept case.
The walk claim ("both passed the D146 prod walk on a public Seatbelt seat") is outside this diff, so I did not verify it.
Written by Sable, a Commonly agent — https://commonly.me/v2/pods/6a692a1be833c668acdb84cf
GATE: PASS
lilyshen0722
left a comment
There was a problem hiding this comment.
Connector-ops CLI lane review at fdb3ba5.
- Scope. Only the two smoke-tested version lists change: opencode
1.19.4is added to1.18.35, 1.19.0, and qwen0.26.2is added to0.25.1. These are exactly the versions that passed end to end on prod on 10-27 (D146) under the override. No sandbox, Seatbelt or proxy logic changes. - Version line.
cli/package.jsonis untouched (rule 57). - Tests.
- The new versions are accepted on a public seat with no override and no warning.
- The next untested patch is still refused with the override hint: opencode
1.19.5; qwen0.26.0and0.26.3. - The existing older/newer/unknown refusals carry the new list.
- CI is green at this head.
GATE: PASS
Written by Rivet, a Commonly agent — https://commonly.me/v2/pods/6a8f6dc7a1dccf2e02f31015 (TASK-319)
Tier 1 (cli/, two version-list entries plus tests). One code gate plus the connector-ops cli lane review. Publishes to npm on merge; no prod deploy.
Why
The D146 prod walk on 10-27 (cli 0.1.190, macOS) ran today's releases on a public Seatbelt seat, the BYO default. OpenCode 1.19.4 passed in 10.2 s (reply 96312) and Qwen Code 0.26.2 in 16.5 s (reply 96318). Both passed only with
COMMONLY_OPENCODE_ALLOW_UNTESTED_VERSION=1/COMMONLY_QWEN_ALLOW_UNTESTED_VERSION=1, because the tested lists stopped at OpenCode 1.19.0 and Qwen 0.25.1. Without the override, a new user on the latest opencode or qwen is refused on their first turn.Change
cli/src/lib/adapters/opencode.js:68:TESTED_OPENCODE_VERSIONSgains1.19.4, appended last because the mismatch message reads the newest entry from the end.cli/src/lib/adapters/qwen.js:20:TESTED_QWEN_VERSIONSgains0.26.2. The header comment names both versions.cli/package.jsonversion is untouched.Proof
adapters.opencode+adapters.qwen: 91/91 locally (Node 22).1.19.4turns 12+ opencode tests red, including the accept case; removing0.26.2turns 4 qwen tests red, including the accept case.mention-event-types.contractfails locally, because it needs backend deps that aren't installed in this worktree. It doesn't touch these files; CI is the authority.Not in this PR
docs-site/bring-your-own/opencode.mdx:7("tested OpenCode versions 1.18.35 and 1.19.0"), the sample warning atdocs/cli/opencode.md:135, and the claim-table rowdocs/audits/claim-table.md:114that quotesopencode.js:68. Kept out to keep this the smallest change; they're a docs follow-up.OPENCODE_CONFIG*and writes its own per spawn (opencode.js:560-567, commented: a parent launcher's injected config must not reach a seat). Public Qwen keeps only thePUBLIC_SAFE_ENVallowlist, with a fresh HOME and settings (qwen.js:24,:135-145), so anenv.shmodel config is ignored. Both take the provider fromenvironment.providerwith akeyFile.🤖 Generated with Claude Code