Kagi v0.7.0 — Analyze, async rendering, Phase 5.2
kagi v0.7.0 — 目玉は Analyze(コードホットスポット分析ビュー)。あわせて描画パスの非同期化による体感速度の改善、KagiApp の分解(Phase 5.2)などが入りました。すべて GPUI ネイティブ描画・安全第一(破壊的コマンドなし)の方針は据え置きです。
✨ 新機能: Analyze (ADR-0119)
リポジトリ履歴を読み取り専用で分析し、保守リスクが集中する場所を可視化する全画面ビュー(ツールバーの Settings の左に起動ボタン)。Git アクセスは kagi-git 経由のみ、スコアリングは依存ゼロの kagi-domain に隔離。
- Hotspots — リスク =
normalize(churn) × normalize(LOC)(バグ修正の時間減衰項はあえて不採用)。List(リスクバー付きランキング)と Map(ツリーマップ: 面積=LOC・色=リスク)。 - Coupling — 同じ commit で一緒に変わるファイルの組(論理的結合・Jaccard degree)。行クリックで 1:多 展開。サブビューは リスト / グラフ(力学配置・カーソル中心ズーム・パン)/ Mermaid。
- Ownership — 主著者・占有率・著者数(バス係数 =
1 authorが単独所有リスク)。 - Copy diagnostic — 表示中のモードを AI 向けに書き出し(MD / JSON、Coupling は + Mermaid)。
- Open in mermaid.live — Coupling 図をワンクリックでブラウザ描画(図全体は URL に載るだけ・アップロードなし)。
- 除外設定 —
settings.json隣のanalyze_ignoreファイル(.gitignore 形式・ワイルドカード対応)。Settings ペインから GUI 編集可能。 - app 所有の非同期マイニング(ビューを閉じても継続・リポジトリ単位でキャッシュ・Operation Log 記録・完了 Snackbar)、使い方ヘルプ、EN/JA i18n。
⚡ パフォーマンス
- commit の変更ファイル / diffstat を UI スレッド外で読み込み
- File History の diff を UI スレッド外で読み込み
- conflict 検出 / reflog seed / auto-fetch の I/O を描画パスから分離(T-PERF-RENDER-001)
- sidebar 行の再構築を入力変更時のみに限定・rem サイズ算出をゲート(T-PERF-RENDER-002)
🧹 リファクタ
KagiApp分解 Phase 5.2(render_*/ overlay / status / wip などへ分割、ADR-0116)- UI 非同期 diff + モーダル整理、File History のエンティティ化
- Analyze モジュールの分割(
render.rsをlists.rsへ分離、GraphViewport/mermaid_url抽出)— 全モジュール ≤557 LOC・全関数 ≤74 LOC
🐛 修正
- 手動リフレッシュ失敗時に誤った "Refreshed" を出さずエラー表示
- ズーム時のグラフ行レイアウト安定化 / rem サイズの毎フレーム再適用
[kagi]契約ログをklog!経由に統一 + CI gate(T-KLOG-001)- Codex レビュー対応: Analyze マイニングのレース修正(世代トークン)、coupling 1:多展開での大型コミット除外
Full Changelog: v0.6.0...v0.7.0
🤖 Generated with Claude Code