diff --git a/CURRENT_TASK.md b/CURRENT_TASK.md index 7257508e..b4ab5b1b 100644 --- a/CURRENT_TASK.md +++ b/CURRENT_TASK.md @@ -31,12 +31,34 @@ - static box 内の呼び出しを NamingBox/Method まわりで一貫して扱えるようにする。 - Global("BoxName.method/arity") を Method{receiver = static singleton} に寄せる(トグル制御)。 -**🎯 Phase 21.7++ 計画** +**🎯 Phase 21.7++ 計画**(2025-11-22 Phase 0-2 完了!) - **NamingBox SSOT 統一化チェックリスト**: [phase-21.7-naming-ssot-checklist.md](docs/development/current/main/phase-21.7-naming-ssot-checklist.md) - StringUtils using 解決バグ修正(2025-11-22, commit f4ae1445)を踏まえた改善計画 -- Phase 0(観測ライン)→ Phase 1(基盤)→ Phase 2(VM統一)の段階実装 +- **✅ Phase 0(観測ライン)**: Silent Failure 根絶完了(commit 63012932) +- **✅ Phase 1(基盤整備)**: StaticMethodId SSOT 基盤確立(commit 96c1345e) +- **✅ Phase 2(VM統一)**: VM 名前解決 SSOT 準拠(commit 1b413da5) +- **⏭️ Phase 3-4(全体統一)**: MIR Builder 等の統一(10-15時間) -**実装内容** +**Phase 0-2 実装内容(2025-11-22 完了)** +1. **Phase 0: 観測ライン緊急構築** (commit 63012932) + - TOML parse エラー即座表示(pipeline.rs) + - VM 関数ルックアップ「Did you mean?」提案(global.rs) + - using not found 詳細化(strip.rs) + - **効果**: Silent Failure 根絶、デバッグ時間が時間→分に短縮 + +2. **Phase 1: StaticMethodId SSOT 基盤** (commit 96c1345e) + - `StaticMethodId` 構造体導入(naming.rs:86-248) + - parse/format/with_arity ヘルパー実装 + - 包括的テスト(13ケース全PASS) + - **効果**: 関数名パース/フォーマット一元化、型安全化 + +3. **Phase 2: VM 統一** (commit 1b413da5) + - global.rs を StaticMethodId ベース化 + - デバッグログ強化(NYASH_DEBUG_FUNCTION_LOOKUP=1) + - テスト全通過(349 passed, 退行なし) + - **効果**: arity バグ根治、Hotfix 卒業 + +**Phase 0-2 以前の実装内容** 1. **NamingBox decode 関数追加** (Step 1: commit a13f14ce) - `decode_static_method(func_name: &str) -> Option<(&str, &str, usize)>` - `is_static_method_name(func_name: &str) -> bool` @@ -63,9 +85,16 @@ - `HAKO_MIR_BUILDER_METHODIZE=0/1`: methodization 制御。既定ON(未設定 or "1")、"0" のときのみ無効化。 - `NYASH_METHODIZE_TRACE=1`: Global→Method 変換ログ出力 -**次タスク(Phase 21.8x 優先案件)** -- NamingBox/UnifiedCallEmitter/VM の 3 点で「名前と arity の SSOT」をさらに明示化する(docs + 小さなリファイン)。 -- Global 名の直接操作は NamingBox 内に閉じ込め、それ以外の層は `StaticMethodId` 相当の構造を介して扱うように寄せる。 +**次タスク(Phase 21.7++ Phase 3-4)**(10-15時間見込み) +- **Phase 3: 全体統一** + - MIR Builder 側を StaticMethodId 統一(builder/calls/unified_emitter.rs 等) + - 素手 split 置き換え(`rg '"\."' --type rust src/mir/builder/`) + - 100-200 行削減見込み +- **Phase 4: ドキュメント化** + - SSOT 設計書更新 + - 移行ガイド作成 + - チームレビュー +- **長期**: NamingBox/UnifiedCallEmitter/VM の 3 点で「名前と arity の SSOT」完全統一。 ### 1-0. Phase 25.3 — FuncScanner / Stage‑B defs 安定化(完了)