feat(mir/llvm): Phase 273 P0-P1 DomainPlan→CorePlan + LLVM arg fix

Phase 273 P0-P1: Two-layer plan architecture
- DomainPlan: Pattern-specific knowledge (ScanWithInit)
- CorePlan: Fixed vocabulary (Seq, Loop, If, Effect, Exit)
- ValueId references only (String expressions forbidden)
- Pipeline: Extractor→Normalizer→Verifier→Lowerer

New plan/ module:
- mod.rs: Type definitions, SSOT spec
- normalizer.rs: DomainPlan→CorePlan + ID allocation
- verifier.rs: V1-V6 invariant checks (fail-fast)
- lowerer.rs: CorePlan→MIR (pattern-agnostic)

LLVM fix (ChatGPT):
- function_lower.py: Fix argument reference bug
- Phase 258 index_of_string now PASS on LLVM backend

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-22 22:42:56 +09:00
parent f07c2e7874
commit 960241795d
20 changed files with 1728 additions and 388 deletions

View File

@ -0,0 +1,34 @@
# Phase 278 P0: Deprecated PHI env vars removal — completion
Status: ✅ completed (2025-12-22)
Goal:
- Remove legacy PHI debug environment variables (previously consolidated in Phase 277 P2).
- Enforce a single SSOT set of PHI debug knobs (fail-fast on deprecated inputs).
SSOT (kept):
- `NYASH_LLVM_DEBUG_PHI=1`
- `NYASH_LLVM_DEBUG_PHI_TRACE=1`
- `NYASH_LLVM_PHI_STRICT=1`
Removed inputs (deprecated variables):
- `NYASH_LLVM_PHI_DEBUG`
- `NYASH_PHI_TYPE_DEBUG`
- `NYASH_PHI_ORDERING_DEBUG`
- `NYASH_LLVM_TRACE_PHI`
- `NYASH_LLVM_VMAP_TRACE`
Behavior:
- If any removed variable is set, the harness errors with a replacement hint and exits non-zero.
- No new environment variables introduced.
Docs:
- `docs/reference/environment-variables.md` updated with:
- removed variable list
- migration table (old → new)
- example error message
Tests:
- Added a dedicated smoke verifying:
- deprecated vars fail
- SSOT vars still work

View File

@ -1,6 +1,6 @@
# Phase 278 (planned): Remove deprecated PHI debug env vars
# Phase 278 P0: Remove deprecated PHI debug env vars
Status: planned / cleanup
Status: ✅ completed (2025-12-22)
Goal: remove legacy PHI debug environment variables that were consolidated in Phase 277 P2, so the ecosystem converges to a single, memorable set.
@ -16,3 +16,5 @@ Target SSOT (post-Phase 278):
Implementation guide:
- `docs/development/current/main/phases/phase-278/P0-INSTRUCTIONS.md`
Completion:
- `docs/development/current/main/phases/phase-278/P0-COMPLETION.md`