875c593d85
COBOL技術者による徹底検証で発見された根本問題と修正: 問題1: 構造検知の信号が変数名の命名規則に依存しすぎていた - EOF 固定 → WS-E1/WS-END-1/FE-1 も検知 - INTO ありのみ → READ AT END のみも検知 - IF 比較が WS- またはハイフン必須 → どんな名前でも検知 - OPEN 1行複数ファイルのみ → 複数行も検知 問題2: mn_output_mode が2ファイル4分岐でも M:N と誤判定 - しきい値を select>=3 or (select>=2 and 分岐>=4) に引き上げ - 標準的な2ファイルマッチングプログラムを誤判定しない 問題3: has_cross_file_cmp が欠落していた - ルールエンジンに IF K1 = K2 のような比較情報を注入 - 数字リテラルとの比較は除外(IF WS-COUNT > 0 など) 効果: 6種類の異なるコーディングスタイルすべてが一貫してマッチング判定 回帰: 767 passed (0 new)