docs(phase29y): Add P0 docs-finalize instructions

This commit is contained in:
2025-12-27 14:04:56 +09:00
parent 60e3510b26
commit 9c6b725e3e
4 changed files with 79 additions and 2 deletions

View File

@ -1,6 +1,6 @@
# Self Current Task — Now (main)
## Current Focus: Phase 287 Complete ✅ / Next: Backlog review
## Current Focus: Phase 29y P0Docs finalize
**2025-12-27: Phase 287 完了**
- P0-P8完了big files modularization / facade pattern / SSOT establishment
@ -9,6 +9,10 @@
- 入口: `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
- Merge SSOTlatch/entry-like/double latchを固定BackEdgeのみlatch記録、main entry blockのみentry-like、二重latchはdebug_assert

View File

@ -51,6 +51,10 @@ 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**
- 入口: `docs/development/current/main/phases/phase-29y/README.md`
- 指示書: `docs/development/current/main/phases/phase-29y/P0-DOCS-FINALIZE-INSTRUCTIONS.md`
- **Phase 29xplanned, post self-host: De-Rust runtime for LLVM execution**
- 目的: LLVM 実行経路のランタイム依存を段階的に Rust から切り離す脱Rust
- 前提: self-host ラインが安定し、VM/LLVM conformancePhase 285が十分に固まっていること。

View File

@ -0,0 +1,68 @@
# Phase 29y P0: Docs finalizedocs-first, 大きく進める)
**Date**: 2025-12-27
**Status**: Readynext
**Scope**: Phase 29y の SSOTABI/RC insertion/observabilityを “次フェーズへ切れる形” で締める。実装の追加はしないPhase 29y は docs-first
**Non-goals**: MIR 命令追加、GC/finalizer 新規実装、NyRT の .hako 化、既定挙動変更
---
## 目的SSOT
Phase 29y を “Draft のメモ” ではなく、後続の実装フェーズへ迷わず移れる 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-first
### Step 1: README を “実体に同期” する
`docs/development/current/main/phases/phase-29y/README.md` を更新:
- Status を `Draft``In progress`or `Ready`)へ
- 3つのSSOT10/20/30の役割を “1段落ずつ” 明文化
- Phase 29y.1pilot 実装)が既にあることを “実ファイルパス” で列挙
### Step 2: 10/20/30 の cross-link を揃える
各SSOT文書で、最低限これを満たす:
- “用語” の定義borrowed/owned, retain/release, weak identity
- “契約” が 1箇所に書かれている分散しない
- 参照先のコード/スモークが実在する(リンク切れ無し)
### Step 3: Pilot の入口を固定(実装は触らない)
README に以下を追記して、後続が迷わないようにする:
- ABI shim: `crates/nyash_kernel/src/ffi/lifecycle.rs`
- RC insertion skeleton: `src/mir/passes/rc_insertion.rs`
- Leak report: `src/runtime/leak_tracker.rs`
- Integration smokes: `tools/smokes/v2/profiles/integration/apps/phase29y_handle_abi_{vm,llvm}.sh`
- Fixture: `apps/tests/phase29y_handle_abi.hako`
### Step 4: “次に何を実装するか” を 3つまでに絞る
Phase 29y は docs-first のため、次フェーズPhase 29x/29z など)へ切るための “実装タスク” を最大3つに絞って README に書く。
例:
1. RC insertion pass を no-op から最小動作へ保持・解放の1ケースだけ
2. ABI borrowed/owned の conformance smoke を 1本追加
3. Observability の root categories を 1段追加handles 以外の最小)
---
## 検証
docs 更新後に最低限:
```bash
git status --porcelain=v1
```
任意(安心):
```bash
cargo check -p nyash-rust --lib
./tools/smokes/v2/run.sh --profile quick
```

View File

@ -1,11 +1,12 @@
# Phase 29y (future, post self-host / docs-first): MIR lifecycle vocab freezeRC/weak/ABI
Status: Draft (docs-first)
Status: Ready (docs-first)
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`
## Non-goals (Phase 29y ではやらない)