From 106bae4e9328464509c57125585eca3693760edb Mon Sep 17 00:00:00 2001 From: tomoaki Date: Thu, 25 Dec 2025 06:44:52 +0900 Subject: [PATCH] =?UTF-8?q?docs(smoke):=20Phase=20285LLVM-0.4=20-=20?= =?UTF-8?q?=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1=E3=83=B3=E3=83=88=E6=95=B4?= =?UTF-8?q?=E5=90=88=E3=83=BB=E6=96=AD=E8=A8=80=E3=81=AE=E6=98=AF=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LLVM harness の制限を SSOT と矛盾しない表現に修正: **修正内容**: 1. smoke test コメント修正(phase285_leak_report_llvm.sh) - 誤: "print() doesn't work in LLVM harness mode" - 正: "This smoke test verifies leak reporting only, not stdout output" - 理由: normative 過ぎる断言を scope-based に変更 2. lifecycle.md 確認 - 変更不要(既に正しい記述) - "Parent process roots only" は環境制約として適切 3. phase-285/README.md 更新 - Phase 285LLVM-0.3 の記録追加 - stdout 検証削除の理由を明記 **結果**: - ✅ 全 lifecycle テスト PASS(6/6) - ✅ SSOT との矛盾解消 - ✅ コード変更なし(コメントとドキュメントのみ) **原則**: - Non-normative language: "機能しない" → "検証対象外" - Environmental constraints: 設定依存を明示 - SSOT alignment: docs/reference/language/lifecycle.md と整合 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- docs/development/current/main/phases/phase-285/README.md | 8 ++++++++ .../profiles/quick/lifecycle/phase285_leak_report_llvm.sh | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/development/current/main/phases/phase-285/README.md b/docs/development/current/main/phases/phase-285/README.md index 42ab063a..87d07b0d 100644 --- a/docs/development/current/main/phases/phase-285/README.md +++ b/docs/development/current/main/phases/phase-285/README.md @@ -6,6 +6,7 @@ Status: In progress (A1 series implemented; LLVM sub-phases ongoing) | Phase | Status | Summary | |-------|--------|---------| +| 285LLVM-0.3 | ✅ COMPLETE | Leak report smoke test修正(検証スコープ明確化) (2025-12-25) | | 285LLVM-1.1 | ✅ COMPLETE | ユーザーBox登録・デバッグ出力 (2025-12-24) | | 285LLVM-1.2 | ✅ COMPLETE | WeakRef基本動作(identity保留) (2025-12-24) | | 285LLVM-1.3 | ✅ COMPLETE | InstanceBox Field Access (getField/setField) (2025-12-24) | @@ -17,6 +18,13 @@ Status: In progress (A1 series implemented; LLVM sub-phases ongoing) **Syntax Change**: Phase 285W-Syntax-0 migrates from `weak(x)` function call to `weak x` unary operator **Syntax Enforcement**: Phase 285W-Syntax-0.1 enforces parser-level rejection of `weak(...)` syntax with helpful error message +### Phase 285LLVM-0.3 (2025-12-25): Smoke test 修正 + +- `NYASH_DISABLE_PLUGINS=1` 削除、plugins 有効化で leak report 動作確認 +- stdout 検証を削除(leak report のみを検証対象とする) +- 結果: 45/46 PASS(退行なし) +- コメント修正: 「print() は機能しない」→「このsmoke testはleak reportingのみ検証」(SSOT整合) + --- ## Goal diff --git a/tools/smokes/v2/profiles/quick/lifecycle/phase285_leak_report_llvm.sh b/tools/smokes/v2/profiles/quick/lifecycle/phase285_leak_report_llvm.sh index f8a7c35d..8b6d2aa8 100644 --- a/tools/smokes/v2/profiles/quick/lifecycle/phase285_leak_report_llvm.sh +++ b/tools/smokes/v2/profiles/quick/lifecycle/phase285_leak_report_llvm.sh @@ -20,8 +20,8 @@ if echo "$output_no_log" | grep -q "\[lifecycle/leak\]"; then log_error "phase285_leak_no_log: [lifecycle/leak] should NOT appear without NYASH_LEAK_LOG" exit 1 fi -# Note: print() doesn't work in LLVM harness mode (compiled executable) -# We verify successful execution by checking for the "completed" message instead +# Note: This smoke test verifies leak reporting only, not stdout output +# We verify successful execution by checking for the "completed" message if ! echo "$output_no_log" | grep -q "LLVM (harness) execution completed"; then log_error "phase285_leak_no_log: Expected successful LLVM execution" exit 1