fix(ci): let OpenCode resolve unreviewed merge conflicts - #1132
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
marked this pull request as ready for review
August 18, 2026 23:52
seonghobae
enabled auto-merge (squash)
August 18, 2026 23:52
Contributor
Author
|
@opencode-agent Please review the exact current head |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Root cause
The trusted OpenCode conflict worker was already bounded: it revalidates the live base and head, performs a no-commit merge, seals Git's unmerged paths as the only model-writable scope, snapshots the full worktree outside the repository, rejects unresolved markers and out-of-scope writes, rechecks the live head, and pushes only a merge commit.
The scheduler prevented that worker from running unless the conflicting head already had a current-head approval. That prerequisite is circular: conflict repair creates a new head, so the repaired combination must receive fresh review and required checks regardless of the old head's review state. An unreviewed conflict such as #1098 therefore remained permanently undispatchable.
Change
--resolve-unreviewed-conflictspolicy to the scheduler while retaining the historical approval prerequisite for direct library callers that do not opt in;.githubself-caller at minute 21, one dispatch per pass and one-hour exact-head retry spacing;PR_REVIEW_MERGE_TOKEN,OPENCODE_APPROVE_TOKEN, or the established OpenCode GitHub App OIDC exchange;COPILOT_GITHUB_TOKENis not used;TDD and exact-head verification
The first commit introduced the conflict-selection and central-caller contracts before implementation. The initial GREEN attempts exposed two existing compatibility assumptions and one branch-coverage stub signature; each was repaired without weakening the new policy or changing direct-call defaults.
Final exact head:
408781c0f3d728418fae27f6858da60dd3c65bd8Hourly NVIDIA NIM Review Repairrun32198763125passed with:438statements,154branches)compileallandgit diff --check: passedResulting evidence order
This PR does not merge #1098 itself. Once this change reaches protected
main, the central hourly caller can dispatch the existing conflict worker against #1098 and future same-repository conflicts under the preserved safety boundary.