# ADR-0011: AI エージェント向け WASM ランタイム環境

- Date: 2026-02-16
- Status: accepted

## Context

vibe 言語は WASM 環境上で AI エージェントと協調して運用されることを想定している。AI エージェントがコードを生成・修正・実行するサイクルを高速に回すには、サンドボックス内で型チェック・コンパイル・実行の一連のパイプラインを完結させる必要がある。

従来の言語処理系は人間が CLI やエディタを介して操作することを前提としているが、AI エージェントにとっては:
- ファイルシステム操作を最小化し、メモリ上で完結できること
- 構造化されたエラーフィードバック（型エラー、コンパイルエラー）を受け取れること
- 実行環境のセットアップが最小限であること（ネイティブツールチェイン不要）

が重要となる。

## Decision

**初期ターゲットとして Deno + WASM による REPL 環境を AI エージェントに提供する。**

構成:
```
AI Agent
  ↓ (テキスト入出力)
Deno ホストランタイム
  ↓ (WASM インスタンス呼び出し)
vibe コンパイラ (wasm/vibe/vibe.wasm)
  → 型チェック → コンパイル → 実行
  ← 構造化された結果/エラー
```

提供する機能:
1. **型チェック** — ソースコード文字列を受け取り、型エラーを JSON で返す
2. **コンパイル** — vibe ソースを WASM バイナリにコンパイル
3. **実行** — コンパイル済み WASM を Deno 上で即時実行し、stdout/stderr を返す
4. **REPL (eval)** — スクラッチワークフロー（ADR-0009）を活用した逐次的な定義の蓄積

前提:
- vibe コンパイラ自体が WASM-GC で配布可能（ADR-0001）
- Deno は WASM 実行とネットワーク/FS のサンドボックスを提供する
- AI エージェントはテキストプロトコル（stdin/stdout または関数呼び出し）で対話する

## Consequences

- AI エージェントは `deno` と `vibe.wasm` だけで型安全なコード生成→検証→実行ループを回せる
- ネイティブツールチェインやビルドシステムのセットアップが不要
- 構造化エラー出力の API 設計が必要になる（人間向けメッセージとは別のフォーマット）
- Deno のサンドボックス（`--allow-read`, `--allow-net` 等）により、AI が生成したコードの実行リスクを制限できる
- 将来的に MCP (Model Context Protocol) ツールとしての統合や、ブラウザ内での実行にも展開可能
