Summary
Explore crash-proof editing sessions where significant keystrokes, commands, or macro executions become deterministic Echo intents and can be recovered from WAL posture after restart.
Assessment
This is an excellent north-star UX, but the granularity needs care. Every raw keystroke as an intent may be too expensive/noisy; command batches, insert spans, macro invocations, and save checkpoints are more likely to be the right first proof. The idea is still structurally right: the editor should recover from Echo causal evidence, not volatile app undo state.
Proposed Experience
- User edits normally.
- Jedit batches meaningful editing actions into deterministic intents with stable ids.
- If the terminal or process crashes, restart recovers the pending/session history from Echo WAL evidence.
- The user can jump to exact ticks or replay command batches from the session.
Design Constraints
- Need a batching policy so intent history remains useful and performant.
- Recovery must distinguish admitted edits, pending submissions, rejected edits, and materialized saves.
- Jedit should not keep a private causal fallback log.
Proof Sketch
- Start an editing session and submit several command batches.
- Simulate process crash before normal app shutdown.
- Restart and recover from Echo evidence.
- Assert buffer content, dirty state, and edit history posture match recovered causal history.
Summary
Explore crash-proof editing sessions where significant keystrokes, commands, or macro executions become deterministic Echo intents and can be recovered from WAL posture after restart.
Assessment
This is an excellent north-star UX, but the granularity needs care. Every raw keystroke as an intent may be too expensive/noisy; command batches, insert spans, macro invocations, and save checkpoints are more likely to be the right first proof. The idea is still structurally right: the editor should recover from Echo causal evidence, not volatile app undo state.
Proposed Experience
Design Constraints
Proof Sketch