feat(llvm/phi): Phase 278 P0 - remove deprecated PHI debug env vars

## Changes
- debug_helper.py: Remove backward compatibility (warning → error + exit 1)
- environment-variables.md: Migrate deprecated section with migration guide
- phase278_p0_deprecated_env_fail.sh: Add smoke test for deprecated var detection

## Removed Variables (5)
- NYASH_LLVM_PHI_DEBUG
- NYASH_PHI_TYPE_DEBUG
- NYASH_PHI_ORDERING_DEBUG
- NYASH_LLVM_TRACE_PHI
- NYASH_LLVM_VMAP_TRACE

## SSOT Variables (3) - Unchanged
- NYASH_LLVM_DEBUG_PHI=1
- NYASH_LLVM_DEBUG_PHI_TRACE=1
- NYASH_LLVM_PHI_STRICT=1

## Benefits
-  Deprecated vars cause fail-fast error (not silent)
-  Error messages include replacement hints
-  Documentation reflects removal (migration guide included)
-  Smoke test verifies deprecated var rejection
-  No regressions in existing tests

## Testing
 Test 1: Deprecated NYASH_LLVM_PHI_DEBUG rejected
 Test 2: Deprecated NYASH_LLVM_TRACE_PHI rejected
 Test 3: SSOT vars work normally
 Regression tests: strict=OFF, strict=ON, debug mode - all pass

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-22 15:08:50 +09:00
parent 939efbca9b
commit 264940ef51
3 changed files with 72 additions and 20 deletions

View File

@ -1,11 +1,13 @@
"""Phase 277 P2: PHI デバッグ環境変数のSSOT
"""Phase 278 P0: PHI デバッグ環境変数のSSOT
統合された環境変数を一元管理。
統合前の環境変数8個統合後(3個:
- NYASH_LLVM_DEBUG_PHI: 一般デバッグ(旧: LLVM_PHI_DEBUG, PHI_TYPE_DEBUG, PHI_ORDERING_DEBUG
- NYASH_LLVM_DEBUG_PHI_TRACE: 詳細トレース(旧: LLVM_TRACE_PHI, LLVM_VMAP_TRACE
- NYASH_LLVM_PHI_STRICT: 厳格モード(既存維持
Phase 277 P2 統合8個 → 3個:
- NYASH_LLVM_DEBUG_PHI: 一般デバッグ(旧変数削除済み
- NYASH_LLVM_DEBUG_PHI_TRACE: 詳細トレース(旧変数削除済み
- NYASH_LLVM_PHI_STRICT: 厳格モード(変更なし
Phase 278 P0: 旧環境変数の後方互換性を削除fail-fast化
"""
import os
import sys
@ -26,7 +28,7 @@ def is_phi_debug_enabled():
if os.environ.get('NYASH_LLVM_DEBUG_PHI') == '1':
return True
# 旧環境変数の後方互換性Phase 278で削除予定
# 旧環境変数の後方互換性Phase 278で削除
legacy_vars = [
'NYASH_LLVM_PHI_DEBUG',
'NYASH_PHI_TYPE_DEBUG',
@ -34,9 +36,9 @@ def is_phi_debug_enabled():
]
for var in legacy_vars:
if os.environ.get(var) == '1':
print(f"⚠️ DEPRECATED: {var} is deprecated. Use NYASH_LLVM_DEBUG_PHI=1 instead.",
print(f"❌ ERROR: {var} was removed in Phase 278. Use NYASH_LLVM_DEBUG_PHI=1 instead.",
file=sys.stderr)
return True
sys.exit(1)
return False
@ -55,16 +57,16 @@ def is_phi_trace_enabled():
if os.environ.get('NYASH_LLVM_DEBUG_PHI_TRACE') == '1':
return True
# 旧環境変数の後方互換性Phase 278で削除予定
# 旧環境変数の後方互換性Phase 278で削除
legacy_vars = [
'NYASH_LLVM_TRACE_PHI',
'NYASH_LLVM_VMAP_TRACE'
]
for var in legacy_vars:
if os.environ.get(var) == '1':
print(f"⚠️ DEPRECATED: {var} is deprecated. Use NYASH_LLVM_DEBUG_PHI_TRACE=1 instead.",
print(f"❌ ERROR: {var} was removed in Phase 278. Use NYASH_LLVM_DEBUG_PHI_TRACE=1 instead.",
file=sys.stderr)
return True
sys.exit(1)
return False