feat(joinir): Phase 61-6.2 Delete A/B test observation code (-71 lines)

Phase 61-6.2 実装完了: A/B 比較観察コード完全削除

## 変更内容

### if_phi_spec.rs
-  extract_phi_spec_from_builder() 削除(L85-115, 31行)
-  compare_and_log_phi_specs() 削除(L117-140, 24行)
-  未使用 import 削除(ValueId, BTreeMap)
-  削除記録コメント追加(L85-91)
-  SSOT 確立: compute_phi_spec_from_joinir() のみが PHI 仕様計算

### if_lowering.rs
-  A/B 比較ブロック削除(L271-295, 25行)
-  簡潔な削除理由コメント追加(L271-273)

## 削減効果
- **純削減**: -71 行(予想 -50 行を大幅に上回る)
- **SSOT 確立**: JoinIR 経路のみが PHI 計算の責務を持つ
- **観察コード完全削除**: PhiBuilderBox 経路の観察用コード根絶

## テスト結果
-  JoinIR tests 全通過(56 passed)
-  ビルド成功(0 error, 0 warning)

## 技術的成果
- Phase 61-3 で JoinIR 経路が完全動作確認済み
- A/B 比較は完了、観察用コードは不要に
- PhiBuilderBox 経路はフォールバック専用に

## Phase 61-6 総計
- Wave 1: set_if_context 削除(-26 行)
- Wave 2: A/B テスト削除(-71 行)
- **合計削減**: -97 行(予想 -76 行を 27% 上回る成果)

次: Phase 61-7 or Phase 62 (更なる統合・削除)
This commit is contained in:
nyash-codex
2025-11-29 16:11:39 +09:00
parent 67db07f2a0
commit 80ebec2559
2 changed files with 12 additions and 83 deletions

View File

@ -268,31 +268,9 @@ impl<'a> LoopBuilder<'a> {
};
phi_builder.generate_phis(&mut ops, &form, &pre_if_var_map, &post_snapshots)?;
// Phase 61-2: A/B比較JoinIR vs PhiBuilderBox
if crate::config::env::joinir_if_in_loop_dryrun_enabled() {
if let Some(ref joinir_spec) = joinir_phi_spec_opt {
// PhiBuilderBox経路でのPhiSpecを抽出
let builder_spec =
crate::mir::join_ir::lowering::if_phi_spec::extract_phi_spec_from_builder(
&pre_if_var_map,
&post_snapshots,
&carrier_names,
);
eprintln!(
"[Phase 61-2] PhiBuilderBox PhiSpec: header={}, exit={}",
builder_spec.header_count(),
builder_spec.exit_count()
);
// A/B比較実行
let _matches =
crate::mir::join_ir::lowering::if_phi_spec::compare_and_log_phi_specs(
joinir_spec,
&builder_spec,
);
}
}
// Phase 61-6.2: A/B比較削除JoinIR経路完全動作確認済み
// Phase 61-3でJoinIR経路が完全動作したため、観察コード削除
// SSOT: JoinIR → compute_phi_spec_from_joinir()
}
// Phase 26-E-4: PHI生成後に variable_map をリセットChatGPT/Task先生指示