Repository navigation
Conversation
|
This no longer merges into All of it is prose, so taking staging's text and re-applying your lines on top should be the whole job. git fetch origin
git merge origin/staging
# resolve, then
uv run pytest tests/ -q
uv run ruff check code_review_graph/
uv run mypy code_review_graph/ --ignore-missing-imports --no-strict-optional
git pushI have not reviewed the change itself yet. That comes once it merges and the checks run against the merged state, since staging has moved a long way and the result is what matters. |
|
Thank you for this PR. I tested the plugin on real OpenCode 2.0.7, 2.0.24, 2.0.25 and 2.0.29. It works well on 2.0.25 and newer. Before I can merge it, please fix these:
The failing tests are on the branch After you push the fix, I will test it again. |
Linked issue
Closes #1038.
What & why
The installed OpenCode plugin now exports a V2 definition object with
idandsetup. The previous function export andapp.onhooks fail the OpenCode 2.x loader. Session status usesctx.event.subscribe; successful edits and pre-commit analysis usectx.tool.hook. Subprocesses useexecFilewith argv arrays, fixing the Bun shell helper's whole-command escaping bug.OpenCode 2.0.0–2.0.24 cannot resolve
@opencode/pluginat runtime. The template keeps it type-only and exports the object directly:The changelog entry is under
[Unreleased]; released 2.3.9 still shipped the V1 template. The branch includes currentstagingthroughd72e8fb.How it was tested
Both maintainer regressions failed before the fixes. Copied
tests/test_opencode_v2_plugin_contract.pyfromreview/pr-1039and removed bothxfailmarkers. Its runtime harness now loads the generated TypeScript without an@opencode/pluginstub, exercises the event/tool hooks and subprocess behavior, and checks install/reinstall/uninstall. The changelog test also requires the entry under[Unreleased].ce577d676a1e233d7cd7169c2055fd4f1ef1de51: 5069 passed, 834 skipped, 46 deselected, 3 xfailed, 2 xpassed; 86.67% coverage.Checklist