## 何を見つけたか `plugins/ndf/scripts/lib/metrics.py` の `aggregate(state)` は、状態ファイルの `rounds[]` の `impl` / `impl_model` / `reviewers` / `reviewer_models` を読んで、実装担当とレビュー担当を「ランタイム × モデル」で集計する。しかし本番のコードはどこもこの関数を呼んでいない(develop(425820c72、ndf 10.18.0)で `grep -rln "import metrics\|from metrics import" plugins/ndf --include=*.py` をテストを除いて実行し、0 件)。呼び手はテストの `plugins/ndf/scripts/tests/test_metrics.py` と `plugins/ndf/skills/cross-refactoring/tests/test_models_and_metrics.py` だけである。同じモジュールの `format_report` も本番から呼ばれていない。 #933 の後の `cross-refactoring` の状態ファイルはラウンドを持たず、実装担当は最上位の `implementer_model` 1 つである。`aggregate` の前提にした形は、今の cross-refactoring の状態ファイルに存在しない。 ## どこで見つけたか issue #759 の要求(`issues/issue-759-requirements.md` の前提 8)と設計の作業中。`plugins/ndf/scripts/lib/metrics.py:42`。 ## なぜこの変更の範囲外なのか #759 の対象範囲の「含まない」に「ラウンドの形を前提にした `metrics.aggregate` の作り直し・削除」を置いた。#759 が直すのは実測値の取得と記録で、集計の関数の形は変えない(実測値を渡す引数の変更だけ追随する)。根拠: Value 6・Value 1(MVV 版 2) ## 直さないと何が起きるか 呼ばれない関数とそのテストが残り、変更のたびに追随の費用がかかる。読み手は「モデル別の集計はここで行っている」と誤って読む。 ## 直し方 `metrics.aggregate`(と、それだけが使う `format_report` ほかの補助の関数)と、そのテストを消す。#759・#760(輪番と統計の鍵が「ランタイム × モデル」)はどちらも閉じており、作り直す呼び手は無い。 ## 由来 issue #759
Activity