docs(phase29y): Finalize P0 SSOT

This commit is contained in:
2025-12-27 14:17:18 +09:00
parent 9c6b725e3e
commit 292fb83dcb
6 changed files with 52 additions and 20 deletions

View File

@ -1,17 +1,19 @@
# Self Current Task — Now (main)
## Current Focus: Phase 29y P0Docs finalize
## Current Focus: Phase 29y P0 Complete ✅ / Phase 287 Complete ✅ / Next: Backlog review
**2025-12-27: Phase 29y P0 完了**
- docs-first SSOT finalizedABI/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 29zRC insertion minimalまたは Phase 29xDe-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 完了**
- Pattern6NestedLoopMinimal: `apps/tests/phase1883_nested_minimal.hako` が RC=9

View File

@ -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 29ynext, docs-first: MIR lifecycle vocab freezeRC/weak/ABI**
- **Phase 29y✅ P0 COMPLETE, docs-first SSOT finalized: MIR lifecycle vocab freezeRC/weak/ABI**
- 状況: P0 ✅ 完了docs-first SSOT finalized: ABI/RC insertion/Observability
- 成果: 3つのSSOT文書10/20/30Ready、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 29zRC insertion minimalまたは Phase 29xDe-Rust runtime候補
- **Phase 29xplanned, post self-host: De-Rust runtime for LLVM execution**
- 目的: LLVM 実行経路のランタイム依存を段階的に Rust から切り離す脱Rust

View File

@ -1,6 +1,6 @@
# Phase 29y: ABI SSOTlifecycle / 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化に耐える契約**を先に固定する。

View File

@ -1,6 +1,6 @@
# Phase 29y: RC insertion SSOT1箇所で決める
Status: Draft (docs-first, post self-host)
Status: Ready (docs-first, post self-host)
Scope: retain/release/weak_drop の発火点を “分散実装しない” ための SSOT を固定する。
## 0. 目的

View File

@ -1,6 +1,6 @@
# Phase 29y: Observability SSOTroot surface / diagnostics
Status: Draft (docs-first, post self-host)
Status: Ready (docs-first, post self-host)
Scope: hidden root を “再発しにくく” するために、root面と観測点を SSOT として固定する。
## 0. 目的

View File

@ -1,12 +1,12 @@
# Phase 29y (future, post self-host / docs-first): MIR lifecycle vocab freezeRC/weak/ABI
Status: Ready (docs-first)
Scope: self-host 後に 脱RustランタイムNyRT/.hako を進める前提で、MIR の lifecycle/RC/weak を **どこまで語彙として固定**し、どこからを **runtime ABINyRT**に委譲するかを SSOT 化する。
Status: Ready (P0 complete - docs-first SSOT finalized)
Scope: self-host 後に "脱RustランタイムNyRT/.hako" を進める前提で、MIR の lifecycle/RC/weak を **どこまで語彙として固定**し、どこからを **runtime ABINyRT**に委譲するかを 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 に固定
DocsPhase 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`
DocsPhase 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 ownedborrowed を保存/返す場合のみ 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確定後の挿入点を実証し、SSOT20-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 29zRC insertion minimalまたは Phase 29xDe-Rust runtime
## Related
- lifecycle semantics SSOT: `docs/reference/language/lifecycle.md`