Timeline vs Git History
Git tracks what changed. SnapBack understands who changed it and why.
Theyβre complementary toolsβuse both for complete development visibility.
The Fundamental Difference
| Aspect | Git | SnapBack Timeline |
|---|---|---|
| What it tracks | Commits you explicitly make | Every save, automatically |
| Granularity | Commit-level (you decide when) | Save-level (continuous) |
| AI awareness | None | Full attribution and context |
| Context captured | Commit message (optional) | Cursor, open files, AI tool, risk score |
| History model | Linear commits | Graph-based timeline with sessions |
| Primary purpose | Version control & collaboration | Understanding AI-assisted development |
Visual Comparison
Git History
commit a1b2c3d (HEAD -> main)
Author: you@email.com
Date: Tue Jan 14 15:30:00 2025
Add user authentication
- Implemented login/logout
- Added session management
- Fixed security issues
Git shows: What you committed and when
SnapBack Timeline
π src/auth/login.ts
βββ 3:30 PM (Cursor β οΈ) - Async conversion, 78% AI contribution
β βββ Risk: High - Pattern match: async_without_error_handling
βββ 3:28 PM (Manual β) - Added error logging
βββ 3:25 PM (Copilot) - Generated boilerplate, 92% AI contribution
βββ 3:20 PM (Manual β) - Initial function signature
βββ 3:15 PM (Session Start)
SnapBack shows: Every change, who made it, and context
When to Use Each
Use Git When
β Creating checkpoints
Meaningful milestones you want to name and share
β Collaborating with team
Sharing code, pull requests, code review
β Deployment history
Tracking what shipped to production
β Long-term history
Understanding project evolution over months/years
Use SnapBack Timeline When
π€ Understanding AI changes
βWhat did Cursor just do to my auth module?β
β±οΈ Navigating between saves
βGo back to 5 minutes ago, before I accepted that suggestionβ
π Comparing AI behavior
βDoes Cursor or Copilot work better for this file?β
π Debugging AI-introduced bugs
βWhen did this break, and which AI tool caused it?β
Real-World Scenarios
Scenario 1: Multi-File AI Refactor
What happened: Claude suggested refactoring your component library. You accepted. Tests are failing.
Gitβs view:
# No commits yetβyou haven't committed
git status: 4 files changed
SnapBackβs view:
Session: Component Library Refactor (Claude)
βββ Button.tsx - Styling changes (low risk)
βββ Input.tsx - API changes (medium risk) β οΈ
βββ Form.tsx - Prop renames (medium risk)
βββ validation.ts - Logic error (high risk) π΄
βββ Pattern: async_conversion_without_await
SnapBack advantage: You can navigate back to before the refactor, or selectively explore each fileβs changes with full context about what Claude changed and why it might be risky.
Scenario 2: Debugging a Production Issue
What happened: Users report login failures. Last deploy was 2 hours ago.
Gitβs view:
git log --oneline -5
a1b2c3d Add user dashboard
e4f5g6h Update dependencies
i7j8k9l Fix header styling
m1n2o3p Add authentication # <-- Probably this one
SnapBackβs view:
π src/auth/login.ts (last 2 hours)
βββ 1:45 PM - Copilot async conversion (91% AI) π΄
β βββ Changed: sync validateCredentials β async
β βββ Missing: await on return value
βββ 1:30 PM - Manual edit (your change)
βββ 1:15 PM - Copilot suggestion accepted
SnapBack advantage: You can see exactly which AI-generated change introduced the bug, even within a single Git commit.
Scenario 3: Learning from AI Behavior
What happened: You want to know which AI tool works best for your codebase.
Gitβs view:
# Git has no AI awareness
# You'd need to manually track this
SnapBackβs view:
π AI Tool Performance (last 30 days)
ββββββββββββββββββββββββββββββββββββ
Cursor: 85% success | Best for: TypeScript refactoring
Copilot: 89% success | Best for: Boilerplate, common patterns
Claude: 92% success | Best for: Architecture, comprehensive edits
Files with AI issues:
src/auth/login.ts - 3 issues (all Cursor)
src/db/queries.ts - 2 issues (mixed)
SnapBack advantage: You can make data-driven decisions about which AI tool to use for specific tasks.
How They Complement Each Other
Recommended Workflow
1. Work on feature with AI assistance
βββ SnapBack captures every change with context
2. Review SnapBack timeline
βββ Understand what AI changed
βββ Navigate back if needed
3. Commit to Git when ready
βββ Clean, intentional checkpoint
βββ Only vetted changes included
4. Continue development
βββ SnapBack timeline continues
βββ Git history stays clean
Best Practices
π Git Best Practices
- β’ Commit after verifying AI changes work
- β’ Write clear commit messages about intent
- β’ Donβt commit known broken code
- β’ Use branches for experimental AI work
π§’ SnapBack Best Practices
- β’ Review timeline before committing
- β’ Use sessions to group related changes
- β’ Check AI attribution on failing tests
- β’ Let pattern learning build over 30+ days
Technical Comparison
Storage Model
| Aspect | Git | SnapBack |
|---|---|---|
| Storage location | .git/ directory | .snapback/ directory |
| Data format | Object database (blobs, trees) | Binary state.bin + indexes |
| Compression | Delta compression | State-based deduplication |
| Typical size | Grows with history | Capped with retention policy |
| Sync | Remote repositories | Local-first, optional cloud |
Context Captured
| Context | Git | SnapBack |
|---|---|---|
| File contents | β Full diff | β Full state |
| Commit message | β Required | βͺ Optional note |
| Timestamp | β Commit time | β Save time |
| Author | β Committer | β + AI tool attribution |
| Cursor position | β | β |
| Open files | β | β |
| AI contribution % | β | β |
| Risk score | β | β |
| Pattern analysis | β | β |
Query Capabilities
Git queries:
git log --oneline # List commits
git show abc123 # Show commit details
git diff HEAD~5 # Compare with 5 commits ago
git blame file.ts # Line-by-line history
SnapBack queries:
snap timeline # Show protection states
snap show state_abc # Show state details
snap diff --time 5m # Compare with 5 minutes ago
snap blame file.ts # Line-by-line with AI attribution
snap patterns tools # AI tool performance
snap sessions # View session groupings
Migration and Coexistence
They Donβt Conflict
SnapBack and Git operate independently:
- SnapBack stores data in
.snapback/(add to.gitignore) - Git stores data in
.git/ - Neither modifies the otherβs data
- Both can run simultaneously
Recommended .gitignore Addition
# SnapBack local state (add this)
.snapback/
Summary
Use Git for:
- Version control and collaboration
- Deployment and release management
- Long-term project history
- Code review and pull requests
Use SnapBack for:
- Understanding AI-assisted development
- Navigating between saves with context
- Debugging AI-introduced issues
- Learning which AI tools work best
Together, they give you complete visibility into your development process.