Module: RubynCode::Checkpoint

Defined in:
lib/rubyn_code.rb,
lib/rubyn_code/checkpoint/hook.rb,
lib/rubyn_code/checkpoint/manager.rb

Overview

Checkpoints let a user rewind a session, mirroring Claude Code’s /rewind. A checkpoint is taken at the start of each user turn and captures:

- the conversation state (so chat can be rolled back), and
- the original contents of every file mutated during that turn (so code
  can be restored).

File contents are captured lazily by Checkpoint::Hook on :pre_tool_use, just before a mutating tool runs, so only files that actually change are snapshotted.

Defined Under Namespace

Classes: Hook, Manager

Constant Summary collapse

ABSENT =

Marker stored for a path that did not exist when first touched, so a rewind deletes it rather than recreating empty content.

:absent