Skip to content

OpenCode: address remaining exact rewind compatibility limits #538

Description

@rynfar

Follow-up to merged #531 and completed upstream cycle #526; related to the broader rollback contract in #200. Verified exact rewind already works for eligible managed OpenCode sessions. This issue tracks its remaining native compatibility limits, not a reimplementation of that work.

Remaining cases:

  • Experimental native plan-file mode is ineligible: native forks regenerate session identity without copying the plan file derived from creation time/slug. Ordinary plan/history/resume remain usable.
  • Externally managed servers are ineligible because their API does not expose the runtime flags needed to prove plan-file mode is disabled.
  • Historical checkpoints without an immutable, verified native snapshot cannot be backfilled from relative turn counts.

Investigate native APIs for complete plan-context forks and observable server capabilities. Add support where exact source/target proof can be retained. For old checkpoints, enable reconstruction only if native history can prove the original Pylon boundary; otherwise document that limitation and the next native capability needed. Revisit when OpenCode adds fork support for external plan context, runtime capability introspection, or verifiable historical boundary reconstruction.

Acceptance:

  • Supported new cases preserve full inference context, permissions, original source compensation, idempotent retry and same-incarnation restart recovery.
  • Unsupported cases remain explicitly unavailable; do not change runtime flags, silently copy workspace files, or substitute relative counts to bypass proof.
  • Cover compaction, delayed callbacks, interruption and restart boundaries with focused regressions; retain ordinary plan/Stop/resume behavior.
  • Independently review the final diff and require green CI. Document supported native versions and any remaining upstream blockers with a concrete revisit trigger.

Existing evidence: #531 includes 363 focused tests and an isolated OpenCode 1.18.29 native import/fork smoke. No live model or rendered UI validation was claimed. Future runtime checks must use isolated state and respect the existing browser/account authorization boundaries.

Model: GPT-6. Harness: Codex.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions