Repository navigation
fix(harness): verify managed OpenCode cancellation - #2
Closed
tbrandenburg wants to merge 1 commit into
Closed
tbrandenburg wants to merge 1 commit into
tbrandenburg wants to merge 1 commit into
Conversation
Author
|
Sorry for opening this PR here by mistake and creating unnecessary review work. This follow-up should have been evaluated against dagucloud/dagu, and I failed to recheck the upstream status before publishing it. Dagu maintainer Yota Hamada has since addressed my issue dagucloud#3448 in the merged PR dagucloud#3456, with an explicitly narrower scope. I am closing this provisional PR rather than asking you to merge a competing implementation. Thank you for your OpenCode V2 compatibility work, and apologies for the confusion. This closure concerns PR #2 only; the separate three-fix contribution in PR #1 is unaffected. |
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.
Summary
Verify managed OpenCode cancellation separately from the local DAG outcome. Timeout and Stop retain interruption/verification failures, reconcile the original owning process within a shared bounded budget, and fence unresolved execution instead of silently retrying or replacing it.
This is a separate stacked contribution against
codex/opencode-v2-compatibilityat85e9c8b, related to upstream #3367. It does not incorporate the three independent fixes in philo-x/dagu#1.Changes
resume=false; an acknowledgment alone cannot establish settlement.The generated Go diff includes the updated model and the compressed embedded OpenAPI document. Generated Go and TypeScript outputs were regenerated rather than hand-edited.
Related Issues
Closes dagucloud#3448
The author can merge/cherry-pick this independently; upstream incorporation can follow dagucloud#3367. The upstream closing reference is intended for that eventual integration.
Validation
Validated with Go 1.27.3 and the repository-pinned OpenCode 2.1.4 and 1.18.11 executables, using an isolated memory-backed Docker environment because the shared host filesystem was nearly full.
make fmtcompleted its Go fix/format phases, but its standard linter phase encountered a package-loading error.Successful focused commands (isolated-runner prefixes omitted):
Real E2E reproduction
Install the pinned executable using the existing
.github/opencodemanifest, then from the repository root:The test uses the real OpenCode binary and a controlled provider input fixture. A pass-through HTTP spy leaves responses unchanged. A writer transaction on the existing, canonicalized test-owned WAL database is released 500ms after the actual interrupt acknowledgment, deliberately delaying real terminal settlement. Three final coordinator runs waited another 581–602ms after acknowledgment, then verified the same owner PID was idle and shell effects remained unchanged for a further 300ms. An HTTP acknowledgment alone cannot pass this test.
Limits and follow-ups
ui/genpath exclusions can conceal builtin/agent findings. New contribution findings exposed by the stronger check were corrected; baseline findings were not opportunistically refactored.Checklist