Skip to content

fix: reject invalid TUI transcript frames atomically - #3385

Merged
jsmestad merged 1 commit into
mainfrom
codex/issue-3302-transcript-transaction
Sep 16, 2026
Merged

jsmestad merged 1 commit into
mainfrom
codex/issue-3302-transcript-transaction

Conversation

@jsmestad

Copy link
Copy Markdown
Owner

Summary

  • prepare transcript mutations against one detached candidate before any frame publication
  • reject the complete frame with correlated retryable transcript-desync status when any transcript command cannot apply
  • publish ordered transcript commands once only after the frame passes validation
  • preserve committed window, chrome, transcript, scroll, and pin state on rejection
  • route shared conformance and Elixir recovery coverage through production transaction boundaries

Validation

  • go test ./...
  • mix test test/minga_editor/frontend/protocol_test.exs test/minga_editor/renderer/server_test.exs (175 tests)
  • mix protocol.gen --check
  • mix conformance (162 tests)
  • make lint
  • focused protocol bug hunt: no findings
  • final acceptance review: PASS, no warnings

Closes #3302

@jsmestad
jsmestad merged commit 407af47 into main Sep 16, 2026
11 checks passed
@jsmestad
jsmestad deleted the codex/issue-3302-transcript-transaction branch September 16, 2026 04:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TUI rejects complete frames when transcript updates cannot apply

1 participant