Skip to content

Time Graph HAT

柱の接続: このHATは私たちのTime Graphの柱の直接実装であり、すべてのアクションが可逆的で、すべての決定が監査可能で、何も失われないことを保証します。

あなたの開発タイムマシン

Time Graph HATは、コードベースをスナップショットから生きているタイムラインに変換します。すべての決定、すべての変更、すべてのバグは、時間を旅して理解し、デバッグし、さらには歴史を書き換えることができる探索可能なグラフのノードになります。

Git履歴を超えて

Gitは何が変更されたかを示します。Time Graph HATはなぜどのように、そしてもしもを示します:

  • 決定追跡:すべてのアーキテクチャ上の選択が記録される
  • 影響マッピング:変更が時間を通じてどのように波及するかを確認
  • 並列タイムライン:代替実装を探索
  • 因果デバッグ:後ろに旅して根本原因を見つける

開発の第4次元

従来のバージョン管理

main ──●──●──●──●──●── (current)
        └──●──●── (feature branch)

線形。平坦。制限されている。

Time Graph現実

        ┌─ Decision: Use REST ─── Implementation A ─── Bug Found ───┐
        │                                                            │
main ───┼─ Decision: Use GraphQL ─ Implementation B ─── Success ────┼─── Merged
        │                                                            │
        └─ Decision: Use gRPC ──── Implementation C ─── Abandoned ───┘
              │                         │
              └── Why: Latency ────── Benchmark ──── Results

多次元。探索可能。理解可能

実世界のパワー

シナリオ1:本番の謎

課題:アプリが本番でランダムにクラッシュ。パターンなし。再現なし。

Time Graphソリューション

  1. クラッシュのタイムスタンプにナビゲート
  2. HATがすべての同時変更を示す
  3. 一見無関係なデプロイを特定
  4. 依存関係グラフを通じて影響を追跡
  5. 3週間前に導入されたレース条件を発見

結果:「不可能な」バグを30分で修正。

シナリオ2:アーキテクチャの議論

課題:「なぜPostgreSQLではなくMongoDBを選んだのか?」

Time Graphソリューション

yaml
query: decision-node
topic: 'database-selection'
timestamp: '3-months-ago'

result:
  decision: 'MongoDB'
  reasons:
    - 'Flexible schema for rapid iteration'
    - 'Better horizontal scaling'
    - 'Team expertise'
  alternatives-explored:
    - PostgreSQL: 'Rejected: Schema migrations concern'
    - DynamoDB: 'Rejected: Vendor lock-in'
  participants: ['alice', 'bob', 'charlie']
  supporting-data: ['benchmark-results.json', 'cost-analysis.xlsx']

結果:任意の技術的決定の即座のコンテキスト。

シナリオ3:並列開発

課題:同時に開発された2つの機能が衝突している。

Time Graphソリューション

  • HATが並列タイムラインを維持
  • 分岐点を示す
  • 競合ソースを特定
  • マージ戦略を提案
  • マージ結果をシミュレート

結果:どちらの機能も壊すことなく自信を持ってマージ。

高度な機能

因果分析

単に「何が壊れたか」だけでなく「何が壊れたものを引き起こしたか」:

yaml
analysis: login-failure
symptoms:
  - "Users can't login"
  - 'Started 2024-01-15 14:30'

time-graph-trace:
  - 14:30: 'Login failures spike'
  - 14:25: 'API response times increase'
  - 14:20: 'Database query patterns change'
  - 14:15: 'ORM library updated'
  - 13:00: 'Dependency update merged'

root-cause: 'ORM update changed query generation'
fix: 'Rollback or patch query builder'

時間クエリ

時間を超えて質問する:

bash
# パフォーマンスがいつ劣化したか?
hatcher time-graph query "response_time > 200ms" --first-occurrence

# このファイルに誰が触れたか?
hatcher time-graph contributors "./src/auth.js" --with-context

# 動作するものと壊れたものの間で何が変わったか?
hatcher time-graph diff --from "last-working" --to "first-broken"

# 認証に関するすべての決定を表示
hatcher time-graph decisions --topic "auth" --timeline

バタフライ効果追跡

小さな変更がどのように連鎖するかを見る:

yaml
change: 'Update button color'
immediate-impact:
  - 'button.css modified'
cascade:
  - 'Component snapshot tests fail'
  - 'Visual regression detected'
  - 'Accessibility contrast warning'
  - 'Design system version bump'
  - 'All apps using design system need updates'
  - 'Marketing screenshots outdated'

他のHATsとの統合

Time Graph HATはすべてを強化します:

  • Code HATと:コードがより単純だった時に旅行
  • Gen HATと:生成の進化を見る
  • Visual HATと:時間を通じたビジュアルリグレッション

タイムトラベル操作

チェックポイント作成

bash
# 時間的チェックポイントを作成
hatcher time-graph checkpoint "Before major refactor"

# 決定ノードを作成
hatcher time-graph decision "Switching to microservices" \
  --reasons "Scale,Team autonomy" \
  --alternatives "Monolith,Serverless"

タイムラインナビゲーション

bash
# 特定のポイントに移動
hatcher time-graph goto "2024-01-15 14:00"

# 最後の動作状態に移動
hatcher time-graph goto "last-green-ci"

# タイムラインを比較
hatcher time-graph compare "timeline-a" "timeline-b"

時間的デバッグ

bash
# 破壊的変更を見つけるために二分探索
hatcher time-graph bisect --good "v1.0" --bad "HEAD" --test "npm test"

# 時点で実行を再生
hatcher time-graph replay "crash-timestamp" --with-state

知識保存

Time Graph HATは組織の知識を保存します:

コンテキストを決して失わない

  • Xはなぜ廃止されたのか?
  • Yを決めたのは誰か?
  • どのような代替案が検討されたか?
  • Zは何の問題を解決したか?

オンボーディングの加速

新しい開発者は次のことができます:

  • 決定履歴を探索
  • 進化を理解
  • 過去の間違いから学ぶ
  • 完全なコンテキストを見る

時間的解放

Time Graph HATは過去に執着することではありません。それはそこから学ぶことです:

  • もはや考古学的デバッグがない
  • もはや「誰も理由を知らない」がない
  • もはや間違いを繰り返さない
  • もはやコンテキストの損失がない

あなたのコードには歴史があります。Time Graph HATはそれをナビゲート可能にします。


コードのタイムラインを探索する準備はできましたか?Time Graph HATを始める

コードの進化をナビゲート

時間を旅してコードがどのように、なぜ進化したかを理解