Problem
Checkpoint APIs are unused in the extension; investigations lack an in-editor safety net.
Tracks under #1 (Phase 3).
Objective
Expose create/list/open/diff/revert as palette-first commands with confirmations on destructive revert.
Debt / regime
- Debt type: craft/UX + development
- Quality regime: B (product)
Requirements
- Commands:
GraphForge: Create Checkpoint…, List Checkpoints, Open Checkpoint, Diff Checkpoints…, Revert to Checkpoint….
- List via searchable QuickPick (name + time); details as markdown/JSON for agents.
- Open checkpoint: make read-only expectations clear (CheckpointView execute if exposed).
- Revert: confirm + type checkpoint name (or equivalent explicit confirm).
- Flat commands — no nested checkpoint wizard.
Acceptance Criteria
BDD Completion Scenarios
Scenario: Create and list
Given open project
When user creates checkpoint before-rank
Then List Checkpoints includes before-rank
Scenario: Revert confirm
Given an existing checkpoint
When user runs Revert without confirming
Then project generation is unchanged
Implementation Notes
- Node APIs:
checkpoint, listCheckpoints, openCheckpoint, diffCheckpoints, deleteCheckpoint, revertToCheckpoint
- Wire through session; ADR 0014 contract in engine docs
Observability
Toast on create/revert with checkpoint name + generation uuid when available.
Security And Privacy
Revert is destructive local project mutation — hard confirm required.
Testing
- Manual against temp project; skip or gate native CI if binding absent
- Unit for confirm gating logic
Documentation
- README Checkpoints; link engine checkpoint contract
Non-Goals
- Checkpoint UI timeline webview (list + diff docs sufficient for v1)
- Remote/multi-user sync
Related Issues
Open Questions
Problem
Checkpoint APIs are unused in the extension; investigations lack an in-editor safety net.
Tracks under #1 (Phase 3).
Objective
Expose create/list/open/diff/revert as palette-first commands with confirmations on destructive revert.
Debt / regime
Requirements
GraphForge: Create Checkpoint…,List Checkpoints,Open Checkpoint,Diff Checkpoints…,Revert to Checkpoint….Acceptance Criteria
BDD Completion Scenarios
Scenario: Create and list
Given open project
When user creates checkpoint
before-rankThen List Checkpoints includes
before-rankScenario: Revert confirm
Given an existing checkpoint
When user runs Revert without confirming
Then project generation is unchanged
Implementation Notes
checkpoint,listCheckpoints,openCheckpoint,diffCheckpoints,deleteCheckpoint,revertToCheckpointObservability
Toast on create/revert with checkpoint name + generation uuid when available.
Security And Privacy
Revert is destructive local project mutation — hard confirm required.
Testing
Documentation
Non-Goals
Related Issues
Open Questions