The High Council について
The High Councilは、提案、モデル間の議論、段階的なレビューを通じてプロジェクト案を計画にまとめるCLI兼MCPサーバーです。意見の相違を記録し、コーディングエージェント向けに受け入れ条件を含む実装引き継ぎ資料を作成します。APIキーは利用者が用意します。
主な機能
- 01計画前の受け入れ条件設定
- 02モデルによるブラインド提案
- 03議論と異議の記録
- 043層の計画レビュー
- 05チェック項目付き実装引き継ぎ
活用シーン
- 01機能やプロジェクト計画のレビュー
- 02コーディングエージェント向け実装指示の準備
- 03異論を残したモデル提案の比較
MCP 対応
MCPサーバーとして動作し、コーディングエージェントのセッションから計画実行を操作できます。同じプロジェクトはCLIとしても利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y the-high-councilANTHROPIC_API_KEYシークレットYour own Anthropic API key. Needed only by chains that seat Anthropic models.OPENAI_API_KEYシークレットYour own OpenAI API key. Needed only by chains that seat OpenAI models.GOOGLE_API_KEYシークレットYour own Google (Gemini) API key. Needed only by chains that seat Google (Gemini) models.MISTRAL_API_KEYシークレットYour own Mistral API key. Needed only by chains that seat Mistral models.DEEPSEEK_API_KEYシークレットYour own DeepSeek API key. Needed only by chains that seat DeepSeek models.GROQ_API_KEYシークレットYour own Groq API key. Needed only by chains that seat Groq models.TOGETHER_API_KEYシークレットYour own Together API key. Needed only by chains that seat Together models.COHERE_API_KEYシークレットYour own Cohere API key. Needed only by chains that seat Cohere models.OPENROUTER_API_KEYシークレットYour own OpenRouter API key. Needed only by chains that seat OpenRouter models.ZAI_API_KEYシークレットYour own Z.ai API key. Needed only by chains that seat Z.ai models.MAX_USD_PER_RUNThe figure the spending-limit screen suggests for a paid run; the limit is the number the person types. Unset, a command-line run suggests nothing, and when a client sends no max_usd the MCP server suggests the lesser of 7 and COUNCIL_MAX_USD_LIMIT where that is set. For a chain with no paid seat it is the run's ceiling (7 when unset). A run stops before any stage that could pass its limit.COUNCIL_MAX_USD_LIMITA hard per-run ceiling in US dollars that the MCP client cannot raise or remove (max_usd above it, or "none", is refused). Set it to the same value as MAX_USD_PER_RUN so the suggested figure and the ceiling are the same.COUNCIL_WORKDIRFolder for task files and run output. Default: the directory the client starts the server in.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
19掲載時のツール一覧 · 3 日前に更新
このツールにパラメーターはありません。
詳細
THE HIGH COUNCIL
「始まりとは、均衡が正しく保たれているか、細心の注意を払うべき時である」
— Frank Herbert、『Dune』
新しいプロジェクトや機能、あるいはあらゆる種類の更新について、アイデアを持ち込みます。
THCはそのアイデアと、その背後にあるソフトウェアエンジニアリングについて議論します。
複数回の議論と3段階の審査を経て、最も優れた初稿を作成するLLMでさえ思いつかなかった多くの点を見つけ出します。
目標は、全員が調和と礼儀を保ちながら協力できるようにすることです。正確な有効性の数値は、意思決定によって測定されていません。
アップデート0.8.3で追加:再帰的な評議会 — 「計画の中の計画、その中の計画」
ウェブサイト · 料金 · AI-Readme(全文) · 変更履歴 · 既知の制限
30秒で試す
npx the-high-council council demo
キー不要、ネットワーク不要、$0です。Claude CodeにMCP サーバーとして追加します。
claude mcp add council -- npx -y the-high-council council --mcp
Claude Desktopの場合は、リリースから.mcpbバンドル(the-high-council-<version>.mcpb)をダウンロードしてください。
目次
- 最初の10分 · このドキュメントで使う用語
- 仕組み · プログラムで実行結果を読む
- 要件 · セットアップ · クイックスタート(CLI) · クイックスタート(MCP)
- 支出上限 · 料金 · チェーン
- 開発方法 · スキル
- 既知の制限 · プライバシー · アクセシビリティ · バグの報告 · ライセンス
- AI-Readme(全文) · トラブルシューティング · エージェントスキル · ペルソナ · コントリビューション
得られるもの
- 計画の前に基準を設定します。 依頼内容を、計画を立てる前に、計画が満たすべき簡潔な「はい/いいえ」で答えられる確認項目にします。
- 匿名の提案と記録に残る議論です。 各ラボがほかの提案を見ずに提案し、その後、名前を伏せてほかの提案を読み、支持、異議、または統合案を投稿します。続いて各著者は、記録を残したまま、自身の提案を維持、修正、または撤回します。
- レビューと改訂です。 審査員パネルが基準に照らして草案を確認し、基準を満たせなかった場合は改訂に戻します。計画チェーンでは、3層にわたって審査します。未解決の異議は記録に残り、平均化されて消えることはありません。
- 実装への引き継ぎです。
HANDOFF.mdには、計画を実装する担当者向けに、受け入れ確認項目とコーディングエージェントが従う指示を記載します。計画チェーンでは、マイルストーンも記載します。
実行ごとに、runs/<id>/ にフォルダーが作成されます。
| ファイル | 内容 |
|---|---|
deliverable.md | 計画 |
BOARD.md | すべての投稿と撤回を含む議論の全記録 |
HANDOFF.md | コーディングエージェント向けの実装指示と受け入れ確認項目 |
report.json | トークンと費用の内訳を含む、同じ議論の構造化データ |
このリポジトリが主張すること、しないこと。 このリポジトリで公開しているのは、仕組み、つまりチェーン、参加者の構成、ステージの順序です。update 0.8.3 の計画を作成した実行では、Council を最先端のAIで評価しました。評価対象となったすべてのルーブリックで計画は改善しましたが、例外が1つありました。計画が長くなり、読みにくくなったことです。このリポジトリが具体的に行うのは、モデル間の意見の相違を平均化して消すのではなく、見える形で記録することです。誰が何に異議を唱え、議論を受けて誰が提案を撤回し、誰が立場を維持したのかを確認できます。
最初の実行
クイックスタートチェーンの plan-default-opro-council は、1つのOpenRouter APIキーで動作します。1つのアカウントから、複数のラボのモデルを利用できます。実行するフォルダーに .env という名前のファイルを作成し、キーを記入してください。
OPENROUTER_API_KEY=your-key-here
.env を .gitignore に追加してください(アイデアを非公開にしたい場合は runs/ も追加してください)。その後、次を実行します。
npx the-high-council init
npx the-high-council doctor
init は tasks/my-first-task.md を作成します。自分のアイデアに合わせて、平易な言葉で編集してください。実現したいこと、重要な制約、完了の定義を記載します。費用を見積もってから、実行してください。
npx the-high-council --task tasks/my-first-task.md --chain plan-default-opro-council --dry-run
npx the-high-council --task tasks/my-first-task.md --chain plan-default-opro-council --max-usd 10
最初のコマンドでは費用は発生しません。有料の実行は、画面上で支出上限を入力した後にのみ開始されます。--max-usd 10 を指定すると、提案額として10ドルが入力されます。実行中に一時停止し、Claude Code のセッションまたはユーザーからの回答を待つこともあります。たとえば、2つの審査レイヤー間で異議の応酬が起きた場合などに、一時停止します。
上限に達して停止した実行でも、費用を支払ったすべてのステージの結果は保持されます。npx the-high-council --resume runs/<id> を実行すると続きから再開できます。画面では、実行時点までの累計額を超える新しい合計上限の入力を求められます。完了済みのステージに2回目の費用は発生しません。
コーディングエージェントで使う
MCP サーバー(Claude Code などのコーディングエージェントのセッションから操作できます)または CLI として実行できます。APIキーはご自身で用意してください。再販もホスティングも行いません。キーは、選択したプロバイダーにのみ送信され、当方に送信されることはありません。
Claude Code の場合:
claude mcp add council -- npx -y the-high-council council --mcp
Claude Code プラグインとして使うこともできます。同じサーバーを登録し、skills/ にあるスキルもインストールします。
claude plugin marketplace add muad-yasin/the-high-council-mcp
claude plugin install the-high-council@the-high-council
Claude Desktop: リリースから the-high-council-<version>.mcpb をダウンロードして開いてください。
その他の MCP クライアント · プラグインの設定とキー · スタンドアロンバイナリ
料金
出荷済みの各チェーンを1回実行する際の費用を米ドルで示します。予想額と上限見積額は、何も送信される前に、出荷済み価格表とチェーン固有のサイズ見積もりに基づいてコードが算出します。council doctor では同じ金額が表示されます。--dry-run では独自のタスクの料金を算出でき、タスクが長いほど費用も高くなります。上限見積額は、計画された各呼び出しで出力許容量をすべて使い、許可されたラウンドをすべて実行する前提で算出します。再質問と再試行は含まれないため、上限とは限りません。実行を停止するのは、入力した上限額です。実測額は実際の実行にかかった費用です。– は、まだ実行の報告がないことを示します。Claude Code セッションが応答する席は、独自のサブスクリプションで実行されるため、ここでは $0 です。2つの advise- の行は、アドバイスアドオン自体が表示し、適用する金額を示しています。48,000文字の上限までのブリーフが対象で、上限見積額には途中で切れた応答への再試行が1回含まれます。
| チェーン | 予想額 | 上限見積額 | 実測額(実際の実行) |
|---|---|---|---|
| 計画チェーン | |||
plan-mini-council | $1.51 | $5.27 | – |
plan-medium-council | $7.16 | $23.04 | – |
plan-high-council | $25.89 | $272.24 | – |
| バリエーション | |||
plan-claude-council | $0.00 | $0.00 | – |
plan-mini-council-sol-session | $1.41 | $4.46 | – |
plan-default-opro-council | $2.95 | $16.26 | – |
| 中国ラボの代替案 | |||
plan-china-mini-council | $1.69 | $6.15 | – |
plan-china-medium-council | $5.78 | $17.71 | – |
plan-china-high-council | $18.64 | $175.72 | – |
| アドバイスアドオン | |||
advise-single | $0.08 | $1.32 | $0.03–$0.15(3回の実行) |
advise-standard | $0.75 | $1.40 | – |
| その他 | |||
local-ollama | $0.00 | $0.00 | – |
verify | $0.48 | $3.20 | – |
daily7-sub-a | $1.39 | $5.06 | – |
再帰型のカウンシルでは、デフォルトの上限でツリーを実行すると、最大12個のカウンシル(ルートと11個のサブプラン)が実行され、それぞれに指定したチェーンが使われます。そのため、すべてで同じチェーンを使う場合、費用はそのチェーンの金額の最大12倍になることがあります。council tree start --dry-run では、独自のタスクとチェーンに基づく見積もりが表示され、ツリーを停止するのは入力した上限額です。
これらのチェーンを実行しましたか?金額の報告方法はCONTRIBUTING.mdをご覧ください。
再帰型カウンシル:プランの中にプラン、そのまた中にプラン
0.8.3 の新機能です。 プランのマイルストーンに独自のカウンシルを設定でき、そのマイルストーンにもさらにカウンシルを設定できるため、1つのルートプランの下に実行がツリー状に形成されます。ツリー全体の支出上限を一度入力すると、すべてのサブプランがその上限の範囲内で実行されます。サブプランは、親プランから委任された受け入れ基準を引き継ぎ、ツリー全体に適用される基準を狭めることはできません。承認と、実行が行き詰まったときに下された決定は記録され、誰がそれぞれを行ったのか、あなたか、ツリーを動かす Claude Code セッションかが記録に残ります。
支出を始める前に、ツリー全体の料金を見積もります。
npx the-high-council tree start --task tasks/my-first-task.md --chain plan-mini-council --child-chain daily7-sub-a --dry-run
既知の制限について、率直に説明します
- パネルが署名するのは1つの草案だけです。その後の段階で受け取る内容が変更されても、誰も再確認しません。 異議申し立てパス、署名後のチャレンジ、最終編集は、最後のレビュー後にモデルが行う編集であり、異議とコールドリードのブロックはハーネスが作成します。実行ではこのことを明示しますが、修正はしません。
report.jsonにはsigned_textとdelivered_text(ハッシュ、same_as_signed、changed_by)があり、該当する場合はBOARD.mdにも記載されます。また、パネルの署名後にモデル編集でテキストが変更された場合、HANDOFF.mdはバナーで始まります(パネルが署名していない実行には、引き続き「署名済みプランではありません」という独自のバナーが表示されます)。ハーネスが追加するコールドリードまたは異議のブロックはdelivered_text.harness_notesに記載され、バナーは付きません。変更後のテキストをパネルが再確認することはありません(その場合、実行ごとに有料パスが追加で必要になります)。配信テキストが異なる場合、run_statusは「すべてのラボが承認しました」の後にその旨を示します(report.jsonのdelivered_text.same_as_signed)。 - 早期終了には、自分自身のセッションであるリバイザーが必要です。 レイヤー構成のチェーンでは、リバイザーが返信の末尾に
EARLY-FINISH: <why>を付けることができ、最上位レイヤーがそこで実行を停止するか判断します。これはリバイザー席が自分の Claude Code セッション(external)の場合に限り機能します。リバイザーが API 席のチェーンでは早期終了できません。その行はテキストから削除され、ログにその旨が記録されます。早期終了は合意を意味しません。passedは false となり、実行は 22 で終了し、未解決の異議はすべてHANDOFF.mdの末尾でビルダーのタスクとして明記されます。 - 支出上限は予測額ではなく、最悪ケースに対して適用されます。つまり、入力として課金されるプロンプト全体と、出力として課金される席の
maxTokens予算全体です(Anthropic の席では、さらに実行可能な1回の再試行の上限のうち大きい方を加算します)。実際の各段階の費用はほとんどの場合そこまでかからないため、余裕を残して実行が停止することがあります。これは意図されたトレードオフです。再開してください。有料実行では、上限画面で新しい、より高い総額を指定します(有料席のないチェーンでは--max-usdを指定します)。 - ドライラン(
--dry-run、MCPdry_run)ではタスクだけの価格を算出し、--contextのドキュメントは読み込まないため、コンテキスト付きの実行では見積もりが低くなります。支出上限には影響しません。各実呼び出しの前に、コンテキストを含むすべての実際のプロンプトを確認します。 - モデルの価格が
src/pricing.jsonにもプロジェクトのpricing.user.jsonにもない席は、支出上限の対象にできません。上限計算でその席への各呼び出しが $0 として数えられるためです。0.8.2 以降は、何も送信する前にそのような席がある実行を拒否します(終了コード 5。メッセージには席の名前と、0.8.3 以降は解決方法も表示されます。プロジェクトフォルダーのpricing.user.jsonに、たとえば{ "openrouter/vendor/model": { "in": 1.0, "out": 4.0 } }のような行を追加してください。金額はトークン100万個あたりの米ドルです。この行で価格の欠落を補ったり、同梱価格を引き上げたりできますが、同梱価格を引き下げることはできません。ファイル全体を読み取れない場合は、ファイル全体が拒否されます)。--dry-runでも同じ拒否が $0 で表示されます。mock、external、ollamaの席は対象外です。ollamaは実際に無料で実行できるため、モデル名にかかわらず明示的に $0 として価格設定されます。 ただし、上限の精度は価格表の精度に依存します(価格表には日付があり、古くなるとドライランで通知されます)。また、価格設定済みのモデルの代わりに別のモデルが応答する場合(extra.models内の OpenRouter フォールバック)、そのモデル自身の価格と異なる可能性がある、元の席の価格で課金されます。 - プロバイダーに到達した後に失敗した呼び出しは、再試行されません。たとえば、200 の返信を読み取っている最中に接続が切れる、200 の応答本文が JSON ではない、またはヘッダーを待っている間にリクエストがタイムアウトするケースです。生成はすでに課金済みである可能性が高いためです。実際の使用量を読み取れないため、実行ごとの上限には最悪ケースの推定値で計上され、
superseded/<label>.charge-<n>.usage.jsonに記録されます。council --spendと再開時の集計対象になります。 - 一部のホスト型推論モデルは、席自体の上限を大きく下回るプロバイダー側の推論上限に達し、回答を書く前に停止します(2026-09-23 に確認:OpenRouter 経由の
deepseek/deepseek-v4.1-flashでは、28 回中6回が約4.2kトークンで停止し、すべて推論に使われていました。上限は36kでした)。上限を上げても解決しないため、そのような返信はREASONING_EXHAUSTEDとして記録され、再試行されません。席は棄権し、全会一致が妨げられ、同意として数えられることもありません。そのチェーンの推論設定を変更するかどうかは、名簿上の判断であり、ハーネスが代わりに決めるものではありません。 - Claude Code プラグインはリポジトリのルートからインストールします。
claude plugin validate .は警告が1つ出ますが成功し、claude plugin validate --strict .は失敗します。警告は「プラグインルートのCLAUDE.mdはプロジェクトコンテキストとして読み込まれません」(このファイルはこのプロジェクト独自の指示であり、プラグインの一部ではありません)です。別個のplugin/ディレクトリを設ければこの問題はありませんでしたが、そのレイアウトは 0.8.1 では採用されず、プラグインディレクトリの一覧表示とともに再検討されます。Claude Code が未設定の省略可能なダイアログフィールドに何を渡すかについては、Claude Code 2.1.289 のスクラッチプラグインで空文字列だった事例が1回ありますが、バージョンをまたいで確認されたものでも、Claude Desktop 独自のクライアントで確認されたものでもありません。 - 推論フィールドは、プロバイダーのドキュメントと OpenRouter の公開モデル一覧をもとに設定されており、実際の呼び出しでは検証されていません(src/reasoning-table.json。読み取った日付は
asOfフィールドに記録されています)。プロバイダーがフィールドを拒否すると、その席の呼び出しはプロバイダー独自のエラーで失敗します。変更したチェーンの最初の実行が実環境でのテストとなります。表は60日を過ぎると古くなり、その時点でリリーステストは失敗します。現在推論を行う席は出力上限をより早く使い切ります。また、短い回答が想定される段階(質問または基準の段階)用に設定した上限が思考に使われることがあります。そのような席はより大きな上限で1回再試行され、それでも上限を超えた場合は回答なしとして記録されます。Anthropic への直接呼び出しはストリーミングされないため、再試行は64,000トークンに制限されます。ストリーミングは実装されていません。 src/pricing.jsonの価格は手動で管理されるリスト価格です。asOfの日付(2026-10-23:すべてのエントリーの最終確認日として最も古い日付)はcouncil doctorと--dry-runに表示され、60日を超えて古くなると警告されます。プロバイダーがモデルの提供を終了した場合や価格を掲載しなくなった場合でも、表には既存の価格が残り、該当する行の_sourceにその旨が記載されます。日付が示すのは価格を確認した日であり、その数値自体の最新性ではありません。支出上限とすべての見積もりには、この静的な価格が使用されます。これらは推定であり、請求書ではありません。実際の金額はプロバイダーの請求額です。価格変更が判明している行にはexpires日付が付きます(GPT-5.6 Sol のプロモーション価格は少なくとも 2026-11-21 まで、Gemini 3.8 Flash と Gemini 3.6 Flash の価格は 2027-01-01 に2倍になります)。その日を過ぎるとcouncil doctorと--dry-runは警告しますが、推定額と上限計算には古い価格が使われるため、表が更新されるまでは実際より低く見積もられる可能性があります。- 廃止された
plan-highest-7(chains/outdated/内)は実モデルで実行されたことがなく、plan-daily-7は、2026年10月7日の再設計前の名簿で2026-09-28に1回実行されました。階層型評議会の仕組み(階層、ディープダイブ席、多数決ガード)は、どれも測定されていません。ドライランの価格は推定値です。 run_testsはリポジトリ独自のテストファイルを、サンドボックスなしで信頼済みコードとして実行します。 これはオプトインの席ツールに含まれます(verify.toolsでrun_testsを指定します。同梱チェーンには指定されていません。チェーンでもtools.seat_requestsが設定されている場合に限り、席がステージ途中でリクエストできます)。0.8.2 以降、テストプロセスには許可リスト方式の環境変数が渡されます。PATH、HOME(USERPROFILE)、一時フォルダーの変数、LANG、LANGUAGE、LC_*、TERM、CI、Windows のシステム変数(SystemRoot、ComSpec、PATHEXT、WINDIR)です。プロバイダーキーはその環境に含まれませんが、信頼する必要のあるコードであることに変わりはありません。たとえば/proc/<pid>/environを通じて、親プロセスの環境変数やディスク上のファイルを読むことはできます。データベース URL など、別の変数を必要とするプロジェクトのテストには、その変数が渡されません。それでも、読み取り可能なすべてのファイルの読み取り、ファイルの書き込み、ネットワークの利用が可能です。信頼できるリポジトリでのみ使用してください。- MCP ツールのシンボリックリンクによるパス外参照防止は、Windows では未テストです。 0.8.2 以降、ツールはシンボリックリンクを含む実行フォルダーを拒否し、実行フォルダー内のファイルを
O_NOFOLLOWで開きます。このフラグは Windows に存在しないため、Windows ではlstatのチェックだけが保護手段です。テスト済みなのは Linux のみであり、実際の Windows マシンではテストされていません。また、Wine 上で実行するパッケージ版.exeのスモークテストでも、この動作は検証されません。 externalとマークされた席(すべての計画チェーンの決定者、plan-default-opro-councilを除くすべての計画チェーンのライター席、Claude サブスクリプション経由、またはplan-mini-council-sol-sessionでは ChatGPT プラン経由で回答される席)は、誰かが回答するまで実行を一時停止します。Claude Code のサブスクリプションセッション、または自分自身のプランであなたが回答を作成する場合に限り、料金は $0 です。誰が回答を作成したかを確認するものはありません。- ラボの数が多くラウンド上限の高いチェーンは、すぐに高額になります。ラウンドごとにすべての批評席に問い合わせるためです。実行前に価格を確認してください。
- パネルの承認は、出力の正しさを保証するものではありません。すべての批評席が提示された受け入れ基準に照らして確認し、問題を見つけなかったという意味です。基準が曖昧だと、承認には意味がありません。実行の品質は、基準を決める段階の質に大きく左右されます。
- 一部のチェーンは、仕様どおりに人間の入力を待って一時停止します。停止しているわけではありません。
- 監査ログ(
audit.jsonl)は編集された行や途中で切れた末尾を検出しますが、デフォルトでは HMAC キーがないため、全面的な書き換えは検出できません。ファイルを編集できる人なら、すべてのハッシュを再計算できます。ログにそのレベルの耐改ざん性が必要な場合は、実行フォルダーの外に保管したキーをAUDIT_HMAC_KEY_FILEに設定してください。 - アドバイスツール(
council_quote、council_advise)は実験的なもので、呼び出しにかかる時間はミリ秒ではなく、数秒(1席)から数分(評議会)であり、呼び出しのたびに実際の費用が発生します。見積もりには最悪ケースと予想価格が示され、呼び出しが上限を超えることはありません。概要は外部のラボに送信されます。プレビューには送信先が表示され、「OpenRouter によって ZDR タグ付け」という文言はエンドポイントに対する OpenRouter のルーティングタグであり、ホストがテキストをどう扱うかを保証するものではありません(その根拠となるsrc/advice-retention.jsonの表は、日付時点のスナップショットです)。マスキングで検出できるのは既知の形式(メールアドレス、IBAN、カード番号、IPv4 アドレス、固定リストにある社内ホスト名の末尾、/home、/Users、/srv配下のホームパス)だけで、他のもの(IPv6 アドレス、/var/home、WSL の/mnt/c/Users/...パス、.home.arpa、.fritz.box)は検出できません。また、文章で書かれた名前、住所、パスワードは検出できません。どの実行のフォルダーにも作業フォルダーの絶対パスが保存されます(run.json、run.log、RESUME.md)。実行フォルダーをコミットすると、その情報が公開されます。承認ステップが適用されるのはcouncil_adviseのみです。write_taskや、別のチェーンを使うstart_runでは、プレビューなしでラボにテキストが送信され、キーのスキャン、個人データのチェック(該当データが見つかると、COUNCIL_PII_GATEをwarnに設定していない限り実行を停止します)、支出上限だけが適用されます。呼び出し制限が適用されるのはアドバイスツールであり、council自体を実行するシェルではありません。また、その記録簿は作業フォルダー内にあります。他のラボからのアドバイスがセッションの動作を改善することを示す測定結果はありません。 - 送信時のキー検査で照合するのはキーの形式のみで、形式は
src/secret-patterns.jsに定義されています。文章中に書かれたパスワードは検出できません。URL 内や代入形式などの一般的な形式は、実行前に入力内で確認されます。モデルが書いたテキストでは、特徴的なキー形式のみが確認されます。 - 評議会アドバイザー(
council_quote、council_advise)はモックプロバイダーに対してのみ検証されており、実際のプロバイダーやクライアントでは検証されていません。 これらのどれも品質を保証するものではありません。上限を設定したうえで実環境のテストを行うのは、あなた自身です。- U1:実際の OpenRouter リクエストで
zdr、data_collection、max_priceを同時に指定した場合の動作。組み合わせが誤っていると生成前に失敗し、費用は $0 です。したがって、リスクは呼び出しの拒否であり、予算超過ではありません。 - U2:出力上限が3つすべての評議会ルートで推論トークン数を制限するかどうか。見積もりの上限額は推定値であり、実際の請求額はプロバイダーによって決まります。
- U3:課金対象となるタイムアウトが再試行され、1つの予約に対して2回課金されるかどうか。
- U4:48,000文字(上限)の概要に対する承認プロンプトが実際のクライアントにどう表示されるか、また、承認待ち時間がクライアントのバックグラウンド処理のしきい値に含まれるかどうか。ターミナルでの経路(
council gate answer)は常に利用できます。 - U5:中断されたリクエストに対して各プロバイダーが実際に請求する金額、および実際のクライアントにおけるキャンセル動作(テストでは
notifications/cancelledを手動で送信します)。 - U6:アドバイザーとしての Sol の実際の出力長と応答時間、および GLM-5.3 の応答時間。
- U7:SDK がネゴシエートするプロトコル改訂におけるキャンセルの意味(汎用的なキャンセルであり、より新しい stdio の要件ではありません)。
- U1:実際の OpenRouter リクエストで
- 契約記録(
council contract、contract_read、contract_amend)は、モックプロバイダーと模擬ターミナルに対してのみ検証されています。 契約文の作成呼び出しは、実際のモデルに対して一度も行われていません(0.8.2 に記録された文面を読んだのはモック席のみです)。本人の回答は手間を設けるだけで、強制力はありません。council gate answerの場合と同様に、シェルを利用できるエージェントは疑似端末を開けます。契約は人とビルドセッションの指示との間の合意であり、ビルドセッションがそれに従うよう強制するものではありません。また、ここでは契約が有効かどうかも測定されていません。 - 承認ゲートは手間を設けるだけで、強制力はありません。 アドバイスの呼び出しにはすべて、ターミナルまたはエリシテーションを通じて人がゲートに回答する必要があります。そのため、スクリプトによる利用や無人実行はサポートされません。人に質問できないクライアント(ヘッドレス Claude Code、スクリプト)は
awaiting_approvalを返し、ターミナルで誰かが回答するまで何も送信されません。ターミナルでの回答は、あなたの権限で実行されるものなら何でも入力できます。ゲートの記録簿は改ざんを検知できますが、改ざんを防止できるわけではありません。末尾の行より前の編集は検出されますが、最後の行、末尾部分、および記録簿とその表示の両方の書き換えは検出されません。 - 計画実行は、現在も外部から停止できません(
council stopとクライアントのキャンセルで停止できるのはアドバイス呼び出しのみです)。 advise-premiumは、ゼロ保持タグ付きエンドポイントがないラボにテキストを送信します。 0.8.3 でchains/outdated/に移動されました(使用するには、COUNCIL_ADVICE_CHAINS_DIRで指定したフォルダーにコピーしてください)。これはpublicのみであり(その最低水準はオペレーターが設定します)、最悪ケースの金額がアドオンのデフォルトの呼び出しごとの上限を超えるため、使用するにはオペレーターが上限を引き上げる必要があります。GPT-6 Astra にアクセスできるのは OpenRouter 経由のみで、サブスクリプション経由のルートはありません。送信プレビューの背後にある保持期間の表は日付時点のスナップショットです(src/advice-retention.json)。プレビューの文言は OpenRouter のルーティングタグであり、保証ではありません。- アドバイスの概要は実行フォルダーに書き込まれます(
runs/<id>/advice-brief.md)。そのため、実行フォルダーをコミットすると概要が公開されます。 advise-singleの上限は $1.32 です(ツールの説明に表示される上限見積もり額)。 これは最初の呼び出しと、途中で切れた返信への1回の再試行を対象とします。1回の呼び出しにかかる通常の費用はこれよりはるかに低くなります。アドバイスチェーンを自分のターミナルから実行する場合はゲートが適用されず(gate: null)、アドオンの金額制限とチェーンの選択はプロジェクトの.envからも設定できます(監査ログキーAUDIT_HMAC_KEYと見積もりの有効期間COUNCIL_ADVISE_QUOTE_TTL_MSも同様です)。これらを拒否すべきかどうかは未解決です。単一席の差し替え(Astra、Gemini)では、出力上限が固定されています。0.8.2 で追加または引き上げた3つのモデルは、ドライランだけで価格設定されており、実際の呼び出しは行われていません。Qwen3.8 Max の上限は36,000トークンです(モデルが独自のデフォルト設定で、high を上回る推論を行う場合に十分かどうかは未検証です)。DeepSeek V4.1 Flash(現在は1017ビルド)の上限は360,000トークンです。この上限を受け付けるのは、そのゼロデータ保持エンドポイントの一部のみです(2026-10-23 に読み取った一覧では9つ中7つ)。GLM-5.3 Flash の上限はラボの131,072であり、そのゼロデータ保持プロバイダーのうち1つを除くすべてが受け付けます(2026-10-23 に読み取った一覧では25のうち24)。また、受け付けない、あるいは呼び出しを拒否するエンドポイントを OpenRouter が迂回するかどうかは未検証です。どのアドバイスチェーンにも独自の時間制限はないため、停止(council stop、クライアントのキャンセル)しても、すでに実行中の呼び出しが終了するまで待つ必要があります。最大待機時間はリクエストの2時間の期限までです。- セキュリティレビュー席でのレビュー切り詰め:
src/security-review.jsは、目に見えるマーカーを付けて、記録を残さずにレビュアーの各フィールドを2,000文字で切り詰めます。 - 大文字と小文字を区別しないファイルシステム(macOS、Windows)では未テストです。
handoff.mdとHANDOFF.mdが同じファイルになる問題への修正(FX-9:handoff --from-runも排他的作成を使うようになり、ディスクの大文字小文字の扱いにかかわらず既存ファイルを置き換えられなくなりました)と、作業フォルダーのパスチェックは Linux でのみテストされています。0.8.1 と 0.8.2 のいずれも、Mac または Windows マシンでテストされていません。 - ドライランの予想額は、すべての上限を価格に反映するわけではありません。 計画チェーンの予想額では、批評席の価格を出力上限ではなくチェーン独自の見積もりで算出します。そのため、0.8.1 と 0.8.3 で引き上げられた上限(DeepSeek V4.1 Flash は現在393,216トークン)は、ドライランの上限見積もりと、設定された上限と照合するステージごとの推定額には反映されますが、予想額には反映されません。推定額によって、予想合計額に達する前に実行が停止することがあります。DeepSeek V4.1 Flash の393,216トークン上限での速度は測定されていないため、その長さの返信が2時間のリクエスト期限内に収まるかどうかは不明です。期限に達して打ち切られる呼び出しは、課金対象のタイムアウトです。
- 承認後に開始に失敗した場合は、上限全額で計上されます。 人が承認した後にアドバイザー実行を開始できなかった場合(たとえば、プロジェクトの
.envで指定された監査キーのファイルが読み取れない場合)、承認は消費され、何も送信されませんが、呼び出しは上限全額で制限に計上されます(advise-single:$1.32)。このような失敗が2回発生すると、実際の呼び出し1回と合わせて $3 のセッション上限を超えます。その後は何も使わずに6時間、アドバイスが拒否されます。 - 承認済みの実行フォルダーをコピーすると、1回の承認で2つの実行を開始できます。 承認が紐付くのは実行フォルダーではなくテキストです。
- 同梱チェーンの1つが Gemini 2.5 を席として使用します(直接 Google プロバイダー経由の
verify。廃止されたus-only、plan-two-strong、seven、cheap、smoも使用していました)。Google は新規プロジェクト向けの Gemini 2.5 の提供を終了しているため、新しいユーザーがこれらのチェーンを実行すると、その席で失敗する可能性が高いです。別の席を使うチェーンを使用するか、席のモデルを変更してください。 - 思考に上限を使い切った Anthropic 直接接続席の再試行が、実行されない場合があります。 再試行の判定は、返信の
usage内にある思考トークン数(output_tokens_details.thinking_tokens)に依存しますが、Anthropic の公開 Messages API リファレンスには記載がありません(思考トークンはoutput_tokensに含まれます)。OpenRouter はreasoning_tokensを報告するため、単一プロバイダールート("transport": "openrouter")経由の Anthropic 席では再試行が実行されます。トークン数がない場合、上限で打ち切られた返信は、この再試行ではなくパネルの通常の打ち切りルール(上限を引き上げて1回呼び出す)で再試行されます。実際の API では未検証です。 - エージェントが実行について読み取る一部のフィールドは、信頼できないテキストとしてマークされていません。
external_promptは、外部席の主張(ピアセッションが実行フォルダーに書き込んだ文字列であるclaimed_byとcontested_by)を通常のフィールドとして返します。そのテキストに指示が含まれている可能性があります。list_runsとrun_statusは実行のラベル、チェーン名、タスクのパス、ログ行をuntrusted_fieldsに示し、external_promptはそのプロンプトを同フィールドに示します。これらにはマークが付いています。サブエージェント用のステージバンドルでは、参照先ファイルがデータであることが示されます。 - 呼び出しを承認するターミナルコマンドは、
.mcpbルートでは実行されていません。 サーバー独自の Node バイナリとcli.jsを絶対パスで指定するか、スタンドアロンバイナリのみを指定します。Claude Desktop 同梱の Node から、そのバイナリをターミナルで実行できるかどうかは確認されていません。インストール済みのcouncilからcouncil gate answerを実行すれば、常に動作します。 - 課金対象の呼び出しの途中でプロセスが強制終了されると、実際の費用ではなく最悪ケースの金額で課金されたままになります。 0.8.2 以降、リクエストを送信する前に、呼び出しの最悪ケースが
runs/<id>/spend-reservations.jsonlに書き込まれ、呼び出しが戻ると精算行が続きます。その間にプロセスが終了すると(シグナルハンドラーはありません)、プロバイダーが呼び出しに課金する可能性がある一方で、使用量ファイルは作成されません。そのため、精算されていない予約は再開時の上限、council --spend、支出レポートで最悪ケースのまま計上されます。これを解除するコマンドはありません。金額は多めに見積もられ、実行フォルダーが削除されると消えます。実行フォルダーに書き込める人なら、ファイルを編集できます。非 ASCII テキスト(たとえば CJK 文字)を含む概要は、計画チェーンでは低く見積もられます(4文字を1トークンとして計算)。アドオンでは、そのような概要の価格をバイト数から算出します。 - 0.8.1 で一時停止し、0.8.2 で変更されたチェーンまたはプロンプトを使う実行は、再開時に再生されません。 設定のフィンガープリントまたはプロンプトのハッシュが一致しないためです(0.8.2 では7つの計画チェーンと、すべてのチェーンの基準および判定プロンプトが変更されました)。そのため API ステージは再度課金され、外部ステージですでに受け取った回答も保留されて、もう一度回答が求められます(0.8.1 で変更されたチェーンを使い、0.8.0 で一時停止した実行も同様です)。その実行を一時停止したバージョンで完了するか、最初からやり直してください。
npm testは仕様により、日付を過ぎると失敗します。 対象日は2026-11-21(gpt-5.6-solのプロモーション価格行)、2026-11-23(保持期間の表が30日を超えて古くなる日)、2026-12-10(OpenRouter の価格行。scripts/refresh-openrouter-prices.mjsが OpenRouter の一覧と最後に照合してから45日を超える日)、2026-12-23(src/reasoning-table.jsonが60日を超えて古くなる日。再生成日は2026-10-23)です。ページを再確認し、ファイルの日付を更新すれば、テストスイートは再び成功します。直接プロバイダー(Anthropic、OpenAI、Google など)の価格行には_sourceに独自の日付があり、このテストの対象ではありません。- Together 上の DeepSeek V4 Flash には、vLLM のサービングレシピに基づき
chat_template_kwargs {thinking: true, reasoning_effort: "high"}が送信されます。 Together 独自のページは見つからなかったため、Together で有効かどうかは未確認です。 - レビュー用メモのレーン(0.8.3)は測定されておらず、ドライランでは示されないコストがあります。
reviewNotesを有効にすると、各判定者は監督者ラウンドごとに提案を最大3件、改善案を最大3件、判定と同じJSON返信に追加できます。メモの途中で返信が途切れると、賛成票は失われます(途中で途切れた賛成票は棄権として扱われます)が、解析できた異議は残ります。メモが同じ返信に含まれるためです。メモを求めるプロンプトの後に返信が途切れた席には、その監督者ラウンド中にメモを再度求めません。監督者ラウンド2以降は、すべての判定者呼び出しで、前回のラウンドの項目と作成者の回答を含むメモリーブロックも読み込みます。これは有料の入力ですが、どちらのドライランの数値にも含まれていません(1回の呼び出しで最大10000トークン。最悪ケースの実行では、2026-10-18時点の表の価格で、plan-mini-councilは約$0.00、plan-default-opro-councilは$0.00、plan-mini-council-sol-sessionは$0.02、plan-medium-councilは$0.25、plan-high-councilは$9.77、plan-china-mini-councilは$0.00、plan-china-medium-councilは$0.38、plan-china-high-councilは$5.30です)。入力する上限が、支出を止める唯一の手段です。ドライランの予想額には、1回の監督者ラウンドの項目に対する作成者の回答が含まれ、上限見積もりには予定されているすべてのラウンドが含まれます。未回答の項目に複数ラウンド分まとめて回答する引き継ぎでは、予想額の計算に含まれる量を超える入力を読み込みます。引き継ぎ先の席が計画の作成者ではないチェーンでは、このレーンにnotes-answerというステージが1つ追加されます。計画用の9つのチェーンでは、作成者の回答は引き継ぎに含まれます。完全に同一のIDを持つ重複だけが統合されます(IDは空白を正規化したテキストから算出されます)。「対応済み」は作成者の申告であり、それを検証するものはありません。 - OpenRouter 呼び出しの価格上限は、文書化された1つのフィルターと1回の試行に基づいています。 OpenRouter のドキュメントでは
provider.max_priceをフィルターと説明していますが、上限以下のホストがない場合にどうなるかは記載されていません。実際の呼び出し1回(2026年10月18日、そのモデルの唯一のホストの価格を大幅に下回る上限)では、HTTP 404「No endpoints found that satisfy the max price for this request」で拒否され、費用は発生しませんでした。この文言だけをこのプログラムは認識します。上限を指定した呼び出しで、それ以外の404が発生した場合も実行は停止します(終了コード24)が、推奨事項は提示されません。ホストの価格と上限が完全に一致する場合や、複数のホストがあるモデルは試していません。そのような呼び出しを OpenRouter が拒否した場合、実行は終了コード24で停止し、対応を求めます。OpenRouter の表示価格がsrc/pricing.jsonの行の価格を上回った場合は、過払いを避けるため、同様に実行が停止します。そのモデルの現在の価格をpricing.user.jsonに追加してください(インストール済みのコピーでは価格表を更新できません。THC を更新するか、クローンではscripts/refresh-openrouter-prices.mjsを実行してください)。または、そのステージで不要であれば--skip-seatで席をスキップしてください。 plan-china-high-councilの DeepSeek V4 Pro の席には、設定価格で利用できるホストが5つあります(0.8.3)。 この席の価格は、モデルの表示価格である100万トークンあたり入力0.66/出力1.98に設定されており、すべての呼び出しにその価格がフィルターとして適用されるため、その価格以下のホストのみが席にサービスを提供できます。2026年10月23日時点で、OpenRouter はこのモデルのエンドポイントを23個掲載していました。そのうち7個は5つのホスト(DeepSeek、StreamLake、Alibaba、Baidu、Sail Research)から提供されており、出力上限は384,000以上とされています(出力上限のフィルターは検証されていません。これは OpenRouter のフィールド値であり、試行結果ではありません)。5つのいずれのホストも呼び出しに対応できない場合は拒否され、実行は停止します(終了コード24)。いずれかのホストが利用可能になった後、またはpricing.user.jsonにより高い価格の行を追加した後に、実行を再開してください。この席はパネル判定者であるため、ツリーでも単独実行でもスキップされることはありません。すべての判定者から応答があった場合に限り、パネルは合意するためです。- 追加した価格行は、入力したとおりに信頼されます。 プロジェクトフォルダーの
pricing.user.jsonでは、付属の価格表にないモデルを追加したり、付属の価格を引き上げたりできますが、引き下げることはできません。付属の価格表にないモデルの場合、プロジェクトフォルダーに書き込めるものなら何でも低い価格を設定でき、そのモデルの支出が上限計算で過少に見積もられる可能性があります。実行の上限画面と、有料の再判定、再生、引き継ぎ、契約草案、ダイジェストの画面には、このファイルで価格設定された席とその金額が表示されるため、上限を入力する前に低い金額を確認できます。council tree startではそのような画面は表示されず、ファイルの金額を表示なしで使用します(council doctorと--dry-runではファイル内の行が一覧表示されます)。制御セッションはtree_decideを通じてそのような行を引き上げることもできますが、価格上限が原因で停止したそのツリーのメンバーのモデルに限られます。また、価格を引き下げることはできません。セッションには、まずあなたに確認し、あなたの承諾を理由として記録するよう指示されます(THC は確認を求めたかどうかを検証できません。あなたがcouncil tree resumeと入力するまで何も実行されません)。この行はプロジェクト内のすべての実行に適用され、記録には追加したセッションと、そのセッションが示した情報源が記載されます。設定価格が低すぎると、直接プロバイダーでそのモデルの支出が上限計算上で過少に見積もられます。 price_raiseは、セッションがあなたに確認したかどうかを判別できません(0.8.3)。 このツールは、確定する前にセッションが引用文をあなたに示し、チャットで承諾を得るよう指示しますが、THC はそれを確認できません。また、記録するreasonはセッションが入力したテキストです(あなたの言葉を渡すよう指示されています)。セッションに依存しない点は次のとおりです。確定しても支出は発生せず、その後のresume_runは価格行が変更されたため、再び支出上限ゲートで停止します。このゲートにはあなたが回答します(Claude Desktop など、確認を求められるクライアントでは、クライアントに表示されるダイアログで回答するか、ターミナルでcouncil gate answerを実行します)。引用を作成する際は、MCP サーバープロセスから openrouter.ai にネットワーク呼び出しを行います(ターミナルの提示機能が読み取るものと同じ価格表です)。また、サーバーは起動時にpricing.user.jsonを一度だけ読み込むため、手動編集後は引用に古い上限が表示されることがあります。- ツリー内でセッションが行った回答はセッション自身の回答であり、THC はツール呼び出しの背後に誰がいるかを確認できません。
tree_decideを通じて、制御セッションはツリーの一部の停止に対処できます(完了した実行を現状のまま受け入れる、マイルストーンをその場で解決する、サブ計画を再度計画する、停止をあなたに差し戻す、停止したメンバーが価格上限で拒否されたモデルの価格を引き上げる、すべての子に上限全額を割り当てる分割の最初のフロンティアを承認する)。記録にはセッション名、チャネル、記述された理由が記載され、そのような回答があなたの回答として記録されることはありません。追加資金、上限、実行・深度・子の上限引き上げ、終了、放棄、新しいルート計画、個人データやキーのスキャンに関するすべての回答は、ターミナルであなた自身が行います(新しいルート計画では、セッションが判断の草案を作成することはできます。あなたはそこで全文を読み、停止IDを入力して承認するか、変更を求めます)。フロンティアを承認すると、ツリーの上限から子への割り当てが発行されます(承認自体によって資金は移動しません)。実行前に引用文をあなたに示し、あなたの承諾をあなたの言葉で記録するようセッションに指示されています(THC は確認を求めたかどうかを検証できません)。また、あなたがcouncil tree resumeと入力するまで何も開始されません。記録には、確認を求めた時点での残額とコードが計算した割り当て(sessionConditions)が含まれます。これは THC 自身が算出した数値であり、第三者による検証ではありません。割り当て自体は、登録時点の残額に対して発行されます。このチェックは、連携するツール間の安全策です。ツールを呼び出せるプログラムは、セッションであるとみなされます。 - 引き継ぎには、計画に記載された依存関係が列挙されますが、確認は行いません。 計画でビルドセッションに何かをインストールまたはダウンロードさせる場合、
HANDOFF.mdは「確認する依存関係」セクションで自身の作業を締めくくります。項目ごとに1行を使い、名前とバージョンは計画からコピーし、計画で未確定とされている選択肢はそれぞれ記載して、インストール前に各名前を確認するよう指示します。0.8.3 では列挙して確認を促すだけです。レジストリの検索もネットワーク呼び出しも行いません。モデルが一覧を作成するため、項目を漏らしたり、誤った内容を記載したりすることがあります。また、ハーネスはビルドセッションが確認を行ったことを検証しません。確認するのはあなたです。 - コーディングエージェントのセッションが担当する席の回答者は、そのセッション自身の申告であり、検証されることはありません(0.8.3)。
report.jsonと BOARD には、どのクライアントが回答したか、またセッションが申告したモデルが記載され、それに基づいてパネルの企業数が集計されます。セッションは何でも申告できます。モデルを申告しないセッションは、チェーンに記載された企業としてではなく、不明として表示されます。実行内容がそれに左右されることはありません。 - ツリーの下位計画が目標を受け取るのは、タスクの見出しからのみです(0.8.3)。 ツリーによって計画が分割される場合、各下位計画には、その計画で指定されたタスクのセクションと、「非目標」、「非目標事項」、「除外事項」、「対象外」または「範囲外」という見出しの付いたすべてのセクションが渡されます。見出しがあるタスクで、最初の見出しより前にだけ目標が記述されている場合、その目標はどのセクションにも含まれないため、どの下位計画にも渡されません。目標専用の見出しを設けてください。見出しがまったくないタスク、または除外事項の見出ししかないタスクは、全体が渡されます。
プライバシー
このツールは何も収集しません。品質に関する主張ではなく、明確に述べます。
- このリポジトリのどこにも、テレメトリー、アナリティクス、追跡機能は一切ありません。
- このツールがネットワークに接続するのは、お客様がご自身のキー(
ANTHROPIC_API_KEY、OPENROUTER_API_KEYなど)を設定した AI プロバイダーの API に対してのみです。また、モックでも外部でもないシートを使って実際の実行を開始した場合に限られます。council doctorとcouncil demoはネットワークに一切接続しません。どちらもローカルファイルと環境変数名だけを読み取るように実装されています。 docs/のランディングページは JavaScript を含まず、サードパーティーのリソースも読み込みません。どちらかが変更された場合にビルドが失敗するtest/landing-page.test.jsを参照してください。- 実行によって生成されるすべてのもの(タスク、議論、成果物、コスト)は、お客様ご自身のディスク上のフォルダー(
runs/<id>/)に書き込まれ、それ以外の場所には保存されません。そのフォルダーを削除すると記録も削除されます。支出の記録を別のログに保存せず、フォルダーから算出する理由については、src/spend.js自身のドキュメントを参照してください。 - 個人データ。 実行時には、タスクがチェーンで指定されたプロバイダーに送信されます。可能な限り、個人データを含めないでください。送信前に、すべての実行でタスクにメールアドレス、IBAN、カード番号が含まれていないか確認し、見つかった場合はデフォルトで停止します。何も送信されず、費用も発生しません。それでも送信するには、同じコマンドを
--allow-pii <types>を付けて再実行してください。氏名、住所、その他の個人情報は認識しません。停止時とログには、該当の種類と場所(行と列)が記録され、値そのものは記録されません。停止時は該当行が出力され(MCP 経由の場合は start のログファイルに記録されます)、まだ実行フォルダーは作成されていません。warnの場合は実行が続行され、同じ行がrun.logに書き込まれ、ツリーのメンバーの場合はWARNINGS.mdにも書き込まれます。個人データを送信する必要がある場合は、お客様とデータ処理契約を締結するプロバイダーを利用してください。実行が GDPR に準拠するかどうかは、その契約とタスクの内容によって決まります。THC はこれについて何ら主張しません。 - アドバイス呼び出し(
council_advise)では、セッションが作成したブリーフをマスキングしたうえで、プレビューに記載されたラボに OpenRouter 経由で送信します。送信されるのは、お客様がクライアントのダイアログまたはcouncil gate answerで正確なテキストを承認した後に限られます。承認を省略できる仕組みや設定はありません。すべての実行と同様に、正確なテキストは実行フォルダー内のディスクに書き込まれます。runs/<id>/advice-brief.mdに保存され、report.json(task_sha256)とゲートでハッシュ化されます。回答前にフォルダーが作成されるため、拒否した場合や回答しなかった場合もフォルダーは残ります(その中の情報は何も送信・使用されていません)。advise-log.jsonにブリーフのテキストは保存されません(質問の単語をソルト付きでハッシュ化したもののみが保存され、ソルトはホームフォルダーに保存されます)。アドバイス呼び出しでは常にaudit.jsonlが書き込まれ、呼び出しごとにハッシュとサイズが記録されますが、テキストは記録されません。実行フォルダーをコミットすると、マスキング済みのブリーフが公開されます。 - 監査エクスポートを有効にした場合(
"audit": true。また、policy.jsonが存在すると自動的に有効になります)、各実行は独自のフォルダーにaudit.jsonlも書き込みます。これは署名付きのハッシュチェーン形式の行で構成され(各行に直前の行のハッシュが含まれます)、src/audit.jsのverifyAuditLogでオフライン検証できます。記録されるのはシート、コスト、所要時間のみで、タスクやプロンプトのテキストは記録されません。形式についてはdocs/audit-schema.mdを参照してください。
バグの報告
github.com/muad-yasin/the-high-council-mcp/issues からイシューを作成してください。 セキュリティ関連の内容や、公開すべきでない内容については、代わりに [email protected] までご連絡ください。
これで収益が得られた場合
ライセンスは MIT です。何も支払う必要はありません。ライセンスの内容はこれだけです。以下に記載する内容によって変わることはありません。
The High Council が収益を生む何かを作る手助けになった場合、得られた収益の 0.7% をお願いしたいと思います。手数料でも、条項でも、サブスクリプションでもありません。何かを作る人同士のお願いです。
報告も、監査も、追跡もありません。確認する仕組みもありません。「いいえ」だけで十分な答えです。そのまま使い、フォークし、これを使って作ったものを販売し、このセクションのことは二度と考えなくてもかまいません。それも歓迎すべき結果です。だからこそ、ライセンスにはそのように記載しています。
同意していただける場合は、価値があると思う金額をお支払いください。
ライセンス
MIT です。LICENSE をご覧ください。上記はお願いであり、ライセンスの条件ではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。