# ChatGPT5先生のANCP実装アドバイス - 2025-09-03

## 🎯 総評：全面支持 + 事故防止のガードレール

> 「めっちゃ良い計画。やる価値デカいにゃ。」
> 「Phase 12のABI安定＋MIR最適化の上に載る"上物"で、下層を壊さない。」

## 📋 Go/No-Go評価

- **Go（強）**: 即座にAI効率が出る、下層を壊さない
- **注意**: 文法改革と圧縮を**混ぜない**。段階導入必須

## ✅ 成功条件（出荷時に断言できるライン）

1. **完全可逆**: `P → C → P` & `P → C → F → C → P` が常に一致
2. **コンパイラ等価**: `compile(P)` と `compile(F)` の MIRハッシュ一致
3. **曖昧性ゼロ**: 字句規則を形式化（最大貪欲＋必要箇所のみセミコロン自動挿入）
4. **ソースマップ2.0**: トークン単位の双方向マップ + BoxID
5. **測定公開**: 削減率・パース時間・LLMトークン消費を数字で提示

## 📅 4週間実装計画

### Week 1（Phase 12.7-A）— 最小で回す
- P↔C のトークンベース変換（正規表現は使わない）
- 固定辞書20語から開始
- `nyashc --compact/--decompact` + `sourcemap.json`
- CI: 既存サンプル全ファイルで P→C→P 等価テスト

### Week 2（12.7-B）— スマート化
- 文字列/コメント/正規表現リテラル非変換ゾーン認識
- 自動セミコロン挿入の衝突検出
- LLMパック: `--llm-pack` が最小仕様カード生成

### Week 3（12.7-C）— F層（読み込み専用）
- F（Fusion）を入力専用で導入（出力はC）
- MIR直行デコーダ + 等価性検証
- 代表5命令だけ実装して漸進展開

### Week 4（12.7-D）— ツール/拡張
- VSCode拡張（C表示⇄Pホバー）
- `nyash fmt --mode=pretty|compact`
- ベンチ自動化：CSV出力

## 🚨 設計の"赤線"（破ると事故る）

1. **Pは正典** - PR/レビューは常にPで行う
2. **識別子衝突禁止** - 予約語→記号化でも曖昧にならない
3. **Unicode強制しない** - 常にASCIIモード完備
4. **クロージャ/可変長演算** - ASTテンプレで可逆に

## 💡 記号マッピング実務案

### ASCIIモード（デフォルト）
```
box → $        new → ~n      me → m
local → ~l     return → ~r   from → @
init → #       if → ?        else → :
loop → ~L
```

### 区切り規則
- 記号トークンの左右に英数が来たら必ず1スペース自動挿入
- `~[A-Za-z]` は将来予約

## 🔧 実装の鍵

### フォーマッタ可逆性
- 変換は**トークン列→トークン列**
- 文字列/テンプレ/正規表現の中身は一切触らない
- 演算子の前置/後置/単項は個別トークン型
- セミコロン自動挿入はスタック機械で判定

### CLI設計
```bash
nyashc --compact --mode=ascii|uni --emit=code,sourcemap
nyashc --fusion --emit=fusion,mir --read-only
nyash fmt --mode=pretty|compact
nyash llm-pack <src-dir>
```

## 📊 KPI（毎週測定）

- コード削減率（P→C、P→F）
- パース/フォーマット時間（ms/MB）
- MIR生成時間の差（P vs C vs F）
- LLMトークン削減率
- 等価テスト失敗率（%）

## 🔐 互換性とバージョニング

- **ANCP v1**: `ancp://v1?mode=ascii|uni` マジックコメント
- 将来の記法変更は `ver` と `feature_bits` で表明

## ⚠️ リスクと対処

| リスク | 対処 |
|--------|------|
| 読みづらさ | Pを正典・Cは生成物。編集は常にP |
| デバッグ困難 | ソースマップ2.0で例外・ログをPへ逆引き |
| 学習コスト | VSCode拡張のホバー復元とQuick Toggle |
| LLMの誤解 | llm-packに最小仕様カード必須付与 |

---

## 💬 結論

> **Phase 12.7 は"今やるべき"**。
> ただし「常にPを正典」「トークン変換で可逆」「Fはまず入力専用」の三原則を守れば、
> **90%圧縮×AI最適化**の恩恵を"事故ゼロで"取りにいけるにゃ。

**次の一歩**: AncpTranscoderのトークン仕様書（BNF/EBNF）作成！