diff --git a/docs/development/current/main/10-Now.md b/docs/development/current/main/10-Now.md index db9ef294..584dbad6 100644 --- a/docs/development/current/main/10-Now.md +++ b/docs/development/current/main/10-Now.md @@ -1,5 +1,20 @@ # Self Current Task — Now (main) +## 2025-12-18:Phase 120 完了 ✅ + +**Phase 120: StepTree "Facts→Decision→Emit" 箱化モジュール化** +- 箱化モジュール化: StepTreeFacts / StepTreeContractBox の責務分離 +- StepTreeBuilderBox: 構造 + facts 抽出まで(意思決定・整形・署名生成はしない) +- StepTreeContractBox: facts → contract の整形のみ(idempotent, deterministic) +- BTreeSet で順序決定性保証(facts は順序に依存しない) +- signature_basis_string() の決定性維持(既定挙動不変) +- 回帰: Phase 103/118 維持確認、全 1142 テスト PASS +- 入口: `docs/development/current/main/design/control-tree.md` +- 実装: + - `src/mir/control_tree/step_tree_facts.rs` (63行、新規) + - `src/mir/control_tree/step_tree_contract_box.rs` (168行、新規) + - `src/mir/control_tree/step_tree.rs` (262→411行、リファクタリング) + ## 2025-12-18:Phase 119 完了 ✅ **Phase 119: StepTree cond SSOT(AST handle)**