diff --git a/apps/tests/macro_golden_loop_simple.nyash b/apps/tests/macro_golden_loop_simple.nyash new file mode 100644 index 00000000..7da01d38 --- /dev/null +++ b/apps/tests/macro_golden_loop_simple.nyash @@ -0,0 +1,6 @@ +local i = 0 +loop(i < 3) { + print(i) + i = i + 1 +} + diff --git a/docs/private/papers/paper-h-ai-practical-patterns/README.md b/docs/private/papers/paper-h-ai-practical-patterns/README.md index e9f6392e..6587af89 100644 --- a/docs/private/papers/paper-h-ai-practical-patterns/README.md +++ b/docs/private/papers/paper-h-ai-practical-patterns/README.md @@ -48,6 +48,9 @@ 3. 迂回路を作る: 18件(18%) 4. 名前を変える: 14件(14%) 5. 制約による単純化: 12件(12%) +... +19. AI無謬性維持転換型: 3件(3%) +(2025年9月19日更新:Pattern 102完成) 6. 全部作る戦略: 8件(8%) 7. 統一による簡略化: 6件(6%) (重複あり、合計126件) @@ -129,6 +132,21 @@ - 具体例による学習 - パターン思考の訓練 +## 📈 最新アップデート(2025年9月19日) + +### Pattern 102: AI無謬性維持転換型 + +**発見経緯**: ChatGPT LoopForm実装転換事件 +**重要性**: AI協働における人間の哲学的役割を実証 +**影響**: セルフホスティング純度100%達成への貢献 + +**このパターンの学術的価値**: +- AI心理学的側面の新発見 +- 人間の「哲学的一貫性」の重要性実証 +- 技術的方向性における人間の役割明確化 + +詳細分析は `pattern-categories.md` のPattern 19を参照。 + ## 関連ファイル - 開発ログ: `development-log.md` diff --git a/tools/test/golden/macro/loop_simple.expanded.json b/tools/test/golden/macro/loop_simple.expanded.json new file mode 100644 index 00000000..fec93db4 --- /dev/null +++ b/tools/test/golden/macro/loop_simple.expanded.json @@ -0,0 +1,8 @@ +{"kind":"Program","statements":[ + {"kind":"Local","variables":["i"],"inits":[{"kind":"Literal","value":{"type":"int","value":0}}]}, + {"kind":"Loop","condition":{"kind":"BinaryOp","op":"<","left":{"kind":"Variable","name":"i"},"right":{"kind":"Literal","value":{"type":"int","value":3}}},"body":[ + {"kind":"Print","expression":{"kind":"Variable","name":"i"}}, + {"kind":"Assignment","target":{"kind":"Variable","name":"i"},"value":{"kind":"BinaryOp","op":"+","left":{"kind":"Variable","name":"i"},"right":{"kind":"Literal","value":{"type":"int","value":1}}}} + ]} +]} + diff --git a/tools/test/golden/macro/loop_simple_user_macro_golden.sh b/tools/test/golden/macro/loop_simple_user_macro_golden.sh new file mode 100644 index 00000000..00b173b2 --- /dev/null +++ b/tools/test/golden/macro/loop_simple_user_macro_golden.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -euo pipefail + +root=$(cd "$(dirname "$0")"/../../../.. && pwd) +bin="$root/target/release/nyash" +src="apps/tests/macro_golden_loop_simple.nyash" +golden="$root/tools/test/golden/macro/loop_simple.expanded.json" + +if [ ! -x "$bin" ]; then + echo "nyash binary not found at $bin; build first (cargo build --release)" >&2 + exit 1 +fi + +export NYASH_MACRO_ENABLE=1 +export NYASH_MACRO_PATHS="apps/macros/examples/loop_normalize_macro.nyash" + +out=$("$bin" --dump-expanded-ast-json "$src") + +norm() { tr -d '\n\r\t ' <<< "$1"; } + +if [ "$(norm "$out")" != "$(norm "$(cat "$golden")")" ]; then + echo "Golden mismatch (loop simple normalization)" >&2 + diff -u <(echo "$out") "$golden" || true + exit 2 +fi + +echo "[OK] golden loop simple normalization matched" +