-
-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
背景
現在のデバッグ情報は主にプロジェクト配下 .takt/runs/.../logs に保存されるため、複数プロジェクト横断での品質傾向(レビュー往復率、同一指摘の再発、誤検知疑い)を定量観測しづらい。
目的
debug モード時のみ、分析向けの構造化イベントを ~/.takt/ に蓄積し、ローカル完結で継続的に可視化・分析できるようにする。
スコープ
debug.enabled = trueのときのみ収集する(通常実行は影響なし)- 収集先はグローバルディレクトリ配下(例:
~/.takt/analytics/) - 収集データは JSONL(追記専用)で保存
- CLI から集計コマンドで参照できるようにする
仕様案
1. 保存先ディレクトリ
~/.takt/analytics/events/- 日付または run 単位でローテーション(例:
YYYY-MM-DD.jsonl)
2. 収集イベント(最小)
review_findingfinding_id,status(new|persists|resolved),rule_id,severity,decision,file,line,iteration,run_id,timestamp
fix_actionfinding_id,action(fixed|rebutted|not_applicable),changed_files,test_command,test_result,iteration,run_id,timestamp
movement_resultmovement,provider,model,decision_tag,iteration,run_id,timestamp
3. 集計コマンド
- 例:
takt metrics review --since 7d - 出力指標(初期)
- 同一
finding_idの再指摘回数 - 2回以上往復率
- 平均解決イテレーション
- ルール別 REJECT 件数
- rebuttal 後 resolved 率(誤検知疑いの近似)
- 同一
4. プライバシー/容量対策
- デフォルトでプロンプト本文・長文本文は保存しない(メタデータ中心)
- 保存期間設定(例: 30日)と purge コマンドを用意
debug無効時は一切書き込まない
受け入れ条件
-
debug.enabled=true時に~/.takt/analytics/events/*.jsonlが作成される -
debug.enabled=false時は作成・追記されない - 集計コマンドで上記5指標を表示できる
- 既存
.takt/runsの挙動を壊さない - 単体テスト: 保存ON/OFF、イベント追記、集計ロジック、保持期間削除
実装タスク案
- イベントスキーマ定義(型 + バリデーション)
- analytics writer(append-only, mkdir -p, ローテーション)
- review/fix/movement 実行経路へイベント発火を追加
- metrics 集計CLI追加
- retention/purge 実装
- テスト追加
補足
- 本機能は「ローカル完結」を前提にし、外部送信は行わない。
- 将来必要ならエクスポート機能を別Issueで検討する。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels