xout - X セッション
xoutは、質問の代わりに反証可能な対比ペアを提示し、ユーザーの唯一の動作「Xを打つ」だけでClaude Codeの設定(8軸仮説空間、6,561通りの組み合わせ)を収束させます。 セッション実行中はLLM呼び出し0回、外部ネットワーク呼び出し0回です——すべての進行はローカルのappend-onlyイベント台帳上で行われます。
実行ルール
どのセッションでも開始前に必ず
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" statusを実行し、
再審待ちバナーを確認します。バナーがある場合は、ユーザーにその内容を一行で伝えます。
セッションは対話(chat)モードで進めます:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" pairを実行し、 JSONを受け取ります。キーはpair.left_text/pair.right_text/pair.pair_idです。- 2つの行動本文をそのままユーザーに表示し、どちらにXを打つか尋ねます。
- ユーザーが明示的に選択したものだけを
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" strike <left|right|both|pair> --pair-id <pair_id>で記録します。 - 応答JSONの
session_completeがtrueになるまで1〜3を繰り返します。 - 完了したら
rulesの8行を表示し、適用するかどうかを尋ねます。ユーザーが「はい」と答えた場合のみenable --grantを実行します。
ユーザーがターミナルで直接実行したい場合は、xout(または uvx xout)の一行を案内します——同じ台帳を使用するため、どこで作業を中断しても続行可能です。
| 引数 | 実行方法 | コマンド | 説明 |
|---|---|---|---|
(なし)または chat | フォアグラウンドで繰り返し | 上記対話ループ(pair → ユーザー選択 → strike) | 未完了セッションが1件あれば続きから、なければ新規15打ちセッション |
status | フォアグラウンド出力 | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" status | 着地/有効化/再開/判定の概要 |
sessions | フォアグラウンド出力 | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" sessions | 最近のセッション一覧 |
doctor | フォアグラウンド出力 | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" doctor | インストール・データ・リプレイのローカル診断 |
enable | フォアグラウンド出力 | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" enable --grant | 明示的な要求があった場合のみ、CLAUDE.mdに所有@import行を1行追加 |
undo または rollback | フォアグラウンド出力 | python3 "${CLAUDE_PLUGIN_ROOT}/scripts/xout_plugin.py" undo | xoutが追加した@import行のみを削除 |
ステータス出力に「再審待ち N件」のバナーがある場合
セッションを開始する前に、バナーの内容をユーザーに一行で伝え、ターミナルで
xout recheck により再審に入れることを案内します。受諾するかどうかはユーザーが判断します——代わりに決定してはなりません。
セッション終了後
- 成果物は
~/.claude/xout/専用ディレクトリにのみ配置されます (XOUT.md + manifest.json + settings.xout.json)。 - ユーザーのCLAUDE.md有効化は上記ランチャーの
enable --grantでのみ行い、 @import行1行のみが追加されます。ユーザーが明示的に同意した場合のみ実行します。 - ロールバックも上記ランチャーの
undoのみを使用します(その1行のみ削除)。 - 適用前に
conflicts [パス]で、プロジェクトのルールファイル(CLAUDE.md/AGENTS.md/ .cursorrules)と競合する行を file:line で表示できます。正面衝突の場合は プロジェクトが優先される旨がXOUT.mdのプリアンブルに既に記載されています。 - ルールが実際に選択に影響を与えるかどうかは
probeが測定します——外部ランナー(デフォルトclaude -p)をセッション外で呼び出すオプトインコマンドであり、ユーザーが要求した場合のみ実行し、 レシートは~/.claude/xout/probes/にのみ残ります。
禁止事項
- ユーザーの代わりにXを打ってはなりません——Xはユーザーの反証行為です。
- CLAUDE.mdやsettings.jsonを直接編集してはなりません——xoutの所有権契約違反です。
- ペア本文を要約したり編集して表示してはなりません——原文そのままが測定ツールです。