v0.3.8: fast-path diagnostics
v0.3.8 — fast-path diagnostics
v0.3.7 のドッグフーディングで fast-path 発火率 0% が観測されたが、メトリクス jsonl に rule 別の情報が無かったため原因切り分け不能だった。schema v2 として rule_counts を追加し、ja-output-stats show に fast-path miss 診断機能を追加する。
Added
- metrics schema v2: 各エントリに
rule_counts(rule 名 → 件数)を追加。v1 エントリは読み取り時に{}として扱うので後方互換 ja-output-stats showの 2 セクション追加:- rule distribution(全エントリのルール別集計)
- fast-path miss diagnosis(ERROR ありで fast-path 未発火のサブセット)。
banned_term支配なら_fast_path_applicableが replacement 不足で落ちている、bare_identifier/pr_issue_number支配なら rewrite が residual ERROR を残している、と切り分けできる
Findings
本 PR の post-merge dogfooding(schema v2 サブサンプル n=14)で fast-path hits 57% を確認。期待域 40〜60% の中央に回帰。v0.3.7 の 0% 測定は完全なサンプルノイズだった。
Docs
docs/ARCHITECTURE.mdのトレードオフ節を実測値 n=62 / output-factor 3.00× / fast-path 12.9% に更新。v0.2.22 の 3.58× から 16% 改善
Notes
- schema_version:
"1"→"2" - pytest 173 件 全通過(+2)、ruff clean、CI 6/6 pass
- 反映手順:
uv sync→ Codex 再起動
Full Changelog: v0.3.7...v0.3.8