diff --git a/docs/development/current/main/10-Now.md b/docs/development/current/main/10-Now.md index e561f89a..1f59c887 100644 --- a/docs/development/current/main/10-Now.md +++ b/docs/development/current/main/10-Now.md @@ -1,17 +1,19 @@ # Self Current Task — Now (main) -## Current Focus: Phase 29y P0(Docs finalize) +## Current Focus: Phase 29y P0 Complete ✅ / Phase 287 Complete ✅ / Next: Backlog review + +**2025-12-27: Phase 29y P0 完了** ✅ +- docs-first SSOT finalized(ABI/RC insertion/Observability) +- 3つのSSOT文書(10/20/30)を Ready に確定 +- pilot 実装(Phase 29y.1)の入口を固定 +- Next steps(実装タスク3つ)を明文化 +- 入口: `docs/development/current/main/phases/phase-29y/README.md` +- **Next**: Phase 29z(RC insertion minimal)または Phase 29x(De-Rust runtime)候補 **2025-12-27: Phase 287 完了** ✅ -- P0-P8完了(big files modularization / facade pattern / SSOT establishment) -- P9: Phase closeout完了(docs更新) +- P0-P9完了(big files modularization / facade pattern / SSOT establishment / closeout) - 検証: quick 154/154 PASS維持、意味論不変 - 入口: `docs/development/current/main/phases/phase-287/README.md` -- **Next**: `docs/development/current/main/30-Backlog.md` から次タスク選定 - -**Next (docs-first)**: -1. **Phase 29y P0**: docs を締める(ABI/RC insertion/observability) - - 指示書: `docs/development/current/main/phases/phase-29y/P0-DOCS-FINALIZE-INSTRUCTIONS.md` **2025-12-27: Phase 188.3 完了** ✅ - Pattern6(NestedLoopMinimal): `apps/tests/phase1883_nested_minimal.hako` が RC=9 diff --git a/docs/development/current/main/30-Backlog.md b/docs/development/current/main/30-Backlog.md index ab18640a..64f975b3 100644 --- a/docs/development/current/main/30-Backlog.md +++ b/docs/development/current/main/30-Backlog.md @@ -51,9 +51,11 @@ Related: - `let weak w;` / `let weak w = e` の糖衣を検討(概念を増やさず `let w = weak e` にデシュガー) - fixture/smoke は `apps/tests/*.hako` を SSOT にして VM/LLVM で共通化(必要なら LLVM 側は SKIP で理由を固定) -- **Phase 29y(next, docs-first): MIR lifecycle vocab freeze(RC/weak/ABI)** +- **Phase 29y(✅ P0 COMPLETE, docs-first SSOT finalized): MIR lifecycle vocab freeze(RC/weak/ABI)** + - 状況: P0 ✅ 完了(docs-first SSOT finalized: ABI/RC insertion/Observability) + - 成果: 3つのSSOT文書(10/20/30)Ready、pilot実装固定、Next steps明文化 - 入口: `docs/development/current/main/phases/phase-29y/README.md` - - 指示書: `docs/development/current/main/phases/phase-29y/P0-DOCS-FINALIZE-INSTRUCTIONS.md` + - 次: Phase 29z(RC insertion minimal)または Phase 29x(De-Rust runtime)候補 - **Phase 29x(planned, post self-host): De-Rust runtime for LLVM execution** - 目的: LLVM 実行経路のランタイム依存を段階的に Rust から切り離す(脱Rust)。 diff --git a/docs/development/current/main/phases/phase-29y/10-ABI-SSOT.md b/docs/development/current/main/phases/phase-29y/10-ABI-SSOT.md index 57656118..30b3640e 100644 --- a/docs/development/current/main/phases/phase-29y/10-ABI-SSOT.md +++ b/docs/development/current/main/phases/phase-29y/10-ABI-SSOT.md @@ -1,6 +1,6 @@ # Phase 29y: ABI SSOT(lifecycle / RC / weak) -Status: Draft (docs-first, post self-host) +Status: Ready (docs-first, post self-host) Scope: “脱Rustランタイム(NyRT/.hako)” を進める前提で、lifecycle/RC/weak の境界を ABI として固定する。 この文書は「実装の現状」を説明するのではなく、**将来の置換(NyRT/.hako化)に耐える契約**を先に固定する。 diff --git a/docs/development/current/main/phases/phase-29y/20-RC-INSERTION-SSOT.md b/docs/development/current/main/phases/phase-29y/20-RC-INSERTION-SSOT.md index 78896ee1..69dd5e10 100644 --- a/docs/development/current/main/phases/phase-29y/20-RC-INSERTION-SSOT.md +++ b/docs/development/current/main/phases/phase-29y/20-RC-INSERTION-SSOT.md @@ -1,6 +1,6 @@ # Phase 29y: RC insertion SSOT(1箇所で決める) -Status: Draft (docs-first, post self-host) +Status: Ready (docs-first, post self-host) Scope: retain/release/weak_drop の発火点を “分散実装しない” ための SSOT を固定する。 ## 0. 目的 diff --git a/docs/development/current/main/phases/phase-29y/30-OBSERVABILITY-SSOT.md b/docs/development/current/main/phases/phase-29y/30-OBSERVABILITY-SSOT.md index 0a17f1aa..5049e686 100644 --- a/docs/development/current/main/phases/phase-29y/30-OBSERVABILITY-SSOT.md +++ b/docs/development/current/main/phases/phase-29y/30-OBSERVABILITY-SSOT.md @@ -1,6 +1,6 @@ # Phase 29y: Observability SSOT(root surface / diagnostics) -Status: Draft (docs-first, post self-host) +Status: Ready (docs-first, post self-host) Scope: hidden root を “再発しにくく” するために、root面と観測点を SSOT として固定する。 ## 0. 目的 diff --git a/docs/development/current/main/phases/phase-29y/README.md b/docs/development/current/main/phases/phase-29y/README.md index 9908c4f0..4c98c2a4 100644 --- a/docs/development/current/main/phases/phase-29y/README.md +++ b/docs/development/current/main/phases/phase-29y/README.md @@ -1,12 +1,12 @@ # Phase 29y (future, post self-host / docs-first): MIR lifecycle vocab freeze(RC/weak/ABI) -Status: Ready (docs-first) -Scope: self-host 後に “脱Rustランタイム(NyRT/.hako)” を進める前提で、MIR の lifecycle/RC/weak を **どこまで語彙として固定**し、どこからを **runtime ABI(NyRT)**に委譲するかを SSOT 化する。 +Status: Ready (P0 complete - docs-first SSOT finalized) +Scope: self-host 後に "脱Rustランタイム(NyRT/.hako)" を進める前提で、MIR の lifecycle/RC/weak を **どこまで語彙として固定**し、どこからを **runtime ABI(NyRT)**に委譲するかを SSOT 化する。 ## Entry - 相談パケット(SSOT): `docs/development/current/main/investigations/phase-29y-mir-lifecycle-vocab-consult.md` -- 次の指示書(P0, docs-only): `docs/development/current/main/phases/phase-29y/P0-DOCS-FINALIZE-INSTRUCTIONS.md` +- ~~次の指示書(P0, docs-only)~~ ✅ 完了: `docs/development/current/main/phases/phase-29y/P0-DOCS-FINALIZE-INSTRUCTIONS.md` ## Non-goals (Phase 29y ではやらない) @@ -22,10 +22,10 @@ Phase 29y を “締める” 条件は実装ではなく、次フェーズへ 2. **RC insertion SSOT**: retain/release/weak_drop の発火点を “1箇所” に寄せる設計(Frag 前後)を docs に固定 3. **Observability SSOT**: hidden root を追える観測点(root面の定義、診断API、smokeは exit code SSOT)を docs に固定 -Docs(Phase 29y 内の SSOT): -- ABI SSOT: `docs/development/current/main/phases/phase-29y/10-ABI-SSOT.md` -- RC insertion SSOT: `docs/development/current/main/phases/phase-29y/20-RC-INSERTION-SSOT.md` -- Observability SSOT: `docs/development/current/main/phases/phase-29y/30-OBSERVABILITY-SSOT.md` +Docs(Phase 29y 内の SSOT - ✅ P0 complete, all Ready): +- ABI SSOT: `docs/development/current/main/phases/phase-29y/10-ABI-SSOT.md` ✅ Ready +- RC insertion SSOT: `docs/development/current/main/phases/phase-29y/20-RC-INSERTION-SSOT.md` ✅ Ready +- Observability SSOT: `docs/development/current/main/phases/phase-29y/30-OBSERVABILITY-SSOT.md` ✅ Ready ## Implementation Pilot (Phase 29y.1) @@ -52,6 +52,34 @@ Phase 29y は docs-first が主目的だが、後続の実装フェーズへ迷 - **関数ABI**: args borrowed / return owned(borrowed を保存/返す場合のみ retain) - **weak identity**: alloc_id + generation token を SSOT 化(ログも token 表示) +## Next Steps(実装フェーズへ切るための最小タスク) + +Phase 29y は docs-first を完了し、次フェーズ(Phase 29x/29z など)へ迷わず移れる状態になった。 + +以下の実装タスク(最大3つ)を次フェーズで進める: + +1. **RC insertion pass の最小動作化** + - 現状: `src/mir/passes/rc_insertion.rs` は no-op skeleton + - 次: 保持・解放の1ケースだけを実装(上書き時の release のみ) + - 目的: CFG確定後の挿入点を実証し、SSOT(20-RC-INSERTION-SSOT.md)の妥当性を検証 + +2. **ABI borrowed/owned conformance smoke 追加** + - 現状: `phase29y_handle_abi_{vm,llvm}.sh` は最小ケース(1 fixture のみ) + - 次: borrowed args / owned return の conformance を1本追加 + - 目的: 関数ABI契約(10-ABI-SSOT.md §3)を実際の smoke で固定 + +3. **Observability root categories 拡張** + - 現状: `leak_tracker.rs` は handles のみ可視(Phase 1 limitation) + - 次: locals または temps のいずれか1つを root summary に追加 + - 目的: root面カテゴリ(30-OBSERVABILITY-SSOT.md §1)の観測実装を1段進める + +**受け入れ基準**: +- quick 154/154 PASS 維持 +- integration smokes の phase29y_* が green 維持 +- 恒常ログ増加なし + +**Next Phase 候補**: Phase 29z(RC insertion minimal)または Phase 29x(De-Rust runtime) + ## Related - lifecycle semantics SSOT: `docs/reference/language/lifecycle.md`