Skip to content

The Time Graph

Development's Fourth Dimension

Traditional version control gives you snapshots. The Time Graph gives you a living timeline — where every decision, every change, and every possibility exists simultaneously in an explorable, multi-dimensional space.

The Problem with Linear History

Git and other VCS tools show you a flat, linear progression:

  • Commits are just diffs
  • Context is lost in commit messages
  • Decisions aren't tracked
  • Alternatives vanish
  • Debugging means archaeology

The Time Graph transforms this into something fundamentally more powerful.

The Multi-Dimensional Codebase

Beyond Branches

Traditional:

main ──●──●──●──●──● (now)

Time Graph:

         ┌─ Attempt 1 ─── Failed ────┐
         │                           │
main ────┼─ Attempt 2 ─── Success ───┼─── Merged ─── Future
         │                           │
         └─ Attempt 3 ─── Partial ───┘

              └── Each attempt contains:
                  - Full context
                  - Decision rationale
                  - Performance metrics
                  - Team discussions
                  - Alternative approaches

Core Capabilities

1. Decision Nodes

Every architectural decision becomes a permanent, queryable node:

yaml
node: '2024-01-15-14:30:00'
type: 'architectural-decision'
title: 'Switch from REST to GraphQL'
context:
  problem: 'N+1 queries killing mobile performance'
  constraints:
    - 'Must maintain backward compatibility'
    - 'Cannot increase backend complexity'
  options-considered:
    - REST-optimization: 'Rejected: Too complex'
    - GraphQL: 'Accepted: Solves N+1, good tooling'
    - gRPC: 'Rejected: Client compatibility issues'
participants: ['alice', 'bob', 'charlie']
outcome: 'Implemented GraphQL gateway'
metrics:
  before: 'Avg response: 2.3s'
  after: 'Avg response: 0.4s'

2. Causal Chains

Track cause and effect across time:

User Report: "App crashes on login"

Time Graph traces backward...

3 hours ago: "Login API response format changed"

6 hours ago: "Backend validation updated"

2 days ago: "Security patch applied"
    ← ROOT CAUSE FOUND

3. Parallel Timelines

Explore "what if" scenarios without disruption:

yaml
timeline-alpha:
  approach: 'Microservices'
  status: 'Testing in staging'
  metrics: 'Good isolation, high complexity'

timeline-beta:
  approach: 'Modular monolith'
  status: 'Testing in staging'
  metrics: 'Simple deployment, harder to scale'

decision-point: '2024-02-01'
chosen: 'timeline-beta'
reason: 'Complexity not justified for our scale'

4. Knowledge Preservation

Never lose context again:

  • Why did we deprecate that API?
  • Who decided on this architecture?
  • What alternatives did we consider?
  • When did performance degrade?
  • How did we solve this before?

Practical Applications

Debugging Across Time

bash
# Find when the bug was introduced
hatcher time-graph bisect --bad HEAD --good v1.0.0 --test "npm test"

# See what changed in the critical period
hatcher time-graph diff --from "last-working" --to "first-broken"

# Replay the exact state at crash time
hatcher time-graph replay --timestamp "2024-01-15T14:30:00" --with-state

Architecture Evolution

Track how your system evolved:

yaml
query: 'Show database evolution'
result:
  2021: 'SQLite - MVP phase'
  2022: 'PostgreSQL - Scaling up'
  2023: 'PostgreSQL + Redis - Caching layer'
  2024: 'PostgreSQL + Redis + Elasticsearch - Search features'

Each transition includes:
  - Migration strategies
  - Rollback plans
  - Performance benchmarks
  - Lessons learned

Team Knowledge

The Time Graph captures human intelligence:

yaml
query: 'Who knows about payment integration?'
result:
  experts:
    - alice: 'Implemented Stripe integration'
    - bob: 'Debugged webhook issues'
  decisions:
    - 'Chose Stripe over PayPal (2023-03-15)'
    - 'Added idempotency keys (2023-06-20)'
  problems-solved:
    - 'Double charging bug (2023-07-10)'
    - 'Webhook replay issue (2023-09-05)'

Integration with HATs

The Time Graph powers every HAT:

  • Code HAT: Shows code evolution patterns
  • Gen HAT: Tracks generation history
  • Visual HAT: Visual regression timeline
  • Time Graph HAT: Direct timeline manipulation

The Philosophical Shift

From State to History

Traditional development thinks in states:

  • Current code
  • Current bugs
  • Current features

Time Graph thinking embraces history:

  • How we got here
  • Why we made choices
  • What we learned
  • Where we're going

From Individual to Collective

The Time Graph transforms individual knowledge into collective intelligence:

  • Decisions are documented automatically
  • Context is preserved forever
  • Patterns emerge from history
  • Mistakes become lessons

The Future of Development

With the Time Graph, we can:

Learn from Patterns

yaml
pattern-detected: 'Performance degrades after deploys'
analysis:
  - 'Cache not warming properly'
  - 'Happens every 3rd deploy on average'
  - 'Solution applied 5 times before'
recommendation: 'Implement cache warmup in CD pipeline'

Predict Problems

yaml
prediction: 'Database will hit connection limit'
based-on:
  - 'Current growth rate: 10% weekly'
  - 'Historical pattern: Issues at 80% capacity'
  - 'Time to limit: ~3 weeks'
action: 'Scale connection pool now'

Optimize Decisions

yaml
similar-decision: 'Choosing message queue'
previous-instances:
  - 2023: 'Chose RabbitMQ - worked well'
  - 2022: 'Chose Kafka - over-engineered'
  - 2021: 'Chose Redis Pub/Sub - outgrew it'
recommendation: 'RabbitMQ fits your scale'

The Temporal Revolution

The Time Graph isn't just a feature — it's a fundamental shift in how we think about code:

  • Code isn't just what it is, but how it became
  • Bugs aren't mysteries, but traceable effects
  • Decisions aren't lost, but permanently accessible
  • Knowledge isn't siloed, but collectively shared

Your codebase has a rich history. The Time Graph makes it navigable, queryable, and learnable.

Master Your Code's Timeline

Turn your git history into a navigable, intelligent knowledge base