@agents-ensemble/cli 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -86,13 +86,19 @@ cd /path/to/your/repository
86
86
  ensemble issue https://github.com/OWNER/REPOSITORY/issues/123
87
87
  ```
88
88
 
89
- 人間との TTY 対話を operator-agent に委ねる場合は `ensemble operator-agent [--repo-root <path>]` を使います。Issue セッションとは別の agent session で起動し、backend・model・profile・認証は conductor の設定を共有します。Pi backend ではユーザー/プロジェクト側の Pi extension を operator session に読み込みません。
89
+ 起動時だけ user config を差し替える場合は `--config <path>` を指定します。指定時は `~/.ensemble/config.yaml` を読み込まず、指定ファイルを user 層として扱います。project config は引き続き別層で適用され、同じ項目は project 側が優先されます。`~` は home に展開されます。
90
90
 
91
- operator-agent は既定で前回の operator 会話を再開します。初回起動では新しい session を作り、backend 固有の会話履歴は backend の保存先に、再開に使う backend・repoRoot・agentId は `.ensemble/operator-agent/session.json` に保存します。TTY の EOF、Ctrl+C(SIGINT)、SIGTERM など通常の終了では agent を閉じて再開可能な状態を保ちます。`/exit` または `exit` は連続性を明示的に切り、次回起動を新規 session にします。既存の会話を残したまま新しい会話を始める場合は `ensemble operator-agent --new` を使います。強制終了や電源断では終了時の flush は保証されません。
91
+ ```bash
92
+ ensemble issue https://github.com/OWNER/REPOSITORY/issues/123 --config ~/.ensemble/litellm.config.yaml
93
+ ```
94
+
95
+ 人間との TTY 対話を operator-agent に委ねる場合は `ensemble operator-agent [--repo-root <path>] [--config <path>]` を使います。Issue セッションとは別の agent session で起動し、backend・model・profile・認証は conductor の設定を共有します。Pi backend ではユーザー/プロジェクト側の Pi extension を operator session に読み込みません。
96
+
97
+ operator-agent は既定で前回の operator 会話を再開します。初回起動では新しい session を作り、backend 固有の会話履歴は backend の保存先に、再開に使う backend・repoRoot・agentId は `~/.ensemble/operator-agent/<repoKey>/session.json` に保存します。TTY の EOF、Ctrl+C(SIGINT)、SIGTERM など通常の終了では agent を閉じて再開可能な状態を保ちます。`/exit` または `exit` は連続性を明示的に切り、次回起動を新規 session にします。既存の会話を残したまま新しい会話を始める場合は `ensemble operator-agent --new` を使います。強制終了や電源断では終了時の flush は保証されません。
92
98
 
93
- TTY の会話では `user>` を控えめに、`operator>` をシアンで表示し、operator の本文は次の行から表示します。応答の段落間の空行は保たれ、連続する空行は最大 1 行に整理されます。起動・終了・エラー表示にも同じ余白を設けます。`NO_COLOR` が設定されている場合は色を使いません。
99
+ TTY の表示は `ensemble issue` と同じチャネル規約に沿います。`user>` / `operator>` は対話、`[harness]` は watch・dispatch・hold の状態と障害、`[observation]` は起動・終了・再接続などの運用通知です。`user>` は控えめに、`operator>` はシアンで表示し、operator の本文は次の行から表示します。監視報告 hold は理由と保留件数を `[harness]` の同じ形式で、状態が変わったときに更新します。`NO_COLOR` が設定されている場合は色を使いません。チャネルの詳細は [セッションロギング](../session-logging.md) を参照してください。
94
100
 
95
- `.ensemble/sessions/` の保存済み SessionResumeStore から得られる情報はスナップショットとして読み取り専用です。複数 session の watch は稼働中 harness の `session.observe` を使い、接続不能または未対応時には保存済み Open Questions YAML / session-state YAML / SessionResumeStore を poll して観測元を示します。一方、`list_live_open_questions`、`answer_live_open_question`、`send_operator_message`、`get_last_conductor_message`、`list_conductor_messages` は稼働中 session の直接 UDS control であり、停止・接続不能時にエラーとなり snapshot へ fallback しません。`get_last_conductor_message` は最後の応答だけ、`list_conductor_messages` は直近100件を上限とする履歴から応答と対応する全文 inbound を返します。発言を継続受信する場合は `register_conductor_message_listen` / `unregister_conductor_message_listen` を使います。送った指示の後は `get_last_conductor_message` で最後の conductor 成功応答を確認でき、まだ成功応答がなければ `message: null` です。`send_operator_message` は `next`(既定)・`idle`・`interrupt` を指定できます。成功応答はキュー受理を示し、処理完了の確認ではありません。詳細は [稼働中 harness control API reference](../live-open-question-control-api.md)、セキュリティとログの扱いは [session logging](../session-logging.md#4-sessionresumestore-と-open-question-yaml) を参照してください。
101
+ `~/.ensemble/sessions/<repoKey>/` の保存済み SessionResumeStore から得られる情報はスナップショットとして読み取り専用です。複数 session の watch は稼働中 harness の `session.observe` を使い、接続不能または未対応時には保存済み Open Questions YAML / session-state YAML / SessionResumeStore を poll して観測元を示します。`list_live_open_questions`、`answer_live_open_question`、`send_operator_message`、`get_last_conductor_message` は稼働中 session の直接 UDS control であり、停止・接続不能時にエラーとなり snapshot へ fallback しません。`get_last_conductor_message` は最後の応答だけを返します。`list_conductor_messages` は provider session history を直接読み、稼働中・停止後とも user inbound と final response の直近100件を上限に返します。Pi は active branch の entry ID と send 完了時刻を使い、Cursor は SDK run order / run ID / 作成時刻を使います。provider store を読めない場合は error になります。発言を継続受信する場合は `register_conductor_message_listen` / `unregister_conductor_message_listen` を使います。listen は稼働中 UDS の新着通知で、停止後 replay はしません。送った指示の後は `get_last_conductor_message` で最後の conductor 成功応答を確認でき、まだ成功応答がなければ `message: null` です。`send_operator_message` は `next`(既定)・`idle`・`interrupt` を指定できます。成功応答はキュー受理を示し、処理完了の確認ではありません。詳細は [稼働中 harness control API reference](../live-open-question-control-api.md)、セキュリティとログの扱いは [session logging](../session-logging.md#4-sessionresumestore-と-open-question-yaml) を参照してください。
96
102
 
97
103
  初回の作業指示は、Issue 参照の後ろに CLI 引数として渡せます。複数の引数はスペース 1 つで結合され、前後の空白は除かれます。
98
104
 
@@ -45,12 +45,23 @@ conductor:
45
45
  # その session は再利用せず、resume/create で再作成してください。
46
46
 
47
47
  acp:
48
- # profile / worker に acp 未指定時の built-in preset
48
+ # 全 worker に適用する built-in preset。profile の acp 指定は受け付けない
49
49
  defaultPreset: cursor
50
50
  # codex-acp 等 spawn 時の env(user → project deep merge)。LiteLLM 例は docs/config.md
51
51
  # env:
52
52
  # MODEL_PROVIDER: litellm
53
- # CODEX_CONFIG: ~/.codex/litellm.config.toml
53
+ # CODEX_CONFIG: '{"approval_policy":"on-request"}'
54
+ # model ID は環境ごとに設定し、profile には tier(modelTag)だけを書く
55
+ models:
56
+ high: YOUR_HIGH_MODEL_ID
57
+ standard: YOUR_DEFAULT_MODEL_ID
58
+ lightweight: YOUR_LOW_MODEL_ID
59
+ fast: YOUR_FAST_MODEL_ID
60
+ tags:
61
+ high: high
62
+ default: standard
63
+ low: lightweight
64
+ fast: fast
54
65
 
55
66
  session:
56
67
  # isolated: Issue 専用 worktree(既定) / in-repo: メイン worktree で直接作業
package/dist/index.js CHANGED
@@ -22,11 +22,13 @@ program
22
22
  .command('operator-agent')
23
23
  .description('Chat with an operator agent about repository session state')
24
24
  .option('--repo-root <path>', 'Repository root for config and saved sessions', process.cwd())
25
+ .option('--config <path>', 'Use this file instead of ~/.ensemble/config.yaml; project config still applies')
25
26
  .option('--new', 'Start a fresh operator-agent session')
26
27
  .action(async (options) => {
27
28
  try {
28
29
  await runOperatorAgent({
29
30
  repoRoot: resolve(options.repoRoot),
31
+ configPath: options.config,
30
32
  newSession: options.new,
31
33
  });
32
34
  }
@@ -41,6 +43,7 @@ program
41
43
  .argument('<issue-url>', 'GitHub Issue URL or number (e.g. 31, #31)')
42
44
  .argument('[message...]', 'Initial operator message words')
43
45
  .option('--repo-root <path>', 'Path to the local git clone for worker worktrees', process.cwd())
46
+ .option('--config <path>', 'Use this file instead of ~/.ensemble/config.yaml; project config still applies')
44
47
  .option('--conductor-cwd <path>', 'Workspace for the conductor SDK agent', process.cwd())
45
48
  .option('--resume <agentId>', 'Resume a previous conductor agent')
46
49
  .option('--continue', 'Resume the latest session for this issue (uses the saved session state with the newest updatedAt)')
@@ -51,8 +54,8 @@ program
51
54
  .option('--no-max-turns', 'Disable autonomous turn limit')
52
55
  .option('--no-wait', 'Exit immediately when the autonomous loop completes (TTY default: wait for /close or /exit)')
53
56
  .option('--worktree <mode>', 'Worker workspace: isolated (default via config) or in-repo (main worktree)')
54
- .option('--default-acp-cli <preset>', 'Default ACP CLI preset for workers without profile acp (cursor | claude | codex | pi)')
55
- .option('--default-acp-command <cmd>', 'Default custom ACP command (profile acp unset workers only; overrides --default-acp-cli)')
57
+ .option('--default-acp-cli <preset>', 'Default ACP CLI preset applied to all workers (cursor | claude | codex | pi)')
58
+ .option('--default-acp-command <cmd>', 'Default custom ACP command for all workers (overrides --default-acp-cli)')
56
59
  .option('--default-acp-arg <arg>', 'Additional arg for --default-acp-command (repeatable)', (value, previous) => [...(previous ?? []), value])
57
60
  .option('--no-github-monitor', 'Disable GitHub Issue / PR update monitoring')
58
61
  .option('--github-monitor-debounce-ms <n>', 'Debounce interval for GitHub update notifications (default: config github.monitor.debounceMs, else 30000)', (value) => Number.parseInt(value, 10))
@@ -66,6 +69,7 @@ program
66
69
  const issueUrl = await resolveIssueUrl(issueRef, repoRoot);
67
70
  const result = await executeIssueCommand(issueUrl, {
68
71
  ...options,
72
+ configPath: options.config,
69
73
  initialOperatorMessage: normalizeInitialOperatorMessage(messageParts),
70
74
  defaultAcpArgs: options.defaultAcpArg,
71
75
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface IssueCommandOptions {
5
5
  conductorCwd: string;
6
6
  resume?: string;
7
7
  continue?: boolean;
8
+ configPath?: string;
8
9
  profile?: string;
9
10
  model?: string;
10
11
  verbose?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"issue-command.d.ts","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oCAAoC,EACpC,kBAAkB,EAClB,WAAW,EAQX,eAAe,EACf,aAAa,EACb,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAW5F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iDAAiD;IACjD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B,CAAC,EAAE,OAAO,0BAA0B,CAAC;IAC/D,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IACzC,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,oCAAoC,CAAC,EAAE,OAAO,oCAAoC,CAAC;IACnF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,GACjD,MAAM,CAER;AAED,gFAAgF;AAChF,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,UAAU,CAAC,EACzD,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC/C,IAAI,GAAE,IAAI,CAAC,gBAAgB,EAAE,sCAAsC,CAAM,GACxE,OAAO,CAAC,0BAA0B,CAAC,CA2BrC;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,YAAY,CAAC,EAC7D,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,CAOR;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CA0KjC"}
1
+ {"version":3,"file":"issue-command.d.ts","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oCAAoC,EACpC,kBAAkB,EAClB,WAAW,EAQX,eAAe,EACf,aAAa,EACb,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAW5F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iDAAiD;IACjD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B,CAAC,EAAE,OAAO,0BAA0B,CAAC;IAC/D,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IACzC,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,oCAAoC,CAAC,EAAE,OAAO,oCAAoC,CAAC;IACnF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,GACjD,MAAM,CAER;AAED,gFAAgF;AAChF,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,UAAU,CAAC,EACzD,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC/C,IAAI,GAAE,IAAI,CAAC,gBAAgB,EAAE,sCAAsC,CAAM,GACxE,OAAO,CAAC,0BAA0B,CAAC,CA2BrC;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,YAAY,CAAC,EAC7D,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,CAOR;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CA6KjC"}
@@ -57,7 +57,9 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
57
57
  // 起動前に CLI / env の併用を検出し、セッションを開始しない。
58
58
  const resolvedInitialOperatorMessage = resolveInitialOperatorMessage(initialOperatorMessage);
59
59
  const repoRoot = resolve(options.repoRoot);
60
- const ensembleConfig = await loadConfig(repoRoot);
60
+ const ensembleConfig = await loadConfig(repoRoot, {
61
+ ...(options.configPath !== undefined ? { configPath: options.configPath } : {}),
62
+ });
61
63
  const conductorVerbose = resolveConductorVerboseSetting({
62
64
  cliVerbose: options.verbose,
63
65
  config: ensembleConfig,
@@ -146,6 +148,7 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
146
148
  repoRoot,
147
149
  conductorCwd: resolve(options.conductorCwd),
148
150
  resumeAgentId,
151
+ ensembleConfig,
149
152
  profile,
150
153
  profilePath,
151
154
  modelId: resolveConductorModelId(options.model, { config: ensembleConfig }),
@@ -1 +1 @@
1
- {"version":3,"file":"issue-command.js","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue-command.js","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"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"}
package/docs/config.md CHANGED
@@ -10,31 +10,62 @@ conductor に渡す MCP 設定もこの config.yaml とは別の JSON ファイ
10
10
 
11
11
  | 層 | パス | 優先度 |
12
12
  |----|------|--------|
13
- | プロジェクト | `<repoRoot>/.ensemble/config.yaml` | 高(読み込み有効時) |
14
- | ユーザ | `~/.ensemble/config.yaml` | 低(既定) |
13
+ | プロジェクト | `<repoRoot>/.ensemble/config.yaml` | 読み込み有効時に選択された user config を上書き |
14
+ | user config(明示指定時) | `--config <path>` | 標準 user config の代わりに user 層として読み込む |
15
+ | user config(標準) | `~/.ensemble/config.yaml` | `--config` 未指定時に user 層として読み込む |
15
16
 
16
- - 両方あり、読み込みが有効な場合は **deep merge**(プロジェクトがユーザを上書き)
17
- - user 設定で project 層を無効にした場合は **user 設定のみ**
18
- - どちらも無い場合は **コード内デフォルト**
19
- - **環境変数・CLI フラグは config より優先**(明示上書き)
17
+ - 設定層は **deep merge**(コード内 default → 選択された user config → project config)。project config の読み込みが有効な場合、同一キーは project 側が優先
18
+ - `--config` 指定時は `~/.ensemble/config.yaml` を読み込まず、指定ファイルを user 層の代替として扱う
19
+ - project config の読み込み可否は選択された user config の `config.loadProjectConfig` で制御する。`--config` は標準 user config の値を引き継がないため、明示ファイルにこのキーがなければ default の `true` が使われる
20
+ - `--config` の相対パスはコマンドを実行したディレクトリを基準に解決し、`~` / `~/...` は home に展開する。指定先が存在しない場合は起動エラー
21
+ - config ファイルが無い場合は **コード内デフォルト**
22
+ - 項目ごとの **環境変数・CLI フラグは、config の各層より優先**
20
23
 
21
- ユーザ設定の `config.loadProjectConfig: false` を指定すると、project config を読み込まず user 設定だけで解決します。既定値は `true` です。この制御キーは `~/.ensemble/config.yaml` でのみ有効で、project 側に同じキーを書いても無視されます。project config を読み込んだ場合は絶対パスを、user 設定でスキップした場合はその旨を起動時に stderr へ表示します。project config が無く、読み込みが有効な場合は表示しません。
24
+ 選択された user config の `config.loadProjectConfig: false` を指定すると、project config を読み込まず user 層までで解決します。既定値は `true` です。この制御キーは user 層でのみ有効で、project 側に同じキーを書いても無視されます。`--config` を使う場合は明示ファイル内の値が有効になり、標準 `~/.ensemble/config.yaml` の toggle は読み込まれません。project config を読み込んだ場合は絶対パスを、user 設定でスキップした場合はその旨を起動時に stderr へ表示します。project config が無く、読み込みが有効な場合は表示しません。
22
25
 
23
- これは [#547 の名前付き config 切り替え](https://github.com/otolab/agents-ensemble/issues/547) とは別の設定です。`config.loadProjectConfig` は既定の project 層を読むかどうかを選びます。#547 は名前付き config や明示ファイルを選び、モデル・ACP などの設定内容を切り替える仕組みを扱います。
26
+ `config.loadProjectConfig` は project 層を読むかどうかを選び、`--config <path>` は user 層に使うファイルを選びます。両者は独立しており、明示ファイルを指定しただけでは project config の読み込み可否は変わりません。
24
27
 
25
28
  ### 設定項目ごとの解決順(Phase 1)
26
29
 
27
30
  すべての Phase 1 キーで次の順序を **実装・テストで固定**している:
28
31
 
29
32
  ```
30
- CLI 明示指定 > 環境変数 > project .ensemble/config.yaml > user ~/.ensemble/config.yaml > コード内デフォルト
33
+ CLI 明示指定 > 環境変数 > project .ensemble/config.yaml(読み込み有効時) > 選択された user config > コード内デフォルト
31
34
  ```
32
35
 
33
- `loadEnsembleConfig(repoRoot)` は user → project の順で merge した `EnsembleConfig` を返す。各 `resolve*Setting` はその merged config を **config 層**として参照する。
36
+ project 層が無効な場合は、CLI 明示指定 > 環境変数 > 選択された user config > コード内デフォルトで解決します。
34
37
 
35
- `conductor.backend` はこの共通順序の例外です。CLI / 環境変数による上書きはなく、選択した profile の `profile.conductor.backend` > user / project の deep merge 済み `config.conductor.backend` > `cursor` の順で解決します。
38
+ 一回の起動で user config を切り替える場合は、任意の YAML ファイルを指定します。指定ファイルは標準 user config の代わりに読み込みます。project config は別層として適用され、同じ項目があれば project の値が優先されます(project 層を無効にする場合は、選択された user config で `config.loadProjectConfig: false` を指定します)。
36
39
 
37
- `ensemble issue` 起動時(GitHub monitor / Issue コンテキスト取得より前)に config を読み込む。
40
+ ```yaml
41
+ # ~/.ensemble/litellm.config.yaml
42
+ conductor:
43
+ model: YOUR_LITELLM_MODEL_ID
44
+
45
+ acp:
46
+ defaultPreset: codex
47
+ env:
48
+ MODEL_PROVIDER: litellm
49
+ ```
50
+
51
+ ```sh
52
+ ensemble issue 42 --config ~/.ensemble/litellm.config.yaml
53
+ ensemble operator-agent --config ~/.ensemble/litellm.config.yaml
54
+ ```
55
+
56
+ token などの秘密情報はこのファイルへ平文で書かず、provider が参照する環境変数や認証ストアで管理します。
57
+
58
+ `loadEnsembleConfig(repoRoot, { configPath })` はコード内 default → 選択された user config → project config(読み込み有効時)の順で merge した `EnsembleConfig` を返します。`configPath` がなければ標準 user config を user 層として使います。明示指定ファイルにない項目はコード内 default から引き継ぐため、標準 user config の値は漏れません。`config.loadProjectConfig` は選択された user config から解決し、明示ファイルにも指定できます。project config 内の同名キーは無視されます。各 `resolve*Setting` はその merged config を **config 層**として参照します。
59
+
60
+ `conductor.backend` はこの共通順序の例外です。CLI / 環境変数による上書きはなく、選択した profile の `profile.conductor.backend` > merged config(project > 選択された user config)> `cursor` の順で解決します。
61
+
62
+ `ensemble issue` は GitHub monitor / Issue コンテキスト取得より前に config を読み込みます。`ensemble operator-agent` も `--config` を指定でき、同じ default → 選択された user config → project config(読み込み有効時)の loader を使います。`--config` は team profile の `--profile` とは別系統で、profile 名から config ファイルを推測しません。
63
+
64
+ #### resume と config 変更
65
+
66
+ 起動時に解決した `EnsembleConfig` 全体の canonical SHA-256 digest を SessionResumeStore に記録します。resume 時に現在の config と digest が異なる場合は、conductor agent の resume 前にエラーにします。`conductor.model`、`acp.env`、model catalog / tag mapping の変更も対象です。worker の ACP spawn fingerprint には照合に必要な worker ごとの `modelTag` と解決済み model ID(credential ではない値)を記録し、env map は digest のみを保持します。旧 SessionResumeStore に平文 env map が残っている場合は、resume 整合性の検証前に値を digest へ置換して原子的に書き戻します。そのため config digest mismatch で resume を拒否する場合も、既存の平文値をファイルに残しません。SessionResumeStore には config 全体や env map の平文、config ファイルのパスは保存しません。解決済み model ID は worker fingerprint に限って保存します。
67
+
68
+ 同じ実効設定なら config ファイルの場所や YAML 内のキー順が変わっても resume できます。digest を持たない旧 resume state は互換性のため resume できますが、設定の一致は検証できない旨を warning で知らせます。設定を切り替えて作業を続ける場合は新しい session を開始してください([ADR 0042](adr/0042-explicit-config-replaces-user-layer.md))。
38
69
 
39
70
  ## テンプレート
40
71
 
@@ -55,7 +86,7 @@ profile:
55
86
  default: implementer-and-reviewer-v2 # ENSEMBLE_DEFAULT_PROFILE 相当
56
87
 
57
88
  config:
58
- loadProjectConfig: true # user config のみ有効。false で project config を無視
89
+ loadProjectConfig: true # 選択された user config で制御。false で project config を無視
59
90
 
60
91
  conductor:
61
92
  backend: pi # cursor(既定) | pi
@@ -68,8 +99,17 @@ conductor:
68
99
 
69
100
  acp:
70
101
  defaultPreset: codex # ENSEMBLE_DEFAULT_ACP_CLI 相当
71
- env: # codex-acp 子プロセス spawn に渡す env(user → project deep merge)
102
+ env: # codex-acp 子プロセス spawn に渡す env(選択された user config → project deep merge)
72
103
  MODEL_PROVIDER: litellm # Codex provider ID。接続設定は Codex config 側
104
+ models: # 環境固有の model ID catalog
105
+ opus: YOUR_OPUS_MODEL_ID
106
+ sonnet: YOUR_SONNET_MODEL_ID
107
+ haiku: YOUR_HAIKU_MODEL_ID
108
+ tags: # profile の modelTag → models key
109
+ high: opus
110
+ default: sonnet
111
+ low: sonnet
112
+ fast: haiku
73
113
 
74
114
  session:
75
115
  worktree: isolated # --worktree 既定(isolated | in-repo)
@@ -99,7 +139,7 @@ tui:
99
139
 
100
140
  | キー | 意味 | CLI 上書き | env 上書き |
101
141
  |------|------|-----------|-----------|
102
- | `config.loadProjectConfig` | project `.ensemble/config.yaml` を読み込むか(既定: `true`、user config のみ有効) | — | — |
142
+ | `config.loadProjectConfig` | project `.ensemble/config.yaml` を読み込むか(既定: `true`、選択された user config のみ有効) | — | — |
103
143
  | `profile.default` | 既定 team profile(名前またはパス) | `--profile` | `ENSEMBLE_DEFAULT_PROFILE` |
104
144
  | `conductor.model` | conductor モデル id | `--model` | `CONDUCTOR_MODEL_ID` |
105
145
  | `conductor.verbose` | harness 詳細 telemetry の表示 | `--verbose` | `CONDUCTOR_VERBOSE` |
@@ -108,6 +148,8 @@ tui:
108
148
  | `conductor.pi.projectDir` | Pi project resource root のパス上書き | — | — |
109
149
  | `acp.defaultPreset` | worker ACP built-in preset | `--default-acp-cli` 等 | `ENSEMBLE_DEFAULT_ACP_CLI` |
110
150
  | `acp.env` | codex-acp 等 spawn 時の env(string map) | — | — |
151
+ | `acp.models` | 環境固有の model key → model ID | — | — |
152
+ | `acp.tags` | model tag → `acp.models` key(全 worker 共通) | — | — |
111
153
  | `session.worktree` | worker workspace モード | `--worktree` | — |
112
154
  | `session.lazyWorkers` | 初回 `prompt_worker` まで worker ACP attach を遅延 | — | — |
113
155
  | `session.maxTurns.tty` / `nonTty` | 自律ターン上限 | `--max-turns` / `--no-max-turns` | — |
@@ -119,18 +161,60 @@ tui:
119
161
  | `github.monitor.debounceMs` | 更新 debounce | `--github-monitor-debounce-ms` | — |
120
162
  | `github.monitor.pollIntervalMs` 他 | poll 間隔(コード内既定のみ) | — | — |
121
163
 
122
- `config.loadProjectConfig` は config の merge 対象を決めるメタ設定です。project YAML の値は、設定結果にも project config の読み込み判断にも使われません。
164
+ `config.loadProjectConfig` は config の merge 対象を決めるメタ設定です。project YAML の値は、設定結果にも project config の読み込み判断にも使われません。`--config` 指定時は、その明示ファイルが選択された user config なので、このキーもそこから解決します。
165
+
166
+ ### ACP model tag と model catalog
167
+
168
+ model ID と tag mapping は環境ごとの `.ensemble/config.yaml` に置きます。team profile は `workers[]` の各 worker インスタンスに `modelTag` だけを指定します。
169
+
170
+ ```yaml
171
+ # config.yaml
172
+ acp:
173
+ models:
174
+ opus: YOUR_OPUS_MODEL_ID
175
+ sonnet: YOUR_SONNET_MODEL_ID
176
+ tags:
177
+ high: opus
178
+ default: sonnet
179
+ ```
180
+
181
+ ```yaml
182
+ # profile.yaml
183
+ workers:
184
+ - name: implementer
185
+ kind: implementer
186
+ modelTag: high
187
+ - name: reviewer
188
+ kind: reviewer
189
+ modelTag: default
190
+ - researcher # 文字列 shorthand も default tag
191
+ ```
192
+
193
+ `models` と `tags` は user config → project config の順に deep merge します。同じ key は project 側が優先されるため、profile の tier 配分を変えずに環境ごとの model ID を差し替えられます。config の `tags` に選択した tag がなければ ACP preset の既定 model を使います。tag が存在しても参照先 key が `models` にない場合は起動前にエラーにします。
194
+
195
+ worker 名・kind ごとの model 表は設けません。profile へ書ける model 関連の値は固定語彙の `modelTag` のみで、preset・spawn env・model ID は引き続き config 側が正本です。
196
+
197
+ model ID は preset ごとの方法で渡します。
198
+
199
+ | preset | model の渡し方 |
200
+ |--------|----------------|
201
+ | `cursor` | `agent --model <model-id> acp` |
202
+ | `claude` | ACP `session/new` / `session/load` の Claude settings metadata |
203
+ | `codex` | `CODEX_CONFIG` JSON の `model`。既存の JSON session config は保持 |
204
+ | `pi` / `custom` | model 注入非対応。tag が model ID に解決された場合は ACP process 起動前にエラー |
205
+
206
+ tag mapping がない場合は従来どおり各 preset の native default に委ねるため、段階的に tag を割り当てられます。`codex` で model mapping を使う場合、`acp.env.CODEX_CONFIG` は JSON object 文字列にしてください。model ID は harness が注入し、他の session config key は保持します。
123
207
 
124
208
  ### ACP spawn env(`acp.env`)
125
209
 
126
- `acp.env` は codex-acp 等の子プロセス spawn 時に渡す環境変数の正本です。**team profile に ACP 設定はない**(`acp` / `workers[].acp` を YAML に書くと load 時エラー)。
210
+ `acp.env` は codex-acp 等の子プロセス spawn 時に渡す環境変数の正本です。team profile に preset / env の直書きはありません(`acp` / `workers[].acp` を YAML に書くと load 時エラー)。worker ごとのモデル tier は profile `workers[].modelTag` で選びますが、model ID と mapping は `acp.models` / `acp.tags` に置きます。
127
211
 
128
212
  #### 設定レイヤーの用語(混同防止)
129
213
 
130
214
  | レイヤー | 正本 | 扱うもの |
131
215
  |----------|------|----------|
132
- | **team profile** | `profile.yaml` / `--profile` | conductor と workers(kind・workspace・Skill 素材など)。**ACP はこのレイヤーに属さない** |
133
- | **ensemble config** | `.ensemble/config.yaml` | ACP(preset・`env`)、session・GitHub・conductor model 等 |
216
+ | **team profile** | `profile.yaml` / `--profile` | conductor と workers(kind・workspace・`modelTag`・Skill 素材など)。modelTag は worker の tier 選択のみ |
217
+ | **ensemble config** | `.ensemble/config.yaml` | ACP(preset・`env`・model ID catalog・tag mapping)、session・GitHub・conductor model 等 |
134
218
  | **Codex profile** | `~/.codex/config.toml` + `codex --profile <name>` | Codex CLI の世界の profile(ensemble team profile とは無関係) |
135
219
 
136
220
  #### env のマージ順(後勝ち)
@@ -138,15 +222,19 @@ tui:
138
222
  spawn 解決時、子プロセスへ渡す env は次の順でマージされます。
139
223
 
140
224
  1. **builtin preset 既定** — 例: codex の `INITIAL_AGENT_MODE: agent`
141
- 2. **config `acp.env`** — user → project の deep merge 済み
225
+ 2. **config `acp.env`** — 選択された user config(`--config` 指定時は標準 user config を置換)→ project の deep merge 済み
142
226
 
143
- `acp.env` の user → project merge は他キーと同様に deep merge(project が user を上書き)。CLI / 環境変数による個別キーの上書きは Phase 1 では未提供。spawn 時は `process.env` を基底に `spawn.env` が上書きする([ADR 0028](adr/0028-authentication-delegation-and-ensemble-auth.md))。
227
+ `acp.env` は他キーと同様に deep merge し、project 層が user 層の値を上書きします。`--config` 指定時は明示ファイルが user 層となり、標準 user config は読み込みません。CLI / 環境変数による `acp.env` の個別キー上書きは Phase 1 では未提供。spawn 時は `process.env` を基底に `spawn.env` が上書きする([ADR 0028](adr/0028-authentication-delegation-and-ensemble-auth.md))。
144
228
 
145
229
  #### LiteLLM(OpenAI 互換ゲートウェイ)向け config 例
146
230
 
147
231
  Codex worker の接続先は Codex の provider 設定で定義し、`acp.env.MODEL_PROVIDER` で使う provider ID を選びます。ensemble はこの環境変数を `codex-acp` に渡すだけで、TOML ファイルを選んだり読み込んだりはしません。
148
232
 
149
- `@agentclientprotocol/codex-acp` は `packages/core/package.json` で **2.2.2** に pin されています。この版では、`CODEX_CONFIG` は Codex session config に merge する **JSON オブジェクト文字列**として `JSON.parse` されます。TOML のパスを設定すると JSON parse に失敗します。`MODEL_PROVIDER` は新しい session に渡す **provider ID** で、設定ファイルの選択には使われません。ensemble はいずれの値も `acp.env` から子プロセスへ渡すだけです。
233
+ `@agentclientprotocol/codex-acp` は `packages/core/package.json` で **2.3.0** に pin されています。この版でも、`CODEX_CONFIG` は Codex session config に merge する **JSON オブジェクト文字列**として `JSON.parse` されます。TOML のパスを設定すると JSON parse に失敗します。`MODEL_PROVIDER` は新しい session に渡す **provider ID** で、設定ファイルの選択には使われません。`INITIAL_AGENT_MODE` は初期の承認・sandbox mode を選びます。有効な mode ID は `read-only`、`workspace-write`、`agent`、`agent-full-access` で、空または未知の値は既定の `agent` に戻ります。ensemble はこれらの値を解釈せず、`acp.env` から子プロセスへ渡します。
234
+
235
+ 2.3.0 の既定 `agent` と明示的な `workspace-write` は、どちらも `approvalPolicy=on-request` かつ `workspaceWrite` sandbox ですが、approval reviewer が異なります。`agent` は `auto_review` で Codex 側が審査し、明示 `workspace-write` は `user` で client 側に判断を求めます。そのため `on-request` だけから、すべての確認が ACP `session/request_permission` として harness に届くとは限りません。`user` reviewer は client に review を委ねますが、ACP permission request が実際に発生するかは個別の操作・審査によります。今回の `workspace-write` 試行では ACP request が届き、`auto_review` の `agent` 試行では届きませんでした。これは approval の振り分けの違いであり、両 mode の sandbox policy はどちらも `workspaceWrite` です。詳細は [codex-acp 2.3.0 の mode 定義](https://github.com/agentclientprotocol/codex-acp/blob/v2.3.0/src/AgentMode.ts)を参照してください。
236
+
237
+ 今回の 2.3.0 / ACP v1 harness smoke では、既定 `agent` は ACP permission request なしで tool update 4 件を返し、marker file の作成まで観測しました。session log は `on-request` / `auto_review` / `workspace-write` でした。この request の不在は `auto_review` reviewer の経路と矛盾せず、それ自体は承認処理の bypass を示しません。ただし、個別の auto-review 判断は記録されていません。また probe path が Codex の writable roots 外だったことも確認できていないため、marker 作成が sandbox 境界の内外どちらで起きたかも、この結果だけでは結論づけられません。一方、`INITIAL_AGENT_MODE=workspace-write` を明示した試行では ACP permission request 1 件を受け、harness が `reject_once` を返すと prompt は `cancelled` となり、marker は作成されませんでした。これはその試行で ACP 経由の拒否を確認した結果であり、他 mode・path の sandbox 挙動まで証明するものではありません。
150
238
 
151
239
  Codex の model ID はトップレベルの `model`、provider は `model_provider` で指定し、provider IDに対応する `[model_providers.<id>]` から接続先・API形式・認証方法を読みます。worker では Codex が通常の設定レイヤー(主に `~/.codex/config.toml`)を読み、必要であれば `CODEX_CONFIG` の JSON が session config に加わります。`MODEL_PROVIDER=litellm` だけでは、Codex は別ファイル `litellm.config.toml` を探さず、model IDも選びません。
152
240
 
@@ -244,7 +332,7 @@ acp:
244
332
 
245
333
  #### resume と `acp.env` 変更
246
334
 
247
- worker ACP spawn のフィンガープリント([ADR 0011](adr/0011-session-sidecar-resume.md))に `env` を含める。`acp.env` を変更して resume すると **spawn mismatch エラー**になる。env を変えたあと続けるには新規セッションを開始する。
335
+ `acp.env` を含む解決済み config の変更は、通常は SessionResumeStore の config digest 比較で worker の再 attach 前に検出されます。digest のない旧 resume state では config 一致を検証できないため warning を出して resume を続けますが、worker の ACP spawn fingerprint([ADR 0011](adr/0011-session-sidecar-resume.md))があれば再 attach 時にも spawn を照合します。fingerprint は env map の digest だけを持ち、環境変数の値は保存しません。env を変えたあと続けるには新規セッションを開始してください。
248
336
 
249
337
  ### Pi resource root
250
338
 
@@ -303,7 +391,7 @@ Pi の `settings.md` にあるが headless conductor が適用しないキーは
303
391
  | `defaultTools` / `codemode.*` | `defaultTools` は headless conductor では無視します。built-in coding tools は profile の `conductor.builtinTools`(省略・未指定は有効、`false` のみ無効)で制御し、`config.yaml` には同キーを設けません。 |
304
392
  | `packages` | Pi package の install・解決。package が提供する resource は自動導入しません。 |
305
393
  | `enableSkillCommands` | skill command の登録 toggle。読み込んだ skill の `/skill:<name>` 展開可否はこのキーで変更できません。 |
306
- | `sessionDir` | Pi の settings にある session 保存先は conductor では変更できません。transcript は常に harness が `<repoRoot>/.ensemble/pi/sessions/` で管理します。 |
394
+ | `sessionDir` | Pi の settings にある session 保存先は conductor では変更できません。transcript は `~/.ensemble/sessions/<repoKey>/pi/` に保存し、旧 `<conductorCwd>/.ensemble/pi/sessions/` から再開時に移行します。 |
307
395
  | `theme` / `quietStartup` / `tuiMode` / `fullscreen*` / `terminal.*` / `images.*` / `markdown.*` | headless conductor の TUI・terminal 表示 |
308
396
  | `transport` / `httpProxy` / `httpIdleTimeoutMs` / `websocketConnectTimeoutMs` / `retry.*` / `shellPath` / `shellCommandPrefix` / `npmCommand` | Pi coding-agent の network、shell、package runtime |
309
397
  | `collapseChangelog` / `enableInstallTelemetry` / `enableAnalytics` / `warnings.*` | coding-agent の update、telemetry、UI warning |
@@ -353,7 +441,7 @@ team profile の `acp` / `workers[].acp` は **削除済み**。YAML に残す
353
441
  2. `acp.env` / `workers[].acp.env` → `acp.env`(user / project の適切な層へ)
354
442
  3. profile 側の `acp` ブロックを削除
355
443
 
356
- worker 単位の ACP 切り替えは将来の config 側設計とし、現状は横断 `defaultPreset` + `env` を正本とする。
444
+ worker 単位の ACP preset 切り替えは対象外です。tier 配分は profile の `workers[].modelTag`、環境固有の model ID は config の `acp.models` / `acp.tags` で設定します。
357
445
 
358
446
  ## Conductor MCP 設定(mcp.json)
359
447
 
@@ -405,9 +493,9 @@ YAML に未知のキーがあっても **無視する**(警告なし)。将
405
493
  - [settings.md](settings.md) — 全設定層の一覧・解決パターン(本書は config.yaml 詳細)
406
494
  - [ADR 0028](adr/0028-authentication-delegation-and-ensemble-auth.md) — worker の認証移譲とCodex runtime設定
407
495
  - [Codex profiles / custom model providers](https://developers.openai.com/codex/config-advanced#profiles) — Codex CLI profile overlay、`model`、`model_provider` の現行仕様
408
- - [codex-acp 2.2.2 runtime options](https://github.com/agentclientprotocol/codex-acp/blob/v2.2.2/README.md#runtime-options) — `CODEX_CONFIG` / `MODEL_PROVIDER` の説明
409
- - [codex-acp 2.2.2 起動処理](https://github.com/agentclientprotocol/codex-acp/blob/v2.2.2/src/index.ts#L90-L99) — 環境変数の parse と ACP 起動時の読み込み
410
- - [codex-acp 2.2.2 session開始](https://github.com/agentclientprotocol/codex-acp/blob/v2.2.2/src/CodexAcpClient.ts#L745-L755) — session config と provider ID を Codex app-server へ渡す処理
496
+ - [codex-acp 2.3.0 runtime options](https://github.com/agentclientprotocol/codex-acp/blob/v2.3.0/README.md#runtime-options) — `INITIAL_AGENT_MODE` / `CODEX_CONFIG` / `MODEL_PROVIDER` などの説明
497
+ - [codex-acp 2.3.0 起動処理](https://github.com/agentclientprotocol/codex-acp/blob/v2.3.0/src/index.ts#L38-L64) — 環境変数の parse と Codex app-server 設定への受け渡し
498
+ - [codex-acp 2.3.0 mode 定義](https://github.com/agentclientprotocol/codex-acp/blob/v2.3.0/src/AgentMode.ts) — reviewer と mode ID ごとの承認・sandbox 設定
411
499
  - [ADR 0020](https://github.com/otolab/agents-ensemble/blob/main/docs/adr/0020-ensemble-config-setting-resolution.md) — 解決順の設計判断
412
500
  - [ADR 0018](https://github.com/otolab/agents-ensemble/blob/main/docs/adr/0018-team-profile-four-layer-resolution.md) — `.ensemble/` 配下の規約(team-profile)
413
501
  - [#223](https://github.com/otolab/agents-ensemble/issues/223) — config 基盤
@@ -277,6 +277,8 @@ Pi の send が missing key、401、unauthorized などを返すと、harness
277
277
 
278
278
  再接続の in-process retry、auth error の判定、backend 固有 hint の設計は [conductor-auth-reconnect.md](conductor-auth-reconnect.md) が正本です。
279
279
 
280
+ `ensemble operator-agent` も `ensemble issue` と同じく、Pi の `!command` を含む resource を読み直すため、401 / auth-like error の後に同じ入力を一度だけ自動 retry します。TTY で `/reconnect` または `reconnect` を入力すると、LLM へ送らず現在の agent を同じ ID で再接続します。`ensemble issue` の `/reconnect` と同じ操作です。retry 後も認証エラーが続く場合は stderr の Pi 向け hint に従って認証設定を直し、`ensemble operator-agent` を再起動してください。
281
+
280
282
  ## 参照
281
283
 
282
284
  - [設定値リファレンス](settings.md) — backend、設定層、全体の解決順
package/docs/settings.md CHANGED
@@ -8,6 +8,7 @@
8
8
  |----|------|------|
9
9
  | **CLI フラグ** | `ensemble issue` 等 | invocation 単位の明示上書き |
10
10
  | **環境変数** | シェル / CI | 一時上書き・秘密情報・自動化注入 |
11
+ | **明示 user config** | `--config <path>` | 指定時は標準 user config の代わりに使う |
11
12
  | **project config** | `<repoRoot>/.ensemble/config.yaml` | リポジトリ単位の既定 |
12
13
  | **user config** | `~/.ensemble/config.yaml` | マシン全体の既定 |
13
14
  | **user instructions** | `~/.ensemble/AGENTS.md` | profile に依存しない conductor / worker 共通の運用前提 |
@@ -16,7 +17,9 @@
16
17
  | **MCP** | `.agents/mcp.json` / `~/.ensemble/mcp.json` | conductor 向け MCP([config.md § MCP](config.md#conductor-mcp-設定mcpjson)) |
17
18
  | **コード default** | `packages/core/src/config/defaults.ts` 等 | config 未作成時のフォールバック |
18
19
 
19
- project / user config は **deep merge**(project が user を上書き)。秘密情報(token 本体)は **config に平文で書かない**([config.md](config.md))。
20
+ config は default → 選択された user config → project config(読み込み有効時)の順に **deep merge** します。`--config <path>` を指定した場合は明示ファイルを user config 層として使い、標準 user config は読み込みません。project config は `config.loadProjectConfig` が有効な場合に適用され、同じキーは project config が優先します。この toggle は選択された user config から解決するため、明示ファイルにも指定できます。秘密情報(token 本体)は **config に平文で書かない**([config.md](config.md))。
21
+
22
+ セッションの再開状態、Open Question / operator status YAML、tool-call 履歴、operator-agent の watch 状態、Pi transcript は `~/.ensemble/` に repo ごとに保存します。repoKey は正規化した絶対 `repoRoot` の SHA-256 です。project `.ensemble/` は team profile と repo 固有 config / Pi resources を置く層です。isolated worktree は Git の repo 登録に加え、現行の解決・再利用処理が project-local path を前提とするため `<repoRoot>/.ensemble/worktrees/issue-N` に残します。配置・旧保存先からの移行方針は [ADR 0044](adr/0044-user-scoped-runtime-storage.md) を参照してください。
20
23
 
21
24
  ## 解決パターン
22
25
 
@@ -25,18 +28,29 @@ project / user config は **deep merge**(project が user を上書き)。
25
28
  ### パターン A — Phase 1 横断(env あり)
26
29
 
27
30
  ```
28
- CLI > 環境変数 > project config > user config > コード default
31
+ CLI > 環境変数 > project config(読み込み有効時) > 選択された user config > コード default
29
32
  ```
30
33
 
31
34
  `profile.default` / `conductor.model` / `acp.defaultPreset` など。設計判断は [ADR 0020](https://github.com/otolab/agents-ensemble/blob/main/docs/adr/0020-ensemble-config-setting-resolution.md)。
32
35
 
36
+ `ensemble issue` と `ensemble operator-agent` は `--config <path>` を受け付けます。指定したファイルが user config 層を置き換え、標準 user config は読み込みません。project config の読み込みは独立して `config.loadProjectConfig` で制御し、同一キーでは project config が優先されます。明示ファイルに toggle がなければ default の `true` が使われます。team profile の `--profile` とは別系統です。
37
+
38
+ ```sh
39
+ ensemble issue 42 --config ~/.ensemble/litellm.config.yaml
40
+ ensemble operator-agent --config ~/.ensemble/litellm.config.yaml
41
+ ```
42
+
43
+ user 層の差し替えは [ADR 0042](adr/0042-explicit-config-replaces-user-layer.md)、project toggle との組み合わせは [ADR 0043](adr/0043-explicit-user-config-and-project-toggle.md) に記録しています。
44
+
33
45
  `conductor.backend` は、選択した profile の `conductor.backend` を project/user の deep merge 済み config より優先し、どちらも未指定なら `cursor` を使います。`profile.conductor.builtinTools` は profile だけで制御し、省略・未指定は有効、`false` のみ built-in coding tools を無効にします。`profile.conductor.piSkills` は Pi backend のみで、Pi 標準の skill discovery を制御し、省略・未指定は有効、`false` で skill 索引を止めます。`config.yaml` や `settings.json.defaultTools` ではこの制御を行いません。`cursor` は Cursor SDK 経路、`pi` は Pi 1.x `createAgentSession` 経路を選びます。Pi は compiled conductor instructions を native system prompt に載せ、`~/.ensemble/pi` と `<repoRoot>/.ensemble/pi` の `settings.json` / `auth.json` / `models.json` / `extensions/` / `skills/` / `prompts/` / `themes/` を解決します。skills は Pi の `DefaultResourceLoader` で索引し、カタログを system prompt に載せて本文は `read` / `/skill:` で読みます。prompts は `/name args` で展開します。themes は headless conductor のため読み込み・project 同名解決のみ行い、TUI 表示には使いません。root は `conductor.pi.agentDir` / `conductor.pi.projectDir` で上書きできます。`.ensemble/pi/SYSTEM.md` / `APPEND_SYSTEM.md` は無視します。`ensemble auth login|logout|status` は backend に分岐し、Pi では provider 単位に `ModelRuntime` を使います。API key は TTY の secret prompt から user 層へ保存し、OAuth は Pi の OAuth flow を stderr 対話で実行します(SSH でも URL / device code を利用できます)。MCP HTTP OAuth は Pi 公式 MCP extension が別の credential store で扱います。resume では SessionResumeStore に保存した backend と起動時の解決結果が一致しない場合、次のエラーで conductor を起動せず失敗します。
34
46
 
35
47
  ```text
36
48
  Session resume state conductorBackend mismatch: pi !== cursor
37
49
  ```
38
50
 
39
- 旧 SessionResumeStore にこのフィールドがない場合は、従来どおり `cursor` として扱います。Pi の `conductorAgentId` は Pi の session id としても使われ、transcript は `<conductor-cwd>/.ensemble/pi/sessions/` の JSONL に保存されます。`--continue` / `--resume` ではその transcript を復元し、Issue context から compiled `systemPrompt` を毎回再コンパイルして native system prompt に再注入します。
51
+ 旧 SessionResumeStore にこのフィールドがない場合は、従来どおり `cursor` として扱います。Pi の `conductorAgentId` は Pi の session id としても使われ、transcript は `~/.ensemble/sessions/<repoKey>/pi/` の JSONL に保存されます。旧 `<conductorCwd>/.ensemble/pi/sessions/` は再開時に読み取り、user 側へ移行します。`--continue` / `--resume` ではその transcript を復元し、Issue context から compiled `systemPrompt` を毎回再コンパイルして native system prompt に再注入します。
52
+
53
+ SessionResumeStore には起動時の実効 ensemble config の canonical SHA-256 digest も保存します。resume 時に digest が異なる場合は conductor の再開前に拒否し、digest を持たない旧 store は警告後に従来どおり再開します。config 値やファイルパスは保存しません。ACP spawn env も canonical digest のみを保存し、値は記録しません。
40
54
 
41
55
  ### パターン B — Phase 1 横断(env なし)
42
56
 
@@ -54,7 +68,7 @@ worker spawn 時の ACP preset 解決([ADR 0019](adr/0019-worker-acp-cli-prese
54
68
  CLI --default-acp-* > ENSEMBLE_DEFAULT_ACP_CLI > config acp.defaultPreset > cursor
55
69
  ```
56
70
 
57
- `acp.env` の正本は config(user → project deep merge)。spawn env のマージ順: builtin preset 既定 → config `acp.env`。詳細は [config.md § ACP spawn env](config.md#acp-spawn-envacpenv)。
71
+ `acp.env` の正本は config(選択された user config → project の順に deep merge)。spawn env のマージ順: builtin preset 既定 → config `acp.env`。SessionResumeStore には ACP env map の canonical digest のみを保存し、環境変数の値は記録しません。詳細は [config.md § ACP spawn env](config.md#acp-spawn-envacpenv)。
58
72
 
59
73
  ### パターン D — 実行時入力(env / CLI)
60
74
 
@@ -87,8 +101,9 @@ dispatch hold reminder の poll 間隔も `5_000ms`(5s)で、この実行時
87
101
  | conductor backend | `conductor.backend` | — | — | `cursor` | profile > config > default |
88
102
  | Pi user resource root | `conductor.pi.agentDir` | — | — | `~/.ensemble/pi` | config |
89
103
  | Pi project resource root | `conductor.pi.projectDir` | — | — | `<repoRoot>/.ensemble/pi` | config |
90
- | worker ACP preset(profile 未指定 worker) | `acp.defaultPreset` | `ENSEMBLE_DEFAULT_ACP_CLI` | `--default-acp-cli` 等 | `cursor` | C |
91
- | worker ACP spawn env | `acp.env` | — | — | — | config deep merge |
104
+ | worker ACP preset(全 worker 共通) | `acp.defaultPreset` | `ENSEMBLE_DEFAULT_ACP_CLI` | `--default-acp-cli` 等 | `cursor` | C |
105
+ | worker ACP spawn env | `acp.env` | — | — | — | 選択された user config → project deep merge |
106
+ | worker model tier / model ID | `workers[].modelTag` / `acp.tags`・`acp.models` | — | — | `default` tag | profile の tag を config の model ID catalog で解決 |
92
107
  | Issue worktree | `session.worktree` | — | `--worktree` | `isolated` | B |
93
108
  | worker ACP lazy attach | `session.lazyWorkers` | — | — | `false` | B |
94
109
  | 自律ターン上限(TTY) | `session.maxTurns.tty` | — | `--max-turns` / `--no-max-turns` | `0`(無制限) | B |
@@ -99,7 +114,7 @@ dispatch hold reminder の poll 間隔も `5_000ms`(5s)で、この実行時
99
114
  | 監視 debounce | `github.monitor.debounceMs` | — | `--github-monitor-debounce-ms` | `30000` | B |
100
115
  | poll 間隔 | `github.monitor.pollIntervalMs` 他 | — | — | 各定数 | B |
101
116
 
102
- テンプレート: [`config.example.yaml`](../config.example.yaml)。`ensemble issue` 起動時(GitHub monitor より前)に `loadEnsembleConfig(repoRoot)` で読み込む。user 設定の `config.loadProjectConfig: false` で project 層を無効にでき、project config の読み込み・スキップは同 loader を使う起動経路で stderr に表示する。詳細は [config.md](config.md#配置と解決順) を参照。
117
+ テンプレート: [`config.example.yaml`](../config.example.yaml)。`ensemble issue` 起動時(GitHub monitor より前)に `loadEnsembleConfig(repoRoot)` で読み込む。選択された user 設定(標準 user config または `--config` の明示ファイル)の `config.loadProjectConfig: false` で project 層を無効にでき、project config の読み込み・スキップは同 loader を使う起動経路で stderr に表示する。詳細は [config.md](config.md#配置と解決順) を参照。
103
118
 
104
119
  ## 一覧 — TUI / オペレータ UI
105
120
 
@@ -157,7 +172,7 @@ TUI 設定は `loadEnsembleConfig` 結果を `createIssueSessionTuiHost` へ渡
157
172
  | 1 回限りの実行 | CLI フラグ(初回メッセージは `ensemble issue <ref> [message...]`) |
158
173
  | token | Cursor: 環境変数 or `ensemble auth login`、Pi: `ensemble auth login --provider <id>` / Pi `auth.json` / provider 環境変数、GitHub: `gh auth login`(いずれも config に書かない) |
159
174
  | tmux 内で Issue リンクを短縮表示 | `~/.ensemble/config.yaml` に `tui.forceHyperlink: on`(または env `FORCE_HYPERLINK=1`) |
160
- | worker ごとの ACP / cwd | `profile.yaml` |
175
+ | worker ごとの model tier / workspace cwd | `profile.yaml` |
161
176
  | conductor の MCP | `mcp.json` |
162
177
 
163
178
  ## env-only の棚卸し
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agents-ensemble/cli",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "type": "module",
5
5
  "description": "ensemble CLI — Issue-based agent orchestration",
6
6
  "bin": {
@@ -17,8 +17,8 @@
17
17
  "react": "19.2.0",
18
18
  "react-ink-textarea": "npm:@otolab/react-ink-textarea@0.4.1-otolab.3",
19
19
  "string-width": "8.1.0",
20
- "@agents-ensemble/core": "0.15.0",
21
- "@agents-ensemble/operator-agent": "0.3.0"
20
+ "@agents-ensemble/core": "0.17.0",
21
+ "@agents-ensemble/operator-agent": "0.4.1"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/js-yaml": "4.0.9",