# CCH のプロンプトと担当への受渡し

CCH は、担当に目的、変更範囲、完成条件、確認済みの根拠を渡す。担当はその条件の中で方法を選ぶ。モデル名や推論量を選ぶ処理と、何を依頼するかを決める処理は別々に管理する。

プロンプトはモデルへの依頼文を指す。サブエージェントは、主担当とは別の会話で働く担当である。主担当の会話を読めるとは限らないため、タスク番号だけでは必要な情報が伝わらない。

## 依頼に含める情報

| 情報 | 内容 | 欠けると起こること |
| --- | --- | --- |
| 目的と理由 | 利用者ができるようになること、その仕事が必要な理由 | 目の前の関数だけ直して業務の問題が残る |
| 担当範囲 | 作業場所、変更してよいファイル、他担当との境界 | 同じファイルを競合して編集する |
| 完成条件 | 仕様、DoD（完成と判定する条件）、必要な確認方法 | 本人の成功宣言だけで終了する |
| 観測した根拠 | 再現手順、ログ、現在の差分、既に通った検証 | 同じ調査を繰り返す、失敗原因を取り違える |
| 決定と承認の参照 | 元の依頼、確定した制約、まだ人間の判断が要る点 | 要約に書かれた推定を実行許可として扱う |
| 再修正と再開の情報 | 修正対象の指摘、試した方法、未完了項目、次の判断 | 再レビューの指摘が実装へ届かない |

承認の参照が無い場合は未提供とする。計画から抽出した `declared_scope` は変更範囲の推定であり、利用者が許可した証拠ではない。

たとえば「注文の重複登録を直す」タスクでは、担当には対象の保存処理、重複が起きる操作、同じ注文が1件だけ保存される完成条件、既存のテスト、変更を避ける決済処理を渡す。実装の細かな順番まで主担当が固定する必要はない。ただし、TDD（先に失敗するテストを確認する開発手順）が必須のタスクでは、その順番と証跡を守る。

## 担当ごとの動き

| 担当 | 任せること | 返すもの |
| --- | --- | --- |
| Planner | 依頼と仕様から、独立して検証できる作業単位を作る | 担当範囲、依存関係、完成条件を含む計画 |
| Worker | 承認済みの担当範囲で実装し、必要な修正と検証を終える | 差分、実行した確認、結果、残った問題 |
| Advisor | 目的と失敗の根拠を読み、次に変える判断を示す | `PLAN`、`CORRECTION`、`STOP` のいずれかと短い指示 |
| Reviewer | 実装担当から独立し、仕様と現在の実物を比較する | 既存形式の判定と、場所を特定できる指摘 |
| Coordinator | 所有範囲と依存関係を調整し、成果を統合する | 検証結果に基づく現在地と次に必要な判断 |

情報が足りない場合は、まず渡された契約と該当コードを読んで回収する。可逆な実装手段の選択は仮定を記録して進める。許可された範囲や重大な仕様判断が未確定なら、その処理を止める。調査だけの依頼を、勝手に実装の依頼へ変えない。

独立した作業は、同時実行の上限とファイルの所有範囲を守って委譲する。主担当も別の有用な仕事を続け、結果が必要になった時点で待つ。関連する追加作業は同じ担当を再利用できる。最終レビューは新しい会話で行う。

必要な検証は省略しない。通過後に検証を増やすのは、新しい変更、失敗、未解決の懸念がある場合である。実装を写しただけのテストや、依頼外の機能を追加して作業を広げない。報告では実行予定、実行済み、検証済みを区別する。

## 指示の正本と届く先

| 正本 | 届く先 | 扱い |
| --- | --- | --- |
| `skills/` の23入口と54 reference | Claude、Codex、OpenCode の skill | 全体を監査し、必要な役割固有の文面を調整 |
| `skills-codex/` の3差分と4 reference | Codex の同名 skill | shared 版とは別に監査。生成時はこちらを優先 |
| `agents/worker.md`、`reviewer.md`、`advisor.md` | Claude の native 担当 | 入力の回収、証拠、役割の境界を各担当に記載 |
| `hosts.toml` | Codex の worker / reviewer profile | 単独で配布されても意味が通る指示を生成 |
| Go の `promptpack/prompts/` 4本 | `harness plan/work/review/release` | 実行ファイルに埋め込む。外部ファイルの存在に依存しない |
| loop、advisor、Go team、browser artifact の生成処理 | 実際に呼び出す担当 | 文面に加え、具体的なタスク情報の受渡しを検証 |
| `codex/AGENTS.md`、setup の EN/JA テンプレート | 新しい導入先の常駐指示 | 設定済みの利用者ファイルを自動上書きせず、配布元を更新 |
| `output-styles/harness-ops.md` | Claude の報告表示 | 完了と未確認を分け、判断に必要な実物を示す |
| `livemsg-gate`、`test-wiring-auditor`、hook の3 prompt | 事実確認と既存の保護処理 | 一般実装担当の自律指示を混ぜず、固定された判定契約を保持 |

`scripts/sync-skill-mirrors.sh` が skill の写しを更新する。`harness gen` が native profile を生成する。Go の組込み指示はバイナリを再ビルドしなければ利用先に届かない。配布確認では、ソースの変更だけでなく、この3経路を照合する。

互換 helper と Cursor 固有の指示も監査対象にする。ただし、provider 固有の実行手順を Fable / astra 用に一括置換しない。既定 OFF の機能は、プロンプト調整を理由に有効化しない。

Go の `HARNESS_TEAM_HIERARCHY=sublead` は、内部で呼ぶ `harness plan decompose` が必要な JSON の小計画を返さない未対応経路である。今回、動作済みと読める文面を修正した。通常の flat（主担当が各 worker を直接管理する方式）を維持する。この入口の実装はプロンプト調整だけでは完了しない。

Go の追加レビュー `HARNESS_REVIEW_ITERATE=on` も、実判定に必要な `claude-companion.sh` が未提供である。返答形式と引継ぎは fixture（外部サービスを置き換える検証用の実装）で確認し、既定 OFF を維持する。通常の skill と native reviewer を使うレビューとは別の経路である。

この Go 追加経路では、引き継いだ過去の出力に「`npm publish` を実行しなかった」とあるだけでも、実行前検査が公開操作と検出して止まる。本文は単一の引数で渡しており、記述されたコマンドを shell として実行するわけではない。将来有効化する際は、検査を置き換えた配送テストに加え、実際の検査を通す統合確認が必要になる。

## 設定との関係

モデルは担当の能力、effort（推論量）は考える処理の割当て、プロンプトは担当の仕事を決める。目的が届かない経路は、effort を上げても修復されない。必要な情報の受渡しを先に検証する。

Fable / astra のルートと明示値の優先順位は [model-routing-policy.md](model-routing-policy.md) に従う。軽量 worker、Sonnet の隔離 reviewer、read-only の権限、レビュー上限、保護設定は維持する。文面によってモデルや権限を自動変更させない。

Codex 0.153.4 では、同じ設定階層にある `agents.reviewer` の宣言が、単独の `reviewer.toml` より優先する。既定の担当ファイルを使うには `config_file` で参照を結ぶ。設定ファイルの存在に加え、新しく起動した Codex が示す担当のモデルと推論量で確認する。

この版の native 子は、親の実行権限を引き継ぐ。担当ファイルの `sandbox_mode=read-only` だけで、ファイル変更が実行アプリに禁止されるとは扱わない。CCH の読み取り専用レビューは、その実行設定を明示する companion 経由で行う。役割への指示と実行アプリの権限は、別々に確認する。[Codex の実装と検証](https://github.com/openai/codex/blob/rust-v0.153.4/codex-rs/core/src/agent/role_tests.rs)

利用者がモデルや推論量を手動で変更することは許容する。既定値は固定の強制値ではない。現在の会話の設定、担当の設定、一回の呼出しの指定は、それぞれの実行経路で尊重する。環境更新では、調査開始時の値を現在値へ戻さず、CCH の変更対象外の最新設定を保持する。親の設定変更を全ての子に自動配布する意味ではない。

API（アプリからモデルを呼ぶ接続口）の `async`、WebSocket、`configuration_update`、`thinking.display` は実行アプリの対応が必要になる。プロンプトへ名前を書くだけで CLI の機能が増えるものではない。

## 出典と検証範囲

2026-09-05 に指定された [OpenAI latest-model guide](https://developers.openai.com/api/docs/guides/latest-model) と [Claude Fable 5 prompting guide](https://platform.claude.com/docs/ja/build-with-claude/prompt-engineering/prompting-claude-fable-5) を確認した。後者は Fable 5 のページとして HTTP 200 を返し、5.1 への転送ではない。[Fable 5.1 の別ガイド](https://platform.claude.com/docs/ja/build-with-claude/prompt-engineering/prompting-claude-fable-5-1) も照合した。

公式資料の原則を、このリポジトリの契約と実装に当てはめた設計である。判断理由と検証可能な根拠を求め、内部の思考過程の逐語開示は要求しない。入力捕捉テストは情報が呼出し先へ届くことを証明する。実務の速度や正答率の改善量は、同じ条件の代表タスクを比較しなければ測れない。
