Problem
packages/opencode/test/skill/release-v0.8.5-adversarial.test.ts → test "docs point at the action patch, not the already-published broken tag" derives the version from the CHANGELOG's top entry and asserts it equals a hardcoded "0.8.5":
const version = changelog.match(/^## \[(\d+\.\d+\.\d+)\] - .../m)?.[1]
expect(version).toBe("0.8.5")
Once 0.8.6 shipped, the changelog top became 0.8.6, so this permanently fails (Expected "0.8.5", Received "0.8.6"). It's broken on main and blocks every current PR (observed on #918 and #854). Only the 0.8.5 gate has this pattern; 0.8.6's does not.
Fix
The 0.8.5 gate is specific to the 0.8.5 release (docs point at the patched @v0.8.5, not the broken @v0.8.4). Pin it to the constant "0.8.5" and assert that entry exists in the changelog rather than that it's the latest. The docs assertions already pass (docs reference @v0.8.5).
Problem
packages/opencode/test/skill/release-v0.8.5-adversarial.test.ts→ test "docs point at the action patch, not the already-published broken tag" derives the version from the CHANGELOG's top entry and asserts it equals a hardcoded"0.8.5":Once 0.8.6 shipped, the changelog top became
0.8.6, so this permanently fails (Expected "0.8.5", Received "0.8.6"). It's broken on main and blocks every current PR (observed on #918 and #854). Only the 0.8.5 gate has this pattern; 0.8.6's does not.Fix
The 0.8.5 gate is specific to the 0.8.5 release (docs point at the patched
@v0.8.5, not the broken@v0.8.4). Pin it to the constant"0.8.5"and assert that entry exists in the changelog rather than that it's the latest. The docs assertions already pass (docs reference@v0.8.5).