Exploring Tools
Checkpoints and Messages

Version Control and Message Management

Workspace Checkpoints

When collaborating with AI coding assistants, maintaining control over your codebase is essential. Bwat's Checkpoint system provides a robust safety net for confident experimentation.

Checkpoints automatically capture workspace snapshots after each task step, enabling you to:

  • Monitor and review incremental changes
  • Revert to any previous state when needed
  • Experiment freely with auto-approve enabled
  • Maintain complete workspace control

⚙️ Checkpoint Functionality

Bwat generates checkpoints after each operation (file modifications, command execution, etc.). These checkpoints:

  • Operate independently of your Git workflow
  • Preserve contextual continuity
  • Utilize a dedicated shadow repository for change tracking

For instance, during feature development where Bwat makes multiple file changes, each modification creates a checkpoint. This allows you to review every alteration and potentially revert to any prior state without impacting your primary Git repository.

Reviewing Changes & Restoration Options

After each operation:

  • Select "Compare" to examine file modifications
  • Choose "Restore" to access version recovery options
Checkpoint comparison and restoration interface

Version Restoration

To return to a previous state:

  • Click "Restore" adjacent to any step
  • Select from three restoration modes:
    • Full Restoration: Reset both codebase and task context
    • Task Context Only: Maintain code changes while reverting task state
    • Workspace Only: Revert code changes preserving task context

Example: If unsatisfied with component styling modifications, use "Workspace Only" restoration to undo code changes while retaining conversation context for alternative approaches.

💡 Practical Applications

Checkpoints facilitate experimental development with Bwat. While human coding typically follows methodical iteration, AI can implement substantial changes rapidly. Checkpoints provide version control for these transformations.

  1. Auto-Approve Utilization

    • Enables safe rapid iteration
    • Simplifies reversal of undesired outcomes
  2. Multi-Approach Testing

    • Confidently evaluate alternative solutions
    • Compare implementation variants
    • Quickly return to functional states
    • Ideal for architectural exploration
Checkpoint restoration demonstration

In this scenario, I restored both codebase and task to their original states after unsatisfactory modifications to my robotic dog-walking platform (still in development).

✨ Optimal Practices

  • Utilize checkpoints as safety mechanisms during experimentation
  • Employ auto-approve mode more aggressively with rollback assurance
  • Select restoration type strategically:
    • "Full Restoration" for complete resets
    • "Task Context Only" for prompt refinement
    • "Workspace Only" for implementation alternatives

🛟 Checkpoints function as your development safety net, enabling creative exploration while preserving control. Whether refactoring complex systems, evaluating architectural approaches, or leveraging auto-approve for rapid prototyping, checkpoints ensure reversible experimentation.

🗑️ Checkpoint Removal

Delete all checkpoints via the "Delete All History" option in the task history menu. Note this action also clears all task records. Checkpoints reside in VS Code's globalStorage.

Message Editing

Bwat permits post-submission message editing (excluding initial task messages) for:

  • Result refinement
  • Request rephrasing
  • Additional context inclusion

Two restoration options exist:

  • "Chat Restoration": Reverts task state and resubmits with edited message
  • "Complete Restoration": Reverts both task and workspace states before resubmission

Editing Interface:

  • Click messages to activate edit mode
  • Bwat auto-selects all text when editing

Keyboard Controls:

  • Escape: Exit editing
  • Enter: Restore task only
  • Cmd/Ctrl + Enter: Restore task and workspace
  • Shift + Enter: Insert line break
Message editing interface