Repository navigation
Normalize agy, Muse and OpenCode events - #1050
Merged
Merged
Conversation
This was referenced Oct 22, 2026
Merged
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
agy, Muse and OpenCode now supply model/tool lifecycles, messages, usage and failures through the shared normalized Event interface from #983. Retained Muse records and OpenCode exports enrich the same completion timeline without counting a call twice.
Message snapshots carry an optional identity separate from their causal parent. Existing Claude/Grok/Codex message JSON stays unchanged when that identity is absent.
Closes #984
Evidence
After: all six exact commands pass; all six regression tests remain. The reconciled harness tests pass (166 passed, two intentional skips). The final Muse helper extraction also passes its 11 focused tests.
3061557f2b81e44300edf20a65c335f1283973a3; packaged artifact builds also passed.NEXTEST_TEST_THREADS=2 /usr/bin/time -p scripts/affected-tests origin/issue-700selected 2,265 Rust tests. It was stopped by its own session after 781.06 s, once equivalent exact-head CI passed, followingdocs/testing.md; this is an interrupted local run, not a local full-suite pass. Local compilation took 14.46 s. CI's successfulcargo teststep took 657 s, including 36.60 s compilation (execution time, not queue delay).decodeand progress-onlycondense; completion reconciliation through Muse transaction files; OpenCode standalone export acquisition and fallback; shared message identity across child scopes.Review coverage
Independent Standards and Spec reviews used
issue-700pinned atdd4b988392ac5f30fb159b524ceff883f6b4906c, including the #982/#983 changes that landed during implementation. Both axes read all 20 changed files. No generated exclusions or unread changed files. Reports with final files-read lists are saved in.thirdshift-review-dMqXYE/standards.mdand.thirdshift-review-dMqXYE/spec.mdin the worktree.Standards: three P3 duplication findings addressed. Spec: six reproduced behavior findings fixed, with their tests retained. The final reply-ID helper extraction was checked locally and by the Spec reviewer after the Standards follow-up.
Unaddressed findings
Standards
None. All three heuristic findings were addressed.
Spec
None. All six findings were reproduced and fixed; no decision was deferred.
Merge Danger
Door: two-way
Blast Radius: Sessions
Existing progress, Model evidence, summaries, diagnostics, Resume facts and final-message behavior remain covered by the existing tests. Normalized timelines add retained-record facts and message identity; trace writing and Console adoption remain later work.
Built with codex · gpt-6.1-sol · xhigh