docs(phase29z): Add RC insertion minimal instructions

This commit is contained in:
2025-12-27 14:18:33 +09:00
parent 292fb83dcb
commit 2223c1309b
4 changed files with 75 additions and 1 deletions

View File

@ -1,6 +1,6 @@
# Self Current Task — Now (main)
## Current Focus: Phase 29y P0 Complete ✅ / Phase 287 Complete ✅ / Next: Backlog review
## Current Focus: Phase 29z P0RC insertion minimal
**2025-12-27: Phase 29y P0 完了**
- docs-first SSOT finalizedABI/RC insertion/Observability

View File

@ -57,6 +57,10 @@ Related:
- 入口: `docs/development/current/main/phases/phase-29y/README.md`
- 次: Phase 29zRC insertion minimalまたは Phase 29xDe-Rust runtime候補
- **Phase 29znext, implementation-minimal: RC insertion minimal**
- 入口: `docs/development/current/main/phases/phase-29z/README.md`
- 指示書: `docs/development/current/main/phases/phase-29z/P0-RC_INSERTION_MINIMAL-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,61 @@
# Phase 29z P0: RC insertion minimal意味論不変ガード付き
**Date**: 2025-12-27
**Status**: Readynext
**Scope**: `src/mir/passes/rc_insertion.rs` を no-op から “最小の1ケース” だけ動作する pass にする。
**Non-goals**: 大規模な所有モデル導入、全ケース対応、既定挙動変更、env var 新設
---
## 目的SSOT
- Phase 29y の RC insertion SSOT を “実装で1回証明” する。
- 既定挙動は変えず、**最小ケースだけ**を opt-in で通すFail-Fast/rollback容易
SSOT:
- `docs/development/current/main/phases/phase-29y/20-RC-INSERTION-SSOT.md`
---
## 実装方針(ガード)
既定OFFで導入する互換維持
推奨ガードenv var を増やさない):
- 既存の “profile/strict” の枠に載せるか、`cfg(debug_assertions)` 限定で有効化
- どうしてもトグルが必要なら `src/config/env` 集約& docs に登録(撤去計画つき)
---
## 最小でやるケース1つだけ
### Case: 上書き releaseexplicit overwrite
`x = <new>` の直前に、`x` が保持していた “旧値” を release する。
制約:
- PHI/loop/early-exit は扱わないout-of-scope は今は no-op のまま)
- 影響は “明示的な上書き” のみ
---
## 手順
1. `src/mir/passes/rc_insertion.rs` の入口を整理し、`RcInsertionStats` を維持したまま実装領域を作る
2. “上書き release” だけを挿入(他は触らない)
3. 最小の conformance fixture を 1 本追加VMのみでも可、LLVMはSKIP可
4. 既定OFFで quick が緑のままを確認
---
## 検証(受け入れ基準)
```bash
cargo build --release
./tools/smokes/v2/run.sh --profile quick
```
受け入れ:
- Build: 0 errors
- quick: 154/154 PASS
- 既定挙動不変トグルOFFで完全に影響なし

View File

@ -0,0 +1,9 @@
# Phase 29z: RC insertion minimalPhase 29y follow-up
Status: Draft
Scope: Phase 29y の SSOTRC insertion / ABI / observabilityを前提に、**RC insertion pass を最小動作**まで進める。
Entry:
- SSOT: `docs/development/current/main/phases/phase-29y/20-RC-INSERTION-SSOT.md`
- 指示書: `docs/development/current/main/phases/phase-29z/P0-RC_INSERTION_MINIMAL-INSTRUCTIONS.md`