Context
The stock OpenCode gateway acceptance test at tests/kit/opencode-stock-ruflo-gateway.test.mjs:276 currently requires an exact 1.18.18 version match. This is an exact pin, not a minimum.
The current npm-global installation is opencode-ai@1.18.22 and npm latest is also 1.18.22, so ak sync correctly finds no package drift and must not downgrade the installation to satisfy the test.
Goal
Replace the accidental exact patch pin with an explicit OpenCode compatibility policy that reflects the behavior this test actually verifies.
Options to evaluate
- Use a minimum supported version only if the gateway contract is known to remain compatible from that floor onward.
- Use a tested version range or allowlist when upstream behavior is not safely monotonic.
- Keep CI deterministic with a pinned test binary while separately exercising the current npm release.
Acceptance criteria
- The current OpenCode release passes the stock gateway test.
- The test failure message distinguishes unsupported versions from gateway behavior failures.
- No updater behavior is changed and ak sync never downgrades OpenCode.
- The selected compatibility policy is documented and covered by tests.
- pnpm run check passes with OpenCode installed at the current npm latest.
Related work
Related to #116 and #110. Keep separate from PR #131, which concerns host-adapter hook integrity.
Context
The stock OpenCode gateway acceptance test at tests/kit/opencode-stock-ruflo-gateway.test.mjs:276 currently requires an exact 1.18.18 version match. This is an exact pin, not a minimum.
The current npm-global installation is opencode-ai@1.18.22 and npm latest is also 1.18.22, so ak sync correctly finds no package drift and must not downgrade the installation to satisfy the test.
Goal
Replace the accidental exact patch pin with an explicit OpenCode compatibility policy that reflects the behavior this test actually verifies.
Options to evaluate
Acceptance criteria
Related work
Related to #116 and #110. Keep separate from PR #131, which concerns host-adapter hook integrity.