1.6 KiB
1.6 KiB
Phase 29af P4: Layout Consistency Contract — Instructions
Status: Ready for execution
Scope: BoundaryCarrierLayout と LoopHeaderPhiInfo::carrier_order の整合を Fail-Fast で固定(仕様不変)
Goal
BoundaryCarrierLayout と header PHI の順序がズレたときに、merge 入口で早期に検知する。
Non-goals
- 挙動変更(release 既定挙動の変更)
- env var の追加
- fixture/smoke の増加
Implementation Steps
-
contract_checks にレイアウト整合性チェックを追加
src/mir/builder/control_flow/joinir/merge/contract_checks/header_phi_layout.rs- boundary の順序と header PHI の順序が一致することを strict/dev で検証
-
merge 入口でチェックを呼ぶ
src/mir/builder/control_flow/joinir/merge/coordinator.rs- prebuild_header_phis の直後で
verify_header_phi_layout(...)を呼ぶ
-
boundary_hygiene を強化
src/mir/builder/control_flow/joinir/merge/contract_checks/boundary_hygiene.rs- carrier_info の順序と BoundaryCarrierLayout の順序が同名同順で一致することを検証
-
docs 更新
docs/development/current/main/phases/phase-29af/README.mddocs/development/current/main/10-Now.mddocs/development/current/main/30-Backlog.md
Verification
cargo build --release./tools/smokes/v2/run.sh --profile quick./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh
Acceptance Criteria
- strict/dev でズレを Fail-Fast できる
- quick 154/154 PASS(不変)
- JoinIR regression pack が PASS