docs(phase131): SSOT整備 - VM入口/env var/次の入口を1箇所に固定

Phase 131 SSOT 整備完了:

1) VM Box 解決の入口SSOT(phase131-2-box-resolution-map.md)
   - 📍 入口3行を先頭に追記(handle_new_box/UnifiedRegistry/BoxFactoryRegistry)
   - NYASH_VM_FAST を bench/profile-only 特例と明記

2) 環境変数のSSOTを1箇所へ(environment-variables.md)
   - ## LLVM Build Pipeline セクション新設(14変数)
   - phase87 の Environment Variables セクションを参照リンクに置き換え
   - 重複表を削除、SSOTドキュメントへの導線確立

3) 次の開発の入口を明確化(CURRENT_TASK.md)
   - P1(Loop Canonicalizer): 🔶 設計待ち(外部検討中)
   - P2(JoinIR / Selfhost depth-2):  実装可能
   - 次に触るSSOTを1行で指定:
     - Loop系: joinir-architecture-overview.md
     - VM Box系: phase131-2-box-resolution-map.md

Impact:
- 迷子防止: 各領域のSSOTが1行で分かる
- 重複削減: env var 表を environment-variables.md に集約
- 状態明確化: P1/P2 の「設計待ち/実装可能」が一目瞭然

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-14 05:27:39 +09:00
parent 05c5021147
commit e912ef9134
4 changed files with 71 additions and 57 deletions

View File

@ -84,6 +84,50 @@ NYASH_USE_STAGE1_CLI=1 STAGE1_EMIT_MIR_JSON=1 \
---
## LLVM Build Pipeline
`tools/build_llvm.sh` で使用される環境変数。詳細は [`phase87-selfhost-llvm-exe-line.md`](../development/current/main/phase87-selfhost-llvm-exe-line.md) を参照。
### Control Variables
| 変数 | デフォルト | 説明 |
| --- | --- | --- |
| `NYASH_BIN` | `./target/release/hakorune` | hakorune バイナリのパス |
| `NYASH_LLVM_COMPILER` | `harness` | コンパイラモード: `harness` または `crate` |
| `NYASH_LLVM_FEATURE` | `llvm` | LLVM feature flag (`llvm` または `llvm-inkwell-legacy`) |
| `NYASH_LLVM_OBJ_OUT` | `target/aot_objects/<stem>.o` | オブジェクトファイル出力パス |
| `NYASH_CLI_VERBOSE` | `0` | 詳細ビルド出力を有効化 |
### Advanced Control Variables
| 変数 | デフォルト | 説明 |
| --- | --- | --- |
| `NYASH_LLVM_SKIP_EMIT` | `0` | オブジェクト生成をスキップ(既存 .o 使用) |
| `NYASH_LLVM_ONLY_OBJ` | `0` | オブジェクト生成後に停止(リンクスキップ) |
| `NYASH_LLVM_SKIP_NYRT_BUILD` | `0` | Nyash Kernel runtime ビルドをスキップ |
| `NYASH_LLVM_MIR_JSON` | (auto) | 事前生成 MIR JSON パス (crate mode) |
| `NYASH_LLVM_VALIDATE_JSON` | `0` | MIR JSON スキーマ検証を有効化 (crate mode) |
| `NYASH_LLVM_EMIT` | `obj` | 出力タイプ: `obj` または `exe` (crate only) |
| `NYASH_LLVM_NYRT` | `crates/nyash_kernel/target/release` | Nyash Kernel runtime パス |
| `NYASH_LLVM_LIBS` | (empty) | 追加リンクライブラリ |
| `NYASH_LLVM_USE_HARNESS` | (auto) | Python harness 使用を強制 |
### 使用例
```bash
# 基本ビルド(全デフォルト)
tools/build_llvm.sh program.hako -o output
# 詳細デバッグ
NYASH_CLI_VERBOSE=1 tools/build_llvm.sh program.hako -o output
# Crate mode + JSON検証
NYASH_LLVM_COMPILER=crate NYASH_LLVM_VALIDATE_JSON=1 \
tools/build_llvm.sh program.hako -o output
```
---
## Selfhost compiler / Ny compiler
| 変数 | デフォルト | 適用経路 | 説明 |