入力の分類ラベルを変える修正は、分類器ではなく消費点を先に検証する
入力を分類する値(enum・フラグ・「注入か実入力か」を判定するマーカー集合など)を変える修正では、修正対象はその値を作る分類器ではなく、その値を読む消費点である。手を入れる前に、消費側がその区別で実際に分岐しているかを確認する。
消費側が区別を使っていなければ付け替えは no-op
分類器が返すラベルを増やしても、消費点が「値が空でないか」程度の粗い判定しかしていない(例: あるラベルと別のラベルを同じ分岐に流している)なら、ラベルを付け替えても挙動は一切変わらない。ラベル名が意味的に正しく見えることと、その区別が計算結果に効くことは別。「分類の是正であって計測ロジックの変更ではない」と割り切った修正が、実は消費点で潰されていて何も動かさない、という空振りが起きる。まず消費点を grep して、そのラベルで分岐しているかを確認する。
別コンテキストへ流用するときは消費側の正解が逆転しうる
ある場所で作った判定ロジック(マーカー集合や分類関数)を別の用途へ流用するとき、入力の分類が同じでも消費側にとっての正しい扱いが逆になることがある。同じ「注入ブロック」でも、件数を数える用途では『実入力ではないから除外するのが正しい』が、経過時間を配分する用途では『その直前区間はユーザーが操作するまでの待ち時間だから除外してはいけない』のように、望ましい扱いが反転する。マーカー表など入力分類だけを写して消費契約を移さないと、正しく見える流用が改悪になる。参照実装の等価移植でルール本体だけでなく選択セマンティクスまで含める話の延長で、こちらは消費側の目的が違えば同じ分類でも結論が逆になる点が要点。
可否は主張でなく実データの前後差で測る
この種の修正が是正か改悪かは、新旧両版に同じ実データを通した前後差分で判定する。差分が動いた量だけでなく『どこへ動いたか』まで見る。期待した宛先へ動いていれば是正、別の宛先へ動いていれば改悪。例として、待ち時間から稼働時間へ大量に移動していたら、ユーザーの思考・離席時間を稼働に誤計上する改悪と分かる。差分が大きいこと自体は正しさの証明にならず、逆に差分ゼロなら前段の no-op を裏づける。