# 「プロジェクト」の境界を調べる実験（2026-10-12）

3つのCLIが、同じフォルダ構成から何をコンテキストに入れるか、履歴をどの単位で持つかを調べました。

- 環境：macOS。Claude Code 2.1.291、codex-cli 0.160.0、Grok Build 1.0.46。モデルは各CLIの既定。
- 方法：各ファイルに `MARK-…` で始まる目印の文字列を入れておき、「コンテキストに最初から入っている目印を全部書いて。ツールは使わないで」と頼みます。答えに出た目印が、読み込まれたファイルです。
- 注意：「読み込まれたか」を見る実験で、「その指示に従うか」は見ていません。答えはモデル自身の報告なので、3回ずつ繰り返しました。

| ファイル | 内容 | 回数 |
|---|---|---|
| `run.py` → `results.json` | 指示ファイルの読み込み。4つの場所×3CLI（Grokは `--trust` 有無の2通り）×3回 | 48 |
| `session.py` → `session-results.json` | 「直前の会話を続ける」を、同じフォルダ・サブフォルダ・別フォルダで | 9（＋最初の会話3） |
| `bridge.py` → `bridge-results.json` | `@AGENTS.md` の取り込みと、Codexの `project_doc_fallback_filenames` | 12 |

自分の環境で試すときは、`python3 run.py` のように実行します。`/tmp` に検証用のフォルダを作って、LLMを呼びます（各CLIにログイン済みであることが前提です）。

## 会話継続の観察範囲

同じフォルダでは3CLIとも合言葉が出ました。サブフォルダ・別フォルダではClaude CodeとCodexが「不明」と回答し、Grokは2件とも返答が空でした。Claudeのフォルダ別保存は手元でも確認しましたが、Grokについて同じ履歴の単位とは断定できません。公式docs由来の説明と、この観察は分けて扱います。

`session-results.json` の `recalled:false` は、答えに合言葉が含まれなかったというhistorical値です。`session.py` はreturncodeとstderrを保存していないため、空文字が実行失敗なのか、有効な回答で合言葉が出なかったのかを識別できません。空返答2件は判定不能として扱い、保存JSONの値は変更していません。
