Skip to content

Slice: Route standard undo and redo through Echo causal history #273

Description

@flyingrobots

Goal

Make standard u and ctrl+r forward causal operations derived from Echo-retained history, with no process-local snapshot stack or request-to-receipt map acting as authority.

Acceptance criteria

  • Production undo does not use EditorState.undoStack snapshots to decide replacement bytes.
  • u selects an exact retained causal receipt from the buffer worldline and requests an installed-contract inverse from Echo.
  • The inverse is admitted as an ordinary forward intent whose receipt cites the inverted transition and the validated current-basis receipt set.
  • ctrl+r inverts the admitted undo receipt rather than restoring a process-local redo snapshot.
  • Terminating and reopening Jim reconstructs undo/redo availability and reversal provenance from Echo WAL/WSC history.
  • Process-local stacks and maps, if retained for navigation performance, are disposable projections rebuilt from retained causal evidence.
  • Missing receipts, retention gaps, stale bases, unmappable spans, and contract-version mismatches surface typed obstructions and never silently fall back to snapshot undo.
  • Restart witnesses prove edit -> undo -> redo and edit -> terminate -> reopen -> undo without process-owned authority.

Dependencies

Non-goals

  • Do not delete or rewrite prior transitions.
  • Do not use Git history as editor undo authority.
  • Do not treat cursor movement as a text mutation.
  • Do not retain full-buffer snapshots merely to implement undo.

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

    causal-ropeCausal rope text authority roadmapenhancementNew feature or requestsliceImplementable roadmap slicetext-authorityText authority and storage invariantswork-in-progressCycle or PR is intentionally in progress and not ready to merge

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions