Step 5-5-F: build_assignment() safeguard
- Skip inserting __pin$ temporaries into variable_map
- __pin$ variables are transient compiler-generated temps
- They should not persist across blocks or loops
Step 5-5-G: build_variable_access() safeguard
- Reject attempts to access __pin$ variables from variable_map
- Return clear error: "COMPILER BUG: Attempt to access __pin$ temporary"
- This catches stale __pin$ references early
Root Cause (Corrected):
- NOT BlockId renumbering (as Task initially thought)
- ChatGPT analysis: variable_map/snapshot/carrier have wrong ValueIds
- __pin$ temps were persisting and causing stale references
Test Status: 267 PASS / 1 FAIL (no regressions)
Next: Detailed MIR dump + VM trace analysis to find exact ValueId source
🐛 PHI Bug Option C実装: 箱分割設計で根本修正