From 90a8f1650d0c15adfa07aad80ed9507a1ca5677b Mon Sep 17 00:00:00 2001 From: nyash-codex Date: Wed, 17 Dec 2025 04:26:23 +0900 Subject: [PATCH] docs: Phase 99 notes and indices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Trim/escape実コード寄り強化の記録: - phase-96: 3ケース追記 - phase-95: 末尾バックスラッシュ扱い追記 - phase-99: 新規README作成 - 10-Now.md: Phase 99短報追加 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- docs/development/current/main/10-Now.md | 7 +++++ .../current/main/phases/phase-95/README.md | 1 + .../current/main/phases/phase-96/README.md | 5 ++-- .../current/main/phases/phase-99/README.md | 26 +++++++++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 docs/development/current/main/phases/phase-99/README.md diff --git a/docs/development/current/main/10-Now.md b/docs/development/current/main/10-Now.md index a783ee06..90a13e7d 100644 --- a/docs/development/current/main/10-Now.md +++ b/docs/development/current/main/10-Now.md @@ -1,5 +1,12 @@ # Self Current Task — Now (main) +## 2025‑12‑17:Phase 99 完了 ✅ + +**Phase 99: Trim/escape 実コード寄り強化(VM+LLVM EXE)** +- next_non_ws を3ケース固定(`2`, `-1`, `3`)— 改行/CR/Tab混在パターン追加 +- escape 末尾バックスラッシュを best-effort として固定(`hello\` そのまま出力) +- VM+LLVM EXE parity 完全対応、integration smoke で検証済み + ## 2025‑12‑15:Phase 132 完了 ✅ **Phase 132: LLVM Exit PHI=0 根治修正 完了!** diff --git a/docs/development/current/main/phases/phase-95/README.md b/docs/development/current/main/phases/phase-95/README.md index 7aabe10d..27637441 100644 --- a/docs/development/current/main/phases/phase-95/README.md +++ b/docs/development/current/main/phases/phase-95/README.md @@ -1,3 +1,4 @@ - Phase 95: json_loader escape loopを Phase 94 基盤(BodyLocalDerivedEmitter + p5b_escape_derived_policy)でE2E固定する。 - 新規フィクスチャ: apps/tests/phase95_json_loader_escape_min.hako(hello" world を出力) - ガード: HAKO_JOINIR_STRICT=1 で fail-fast 維持。smoke (integration) で VM 出力を検証。 +- Phase 99追加: 末尾バックスラッシュは best-effort(そのまま出力)として固定。apps/tests/phase99_json_loader_escape_trailing_backslash_min.hako で検証。 diff --git a/docs/development/current/main/phases/phase-96/README.md b/docs/development/current/main/phases/phase-96/README.md index 299e8bc0..ab805d9e 100644 --- a/docs/development/current/main/phases/phase-96/README.md +++ b/docs/development/current/main/phases/phase-96/README.md @@ -1,3 +1,4 @@ - Phase 96: MiniJsonLoader の next_non_ws ループを Trim policy/SSOT で固定。 -- フィクスチャ: apps/tests/phase96_json_loader_next_non_ws_min.hako(期待: `2` と `-1` を出力) -- smoke: tools/smokes/v2/profiles/integration/apps/phase96_json_loader_next_non_ws_vm.sh(VM, strict、出力一致チェック) +- フィクスチャ: apps/tests/phase96_json_loader_next_non_ws_min.hako(期待: `2`, `-1`, `3` を出力、Phase 99で3ケース目追加) +- smoke: tools/smokes/v2/profiles/integration/apps/phase96_json_loader_next_non_ws_vm.sh(VM, strict、3行出力一致チェック) +- smoke: tools/smokes/v2/profiles/integration/apps/phase97_next_non_ws_llvm_exe.sh(LLVM EXE parity、Phase 99で3行対応) diff --git a/docs/development/current/main/phases/phase-99/README.md b/docs/development/current/main/phases/phase-99/README.md new file mode 100644 index 00000000..1d1a968e --- /dev/null +++ b/docs/development/current/main/phases/phase-99/README.md @@ -0,0 +1,26 @@ +# Phase 99: Trim/escape 実コード寄り強化(VM+LLVM EXE) + +## ゴール +Phase96/97 の Trim/escape を "実コード寄り" に1段上げ、実アプリ側(MiniJsonLoader 相当)の失敗形を先に捕まえる状態にする。 + +## 実施内容 + +### P0-1: next_non_ws 3ケース固定(VM+LLVM) +- **拡張**: apps/tests/phase96_json_loader_next_non_ws_min.hako に3つ目のケース追加(`\n\r\tX` → 期待値 `3`) +- **smoke更新**: phase96_json_loader_next_non_ws_vm.sh と phase97_next_non_ws_llvm_exe.sh を3行比較に対応 + +### P0-2: escape 末尾バックスラッシュ固定(VM+LLVM) +- **新規fixture**: apps/tests/phase99_json_loader_escape_trailing_backslash_min.hako(`"hello\\` → 期待値 `hello\`) +- **現行仕様**: 末尾バックスラッシュは **best-effort**(そのまま出力)として固定 +- **新規smoke**: phase99_escape_trailing_backslash_vm.sh と phase99_escape_trailing_backslash_llvm_exe.sh で検証 + +## 検証 +- cargo test --lib +- bash tools/smokes/v2/profiles/integration/apps/phase96_json_loader_next_non_ws_vm.sh +- bash tools/smokes/v2/profiles/integration/apps/phase97_next_non_ws_llvm_exe.sh +- bash tools/smokes/v2/profiles/integration/apps/phase99_escape_trailing_backslash_vm.sh +- bash tools/smokes/v2/profiles/integration/apps/phase99_escape_trailing_backslash_llvm_exe.sh + +## 原則 +- **pattern増殖なし**: 既存の Policy/Recipe/Emitter で表現できる範囲だけを追加 +- **integration smokeのみ**: LLVM不足/plugins不足はSKIP