|
|
20f978fdf9
|
refactor: Phase 109後のコード整理・改善(セットA/B/C完全実装)
全セット実装で総95行の純削減を達成(190削除, 95追加)
## Set A: Quick Wins (55行削減)
- FileBox caps check を check_write_capability() ヘルパーに統一
- is_required_in() から冗長な local variable 削除
- 未使用の CoreServicesConfig::from_env() 削除
## Set B: Architecture Refinement (65行削減)
- provider_lock の責務を「登録」のみに限定(init_* メソッド削除)
- PluginHost を initialization hub に統一
- profile-aware provider 初期化を一元化
- Default/NoFs の両 profile に対応
- FileBox::new() を Result-based に改善(Fail-Fast)
- delete()/copy() デッドコード削除(実装なし)
- PluginRegistry skeleton 削除(Phase 92 未実装プレースホルダ)
## Set C: Future-Proofing (+36行, 46追加/10削除)
- RuntimeProfile ドキュメント大幅拡充
- 現在のプロファイル(Default, NoFs)の詳細説明
- 将来のプロファイル(TestMock, Sandbox, ReadOnly, Embedded)を明示
- PluginHost::new_skeleton() 削除
## 設計改善
1. **責務分離の明確化**:
- provider_lock: 登録のみ (set/get)
- PluginHost: initialization hub (profile-aware setup)
- initialize_runtime: env読み込みのみ
2. **Fail-Fast 原則の強化**:
- FileBox provider missing → 即座にエラー(Default profile)
- new() でパニック vs try_new() で Result
3. **将来への足がかり**:
- Profile システムは拡張可能に設計
- TestMock/Sandbox/ReadOnly/Embedded への対応準備完了
テスト:
- 既存テスト: 25/25 PASS ✅
- ビルド: SUCCESS ✅
ファイル変更:
- src/boxes/file/mod.rs (-58)
- src/runtime/core_box_ids.rs (-6)
- src/runtime/mod.rs (-23)
- src/runtime/plugin_host.rs (-90)
- src/runtime/provider_lock.rs (-62)
- src/runtime/runtime_profile.rs (+46)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-03 19:58:50 +09:00 |
|
|
|
8633224061
|
JoinIR/SSA/Stage-3: sync CURRENT_TASK and dev env
|
2025-12-01 11:10:46 +09:00 |
|
|
|
e669f124d2
|
feat(joinir): Phase 64-1/2 P2型ヒント実装 & 削減条件準備
Phase 64-1: P2/P3 対象関数分類完了
- P2 対象リスト作成: read_quoted_from, IfMerge Simple/Multiple
- P3 将来拡張: MethodCall戻り値型, Box コンストラクタ
- 実装戦略確立: P2から1関数ずつ段階的拡大
Phase 64-2: P2 型ヒント供給実装完了
- read_quoted.rs: ループカウンタ i (Integer), 文字列 ch (String) 型確定
- if_merge.rs: infer_type_from_mir_pattern() 追加 (Const命令から型推論)
- A/B テスト追加: test_p2_if_merge_type_hint() で型ヒント伝播検証 ✅
技術的成果:
- JoinIR MergePair の type_hint 自動推論システム完成
- Phase 63 P1実装パターンを P2 に拡大適用
- 次ステップ: Phase 64-3 lifecycle.rs で P2 hint経路統合
修正ファイル:
- phase-63-joinir-type-info/README.md: Phase 64-1/2 セクション追加
- read_quoted.rs: MergePair 型ヒント追加 (Integer/String)
- if_merge.rs: infer_type_from_mir_pattern() + 型ヒント推論
- mir_joinir_if_select.rs: test_p2_if_merge_type_hint() 追加
🎯 削除条件 4/5 維持 (P1完了), Phase 64-3で P2拡大へ
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-30 05:12:59 +09:00 |
|
|
|
447bbec998
|
refactor(joinir): Split ast_lowerer and join_ir_vm_bridge into modules
ast_lowerer.rs → ast_lowerer/ (10 files):
- mod.rs: public surface + entry dispatch
- context.rs: ExtractCtx helpers
- expr.rs: expression-to-JoinIR extraction
- if_return.rs: simple if→Select lowering
- loop_patterns.rs: loop variants (simple/break/continue)
- read_quoted.rs: read_quoted_from lowering (Phase 45-46)
- nested_if.rs: NestedIfMerge lowering
- analysis.rs: loop if-var analysis + metadata helpers
- tests.rs: frontend lowering tests
- README.md: module documentation
join_ir_vm_bridge.rs → join_ir_vm_bridge/ (5 files):
- mod.rs: public surface + shared helpers
- convert.rs: JoinIR→MIR lowering
- runner.rs: VM execution entry (run_joinir_via_vm)
- meta.rs: experimental metadata-aware hooks
- tests.rs: bridge-specific unit tests
- README.md: module documentation
Benefits:
- Clear separation of concerns per pattern
- Easier navigation and maintenance
- Each file has single responsibility
- README documents module boundaries
Co-authored-by: ChatGPT <noreply@openai.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-28 17:42:19 +09:00 |
|
|
|
51ff558904
|
feat(phase32): L-2.1 Stage-1 UsingResolver JoinIR integration + cleanup
Phase 32 L-2.1 complete implementation:
1. Stage-1 UsingResolver main line JoinIR connection
- CFG-based LoopForm construction for resolve_for_source/5
- LoopToJoinLowerer integration with handwritten fallback
- JSON snapshot tests 6/6 PASS
2. JoinIR/VM Bridge improvements
- Simplified join_ir_vm_bridge.rs dispatch logic
- Enhanced json.rs serialization
- PHI core boxes cleanup (local_scope_inspector, loop_exit_liveness, loop_var_classifier)
3. Stage-1 CLI enhancements
- Extended args.rs, groups.rs, mod.rs for new options
- Improved stage1_bridge module (args, env, mod)
- Updated stage1_cli.hako
4. MIR builder cleanup
- Simplified if_form.rs control flow
- Removed dead code from loop_builder.rs
- Enhanced phi_merge.rs
5. Runner module updates
- json_v0_bridge/lowering.rs improvements
- dispatch.rs, selfhost.rs, modes/vm.rs cleanup
6. Documentation updates
- CURRENT_TASK.md, AGENTS.md
- Various docs/ updates
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-26 10:17:37 +09:00 |
|
|
|
466e636af6
|
Span trace utilities and runner source hint
|
2025-11-24 14:17:02 +09:00 |
|
|
|
c344451087
|
fix(mir-builder): static method arity mismatch根治 - Phase 25.x
**問題**:
- ParserStmtBox.parse_using/4 に5引数が渡される
- me.method呼び出しで instance/static 判別なし
- static method に誤って receiver 追加
**修正**:
- MeCallPolicyBox: params[0]の型で instance/static 判別
- Instance method: receiver 追加
- Static method: receiver なし
- Arity検証(NYASH_ME_CALL_ARITY_STRICT=1)
**ドキュメント**:
- docs/reference/environment-variables.md 新規作成
- docs/development/architecture/mir-logs-observability.md 更新
**テスト**:
- src/tests/mir_stage1_cli_emit_program_min.rs 追加
- 既存 stage1 テスト全てパス
Phase: 25.x
|
2025-11-21 11:16:38 +09:00 |
|
|
|
f9d100ce01
|
chore: Phase 25.1 完了 - LoopForm v2/Stage1 CLI/環境変数削減 + Phase 26-D からの変更
Phase 25.1 完了成果:
- ✅ LoopForm v2 テスト・ドキュメント・コメント完備
- 4ケース(A/B/C/D)完全テストカバレッジ
- 最小再現ケース作成(SSAバグ調査用)
- SSOT文書作成(loopform_ssot.md)
- 全ソースに [LoopForm] コメントタグ追加
- ✅ Stage-1 CLI デバッグ環境構築
- stage1_cli.hako 実装
- stage1_bridge.rs ブリッジ実装
- デバッグツール作成(stage1_debug.sh/stage1_minimal.sh)
- アーキテクチャ改善提案文書
- ✅ 環境変数削減計画策定
- 25変数の完全調査・分類
- 6段階削減ロードマップ(25→5、80%削減)
- 即時削除可能変数特定(NYASH_CONFIG/NYASH_DEBUG)
Phase 26-D からの累積変更:
- PHI実装改善(ExitPhiBuilder/HeaderPhiBuilder等)
- MIRビルダーリファクタリング
- 型伝播・最適化パス改善
- その他約300ファイルの累積変更
🎯 技術的成果:
- SSAバグ根本原因特定(条件分岐内loop変数変更)
- Region+next_iパターン適用完了(UsingCollectorBox等)
- LoopFormパターン文書化・テスト化完了
- セルフホスティング基盤強化
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: ChatGPT <noreply@openai.com>
Co-Authored-By: Task Assistant <task@anthropic.com>
|
2025-11-21 06:25:17 +09:00 |
|
|
|
166c374eec
|
macro(if/match): stabilize PeekExpr→If normalization via internal-child; default runner off; propagate child stderr; fix JsonBuilder local_decl; add scope-hints doc; extend PHI smoke; golden for match literal passes
|
2025-09-20 05:00:31 +09:00 |
|
|
|
d99b941218
|
docs: add MIR13 mode doc and set PHI-off as default; bridge lowering split (if/loop/try); llvmlite resolver stabilization; curated runner default PHI-off; refresh CURRENT_TASK.md
|
2025-09-17 10:58:12 +09:00 |
|
|
|
adbb0201a9
|
chore(fmt): add legacy stubs and strip trailing whitespace to unblock cargo fmt
|
2025-09-17 07:43:07 +09:00 |
|
|
|
a45c22891c
|
selfhosting-dev: finalize local changes post-rebase abort (dep_tree tools, runner, grammar); keep tmp deps json in-tree
|
2025-09-08 11:20:13 +09:00 |
|
|
|
f22082f67c
|
resolve: apply stashed using/module + deps bridge; remove conflict markers in runner/mod.rs
|
2025-09-08 04:35:50 +09:00 |
|
|
|
d52779dc10
|
jit: ops_ext delegation + M3 syntax scaffolding; unify BoxCall execution path
|
2025-09-02 17:12:51 +09:00 |
|