@agents-ensemble/cli 0.14.2 → 0.16.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
@@ -43,6 +43,10 @@ backend を選んだ後の主経路は共通です。リポジトリのディレ
43
43
 
44
44
  `ensemble issue` の `--permission-deadlock-stall-ms <n>` で、worker の permission が停滞したときに警告・conductor 通知を出すまでの時間を上書きできます。既定値は **`300_000ms`(300 秒)**です。設定値の解決順と API 名は [設定値リファレンス](https://github.com/otolab/agents-ensemble/blob/main/docs/settings.md) を参照してください。poll 間隔と worker UI の挙動はこのオプションでは変更しません。
45
45
 
46
+ ## dispatch hold reminder の間隔
47
+
48
+ dispatch hold が続く間、harness は既定 **30 分ごと**に、held buffer の件数と解除を促す reminder を operator 向け telemetry として表示します。`ensemble issue` の `--dispatch-hold-reminder-ms <n>` で間隔を上書きできます。通知のみで、自動解除はしません。詳細と API 名は [設定値リファレンス](https://github.com/otolab/agents-ensemble/blob/main/docs/settings.md) を参照してください。
49
+
46
50
  ## 最小クイックスタート
47
51
 
48
52
  初回だけ、worker・選択した conductor backend・GitHub API の認証を準備します。
@@ -82,13 +86,19 @@ cd /path/to/your/repository
82
86
  ensemble issue https://github.com/OWNER/REPOSITORY/issues/123
83
87
  ```
84
88
 
85
- 人間との 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
+
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 に読み込みません。
86
96
 
87
- 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 は保証されません。
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 は保証されません。
88
98
 
89
- 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) を参照してください。
90
100
 
91
- `.ensemble/sessions/` の保存済み sidecar から得られる情報はスナップショットとして読み取り専用です。複数 session の watch は稼働中 harness の `session.observe` を使い、接続不能または未対応時には保存済み Open Questions YAML / session-state YAML / sidecar を 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` で最後の 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-sidecar-と-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) を参照してください。
92
102
 
93
103
  初回の作業指示は、Issue 参照の後ろに CLI 引数として渡せます。複数の引数はスペース 1 つで結合され、前後の空白は除かれます。
94
104
 
@@ -99,7 +109,7 @@ ensemble issue https://github.com/OWNER/REPOSITORY/issues/123 "まずテスト
99
109
 
100
110
  これは TTY / 非 TTY の両方で、セッション開始後に 1 回だけ `operator.message` として conductor へ送られます。CLI メッセージと `ENSEMBLE_OPERATOR_MESSAGE` は併用できず、両方が空でない場合は起動エラーになります。`--continue` / `--resume` では CLI メッセージは注入されず、stderr に警告が出ます。詳細は [オペレータ入力](https://github.com/otolab/agents-ensemble/blob/main/docs/operator-input.md) と [設定値リファレンス](https://github.com/otolab/agents-ensemble/blob/main/docs/settings.md) を参照してください。
101
111
 
102
- TTY で worktree とセッション状態を残してプロセスを閉じるには `/close` を入力します。正常に閉じると exit code 0 で終了し、再開するときは同じ Issue に `--continue` を付けます。`/exit` は isolated worktree の cleanup を試みて終了します(cleanup に失敗しても warning のみで exit code は 0、[#448](https://github.com/otolab/agents-ensemble/issues/448))。Ctrl+C / SIGINT は `interrupted` として中断し、worktree cleanup を行いません。詳しくは [オペレータ入力](https://github.com/otolab/agents-ensemble/blob/main/docs/operator-input.md) を参照してください。
112
+ TTY で worktree とセッション状態を残してプロセスを閉じるには `/close` を入力します。正常に閉じると exit code 0 で終了し、再開するときは同じ Issue に `--continue` を付けます。同じ Issue に複数の保存 session がある場合、`--continue` は `close` / `abort` を優先し、`exit` は候補から除外します。選択規則の詳細は [SessionResumeStore の記録](../session-logging.md#4-sessionresumestore-と-open-question-yaml) を参照してください。`/exit` は isolated worktree の cleanup を試みて終了します(cleanup に失敗しても warning のみで exit code は 0、[#448](https://github.com/otolab/agents-ensemble/issues/448))。Ctrl+C / SIGINT は `interrupted` として中断し、worktree cleanup を行いません。詳しくは [オペレータ入力](https://github.com/otolab/agents-ensemble/blob/main/docs/operator-input.md) を参照してください。
103
113
 
104
114
  ## 利用者向け doc
105
115
 
@@ -7,6 +7,10 @@
7
7
  # 実運用の config は gitignore 対象。token 等の秘密情報は書かないこと。
8
8
  # 詳細: docs/config.md
9
9
 
10
+ config:
11
+ # user ~/.ensemble/config.yaml のみ有効。false で project config を読まない
12
+ loadProjectConfig: true
13
+
10
14
  profile:
11
15
  # --profile 未指定時の team profile(名前またはパス)
12
16
  default: implementer-and-reviewer-v2
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { resolve } from 'node:path';
3
3
  import { Command, Option } from 'commander';
4
- import { DEFAULT_PERMISSION_DEADLOCK_STALL_MS, listConductorModels, resolveIssueUrl, } from '@agents-ensemble/core';
4
+ import { DEFAULT_DISPATCH_HOLD_REMINDER_MS, DEFAULT_PERMISSION_DEADLOCK_STALL_MS, listConductorModels, resolveIssueUrl, } from '@agents-ensemble/core';
5
5
  import { readCliPackageVersion } from './cli-version.js';
6
6
  import { executeIssueCommand, issueCommandExitCode } from './issue-command.js';
7
7
  import { formatModelsListJson, formatModelsListText } from './format-models-list.js';
@@ -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,9 +43,10 @@ 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
- .option('--continue', 'Resume the latest session for this issue (uses sidecar with newest updatedAt)')
49
+ .option('--continue', 'Resume the latest session for this issue (uses the saved session state with the newest updatedAt)')
47
50
  .option('--profile <name>', 'Team profile name or path (default: config profile.default, ENSEMBLE_DEFAULT_PROFILE env, else bundled implementer-and-reviewer-v2). Name resolves: project .ensemble/teams/ > ~/.ensemble/teams/ > bundled > legacy profiles/')
48
51
  .option('--model <id>', 'Conductor model id (default: config conductor.model, else default)')
49
52
  .option('--verbose', 'Show detailed harness telemetry (default: config conductor.verbose or false)')
@@ -57,6 +60,7 @@ program
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))
59
62
  .option('--permission-deadlock-stall-ms <n>', `Permission deadlock warning threshold in milliseconds (default: ${DEFAULT_PERMISSION_DEADLOCK_STALL_MS})`, (value) => Number.parseInt(value, 10))
63
+ .option('--dispatch-hold-reminder-ms <n>', `Dispatch hold operator reminder interval in milliseconds (default: ${DEFAULT_DISPATCH_HOLD_REMINDER_MS})`, (value) => Number.parseInt(value, 10))
60
64
  .option('--summary-format <format>', 'Exit summary format: auto (TTY=text, non-TTY=json), json, or text', 'auto')
61
65
  .option('--include-full-response-text', 'Include full worker responseText in JSON exit summary (default: responsePreview only)')
62
66
  .action(async (issueRef, messageParts, options) => {
@@ -65,6 +69,7 @@ program
65
69
  const issueUrl = await resolveIssueUrl(issueRef, repoRoot);
66
70
  const result = await executeIssueCommand(issueUrl, {
67
71
  ...options,
72
+ configPath: options.config,
68
73
  initialOperatorMessage: normalizeInitialOperatorMessage(messageParts),
69
74
  defaultAcpArgs: options.defaultAcpArg,
70
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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"}
@@ -1,10 +1,11 @@
1
- import { findLatestSessionSidecarForIssue, loadEnsembleConfig, loadProfile, runIssueSession, SessionLogger, type ConductorSessionResult, type EnsembleConfig } from '@agents-ensemble/core';
1
+ import { findLatestSessionResumeStoreForIssue, loadEnsembleConfig, loadProfile, runIssueSession, SessionLogger, type ConductorSessionResult, type EnsembleConfig } from '@agents-ensemble/core';
2
2
  import { isOperatorInputInteractive, isOperatorInputTty } from './prompt-operator-input.js';
3
3
  export interface IssueCommandOptions {
4
4
  repoRoot: string;
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;
@@ -22,6 +23,8 @@ export interface IssueCommandOptions {
22
23
  githubMonitorDebounceMs?: number;
23
24
  /** permission 停滞警告の閾値(ms)。未指定時は core の既定値を使う。 */
24
25
  permissionDeadlockStallMs?: number;
26
+ /** dispatch hold リマインド間隔(ms)。未指定時は core の既定値を使う。 */
27
+ dispatchHoldReminderMs?: number;
25
28
  }
26
29
  export interface IssueCommandDeps {
27
30
  isOperatorInputInteractive?: typeof isOperatorInputInteractive;
@@ -30,12 +33,12 @@ export interface IssueCommandDeps {
30
33
  loadProfile?: typeof loadProfile;
31
34
  loadEnsembleConfig?: typeof loadEnsembleConfig;
32
35
  SessionLogger?: typeof SessionLogger;
33
- findLatestSessionSidecarForIssue?: typeof findLatestSessionSidecarForIssue;
36
+ findLatestSessionResumeStoreForIssue?: typeof findLatestSessionResumeStoreForIssue;
34
37
  writeStderr?: (message: string) => void;
35
38
  }
36
39
  export interface ResolveResumeAgentIdResult {
37
40
  resumeAgentId?: string;
38
- continuedFromSidecar?: string;
41
+ continuedFromResumeStore?: string;
39
42
  }
40
43
  /** `ensemble issue` の結果をプロセス終了コードへ変換する。 */
41
44
  export declare function issueCommandExitCode(result: Pick<ConductorSessionResult, 'stopReason'>): number;
@@ -43,7 +46,7 @@ export declare function issueCommandExitCode(result: Pick<ConductorSessionResult
43
46
  export declare function resolveResumeAgentIdFromOptions(options: Pick<IssueCommandOptions, 'resume' | 'continue'>, context: {
44
47
  issueUrl: string;
45
48
  repoRoot: string;
46
- }, deps?: Pick<IssueCommandDeps, 'findLatestSessionSidecarForIssue'>): Promise<ResolveResumeAgentIdResult>;
49
+ }, deps?: Pick<IssueCommandDeps, 'findLatestSessionResumeStoreForIssue'>): Promise<ResolveResumeAgentIdResult>;
47
50
  /** `ensemble issue` の CLI オプションから `runIssueSession` に渡す `maxTurns` を決定する。 */
48
51
  export declare function resolveIssueSessionMaxTurns(options: Pick<IssueCommandOptions, 'maxTurns' | 'noMaxTurns'>, interactive: boolean, config?: EnsembleConfig): number;
49
52
  export declare function executeIssueCommand(issueUrl: string, options: IssueCommandOptions, deps?: IssueCommandDeps): Promise<ConductorSessionResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"issue-command.d.ts","sourceRoot":"","sources":["../src/issue-command.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,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;CACpC;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,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;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,kCAAkC,CAAM,GACpE,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,CAuKjC"}
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"}
@@ -1,5 +1,5 @@
1
1
  import { resolve } from 'node:path';
2
- import { findLatestSessionSidecarForIssue, loadEnsembleConfig, loadProfile, resolveConductorModelId, resolveConductorVerboseSetting, resolveGitHubMonitorDebounceMs, resolveGitHubMonitorEnabled, resolveSessionMaxTurns, resolveSessionPostLoopWait, resolveSessionWorktreeMode, runIssueSession, SessionLogger, } from '@agents-ensemble/core';
2
+ import { findLatestSessionResumeStoreForIssue, loadEnsembleConfig, loadProfile, resolveConductorModelId, resolveConductorVerboseSetting, resolveGitHubMonitorDebounceMs, resolveGitHubMonitorEnabled, resolveSessionMaxTurns, resolveSessionPostLoopWait, resolveSessionWorktreeMode, runIssueSession, SessionLogger, } from '@agents-ensemble/core';
3
3
  import { bindAsyncOperatorInput, notifyOperatorInputReprompt } from './async-operator-input.js';
4
4
  import { isOperatorInputInteractive, isOperatorInputTty } from './prompt-operator-input.js';
5
5
  import { parseWorktreeMode } from './parse-worktree-mode.js';
@@ -23,17 +23,17 @@ export async function resolveResumeAgentIdFromOptions(options, context, deps = {
23
23
  if (!options.continue) {
24
24
  return {};
25
25
  }
26
- const findLatest = deps.findLatestSessionSidecarForIssue ?? findLatestSessionSidecarForIssue;
27
- const sidecar = await findLatest({
26
+ const findLatest = deps.findLatestSessionResumeStoreForIssue ?? findLatestSessionResumeStoreForIssue;
27
+ const resumeStore = await findLatest({
28
28
  repoRoot: context.repoRoot,
29
29
  issueUrl: context.issueUrl,
30
30
  });
31
- if (!sidecar) {
32
- throw new Error(`No session sidecar found for issue ${context.issueUrl}. Start a new session without --continue.`);
31
+ if (!resumeStore) {
32
+ throw new Error(`No saved session resume store found for issue ${context.issueUrl}. Start a new session without --continue.`);
33
33
  }
34
34
  return {
35
- resumeAgentId: sidecar.conductorAgentId,
36
- continuedFromSidecar: sidecar.conductorAgentId,
35
+ resumeAgentId: resumeStore.conductorAgentId,
36
+ continuedFromResumeStore: resumeStore.conductorAgentId,
37
37
  };
38
38
  }
39
39
  /** `ensemble issue` の CLI オプションから `runIssueSession` に渡す `maxTurns` を決定する。 */
@@ -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,
@@ -71,7 +73,7 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
71
73
  cwd: repoRoot,
72
74
  config: ensembleConfig,
73
75
  });
74
- const { resumeAgentId, continuedFromSidecar } = await resolveResumeAgentIdFromOptions(options, { issueUrl, repoRoot }, deps);
76
+ const { resumeAgentId, continuedFromResumeStore } = await resolveResumeAgentIdFromOptions(options, { issueUrl, repoRoot }, deps);
75
77
  if (initialOperatorMessage && resumeAgentId) {
76
78
  writeStderr('Warning: the initial CLI operator message is ignored with --continue or --resume.');
77
79
  }
@@ -108,10 +110,10 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
108
110
  if (workerWorktreeMode === 'in_repo') {
109
111
  sessionLogger.emit({ type: 'session.worktree.notice', mode: workerWorktreeMode });
110
112
  }
111
- if (continuedFromSidecar) {
113
+ if (continuedFromResumeStore) {
112
114
  sessionLogger.emit({
113
115
  type: 'session.continue',
114
- conductorAgentId: continuedFromSidecar,
116
+ conductorAgentId: continuedFromResumeStore,
115
117
  });
116
118
  }
117
119
  const maxTurns = resolveIssueSessionMaxTurns(options, interactive, 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 }),
@@ -157,6 +160,9 @@ export async function executeIssueCommand(issueUrl, options, deps = {}) {
157
160
  ...(options.permissionDeadlockStallMs !== undefined
158
161
  ? { permissionDeadlockStallMs: options.permissionDeadlockStallMs }
159
162
  : {}),
163
+ ...(options.dispatchHoldReminderMs !== undefined
164
+ ? { dispatchHoldReminderMs: options.dispatchHoldReminderMs }
165
+ : {}),
160
166
  ...(defaultAcp ? { defaultAcp: { ...defaultAcp, config: ensembleConfig } } : { defaultAcp: { config: ensembleConfig } }),
161
167
  ...(interactive
162
168
  ? {
@@ -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,26 +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
- - どちらも無い場合は **コード内デフォルト**
18
- - **環境変数・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 の各層より優先**
23
+
24
+ 選択された user config の `config.loadProjectConfig: false` を指定すると、project config を読み込まず user 層までで解決します。既定値は `true` です。この制御キーは user 層でのみ有効で、project 側に同じキーを書いても無視されます。`--config` を使う場合は明示ファイル内の値が有効になり、標準 `~/.ensemble/config.yaml` の toggle は読み込まれません。project config を読み込んだ場合は絶対パスを、user 設定でスキップした場合はその旨を起動時に stderr へ表示します。project config が無く、読み込みが有効な場合は表示しません。
25
+
26
+ `config.loadProjectConfig` は project 層を読むかどうかを選び、`--config <path>` は user 層に使うファイルを選びます。両者は独立しており、明示ファイルを指定しただけでは project config の読み込み可否は変わりません。
19
27
 
20
28
  ### 設定項目ごとの解決順(Phase 1)
21
29
 
22
30
  すべての Phase 1 キーで次の順序を **実装・テストで固定**している:
23
31
 
24
32
  ```
25
- CLI 明示指定 > 環境変数 > project .ensemble/config.yaml > user ~/.ensemble/config.yaml > コード内デフォルト
33
+ CLI 明示指定 > 環境変数 > project .ensemble/config.yaml(読み込み有効時) > 選択された user config > コード内デフォルト
34
+ ```
35
+
36
+ project 層が無効な場合は、CLI 明示指定 > 環境変数 > 選択された user config > コード内デフォルトで解決します。
37
+
38
+ 一回の起動で user config を切り替える場合は、任意の YAML ファイルを指定します。指定ファイルは標準 user config の代わりに読み込みます。project config は別層として適用され、同じ項目があれば project の値が優先されます(project 層を無効にする場合は、選択された user config で `config.loadProjectConfig: false` を指定します)。
39
+
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
26
54
  ```
27
55
 
28
- `loadEnsembleConfig(repoRoot)` は user → project の順で merge した `EnsembleConfig` を返す。各 `resolve*Setting` はその merged config を **config 層**として参照する。
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 層**として参照します。
29
59
 
30
- `conductor.backend` はこの共通順序の例外です。CLI / 環境変数による上書きはなく、選択した profile の `profile.conductor.backend` > user / project の deep merge 済み `config.conductor.backend` > `cursor` の順で解決します。
60
+ `conductor.backend` はこの共通順序の例外です。CLI / 環境変数による上書きはなく、選択した profile の `profile.conductor.backend` > merged config(project > 選択された user config)> `cursor` の順で解決します。
31
61
 
32
- `ensemble issue` 起動時(GitHub monitor / Issue コンテキスト取得より前)に config を読み込む。
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` だけの変更も対象です。worker の ACP spawn fingerprint も env map の digest を保持し、値そのものは保存しません。旧 SessionResumeStore に平文 env map が残っている場合は、resume 整合性の検証前に値を digest へ置換して原子的に書き戻します。そのため config digest mismatch で resume を拒否する場合も、既存の平文値をファイルに残しません。新しい SessionResumeStore には config の値やファイルパスを保存しません。
67
+
68
+ 同じ実効設定なら config ファイルの場所や YAML 内のキー順が変わっても resume できます。digest を持たない旧 resume state は互換性のため resume できますが、設定の一致は検証できない旨を warning で知らせます。設定を切り替えて作業を続ける場合は新しい session を開始してください([ADR 0042](adr/0042-explicit-config-replaces-user-layer.md))。
33
69
 
34
70
  ## テンプレート
35
71
 
@@ -49,6 +85,9 @@ cp config.example.yaml ~/.ensemble/config.yaml
49
85
  profile:
50
86
  default: implementer-and-reviewer-v2 # ENSEMBLE_DEFAULT_PROFILE 相当
51
87
 
88
+ config:
89
+ loadProjectConfig: true # 選択された user config で制御。false で project config を無視
90
+
52
91
  conductor:
53
92
  backend: pi # cursor(既定) | pi
54
93
  model: default # CONDUCTOR_MODEL_ID 相当
@@ -60,7 +99,7 @@ conductor:
60
99
 
61
100
  acp:
62
101
  defaultPreset: codex # ENSEMBLE_DEFAULT_ACP_CLI 相当
63
- env: # codex-acp 子プロセス spawn に渡す env(user → project deep merge)
102
+ env: # codex-acp 子プロセス spawn に渡す env(選択された user config → project deep merge)
64
103
  MODEL_PROVIDER: litellm # Codex provider ID。接続設定は Codex config 側
65
104
 
66
105
  session:
@@ -91,6 +130,7 @@ tui:
91
130
 
92
131
  | キー | 意味 | CLI 上書き | env 上書き |
93
132
  |------|------|-----------|-----------|
133
+ | `config.loadProjectConfig` | project `.ensemble/config.yaml` を読み込むか(既定: `true`、選択された user config のみ有効) | — | — |
94
134
  | `profile.default` | 既定 team profile(名前またはパス) | `--profile` | `ENSEMBLE_DEFAULT_PROFILE` |
95
135
  | `conductor.model` | conductor モデル id | `--model` | `CONDUCTOR_MODEL_ID` |
96
136
  | `conductor.verbose` | harness 詳細 telemetry の表示 | `--verbose` | `CONDUCTOR_VERBOSE` |
@@ -110,6 +150,8 @@ tui:
110
150
  | `github.monitor.debounceMs` | 更新 debounce | `--github-monitor-debounce-ms` | — |
111
151
  | `github.monitor.pollIntervalMs` 他 | poll 間隔(コード内既定のみ) | — | — |
112
152
 
153
+ `config.loadProjectConfig` は config の merge 対象を決めるメタ設定です。project YAML の値は、設定結果にも project config の読み込み判断にも使われません。`--config` 指定時は、その明示ファイルが選択された user config なので、このキーもそこから解決します。
154
+
113
155
  ### ACP spawn env(`acp.env`)
114
156
 
115
157
  `acp.env` は codex-acp 等の子プロセス spawn 時に渡す環境変数の正本です。**team profile に ACP 設定はない**(`acp` / `workers[].acp` を YAML に書くと load 時エラー)。
@@ -127,9 +169,9 @@ tui:
127
169
  spawn 解決時、子プロセスへ渡す env は次の順でマージされます。
128
170
 
129
171
  1. **builtin preset 既定** — 例: codex の `INITIAL_AGENT_MODE: agent`
130
- 2. **config `acp.env`** — user → project の deep merge 済み
172
+ 2. **config `acp.env`** — 選択された user config(`--config` 指定時は標準 user config を置換)→ project の deep merge 済み
131
173
 
132
- `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))。
174
+ `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))。
133
175
 
134
176
  #### LiteLLM(OpenAI 互換ゲートウェイ)向け config 例
135
177
 
@@ -233,7 +275,7 @@ acp:
233
275
 
234
276
  #### resume と `acp.env` 変更
235
277
 
236
- worker ACP spawn のフィンガープリント([ADR 0011](adr/0011-session-sidecar-resume.md))に `env` を含める。`acp.env` を変更して resume すると **spawn mismatch エラー**になる。env を変えたあと続けるには新規セッションを開始する。
278
+ `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 を変えたあと続けるには新規セッションを開始してください。
237
279
 
238
280
  ### Pi resource root
239
281
 
@@ -292,7 +334,7 @@ Pi の `settings.md` にあるが headless conductor が適用しないキーは
292
334
  | `defaultTools` / `codemode.*` | `defaultTools` は headless conductor では無視します。built-in coding tools は profile の `conductor.builtinTools`(省略・未指定は有効、`false` のみ無効)で制御し、`config.yaml` には同キーを設けません。 |
293
335
  | `packages` | Pi package の install・解決。package が提供する resource は自動導入しません。 |
294
336
  | `enableSkillCommands` | skill command の登録 toggle。読み込んだ skill の `/skill:<name>` 展開可否はこのキーで変更できません。 |
295
- | `sessionDir` | Pi の settings にある session 保存先は conductor では変更できません。transcript は常に harness が `<repoRoot>/.ensemble/pi/sessions/` で管理します。 |
337
+ | `sessionDir` | Pi の settings にある session 保存先は conductor では変更できません。transcript は `~/.ensemble/sessions/<repoKey>/pi/` に保存し、旧 `<conductorCwd>/.ensemble/pi/sessions/` から再開時に移行します。 |
296
338
  | `theme` / `quietStartup` / `tuiMode` / `fullscreen*` / `terminal.*` / `images.*` / `markdown.*` | headless conductor の TUI・terminal 表示 |
297
339
  | `transport` / `httpProxy` / `httpIdleTimeoutMs` / `websocketConnectTimeoutMs` / `retry.*` / `shellPath` / `shellCommandPrefix` / `npmCommand` | Pi coding-agent の network、shell、package runtime |
298
340
  | `collapseChangelog` / `enableInstallTelemetry` / `enableAnalytics` / `warnings.*` | coding-agent の update、telemetry、UI warning |
@@ -332,7 +374,7 @@ conductor の system prompt の基底は modular-prompt のコンパイル結果
332
374
 
333
375
  **config 未作成時**は従来どおり env とコード default のみが効く(後方互換)。
334
376
 
335
- `session.lazyWorkers` は既定 `false` です。`true` にすると profile の全 worker を session に登録して TUI / `list_workers` に `sleeping` と表示し、初回の通常 `prompt_worker` で対象 worker だけを attach / init します。init prompt 完了後に最初の instruction を別ラウンドで送り、その後はセッション終了まで常駐します。resume は sidecar に保存した設定を使い、ACP session のある worker は再 attach、まだ使っていない worker は sleeping のままにします。lazy 設定のない旧 sidecar は eager として扱います。
377
+ `session.lazyWorkers` は既定 `false` です。`true` にすると profile の全 worker を session に登録して TUI / `list_workers` に `sleeping` と表示し、初回の通常 `prompt_worker` で対象 worker だけを attach / init します。init prompt 完了後に最初の instruction を別ラウンドで送り、その後はセッション終了まで常駐します。resume は SessionResumeStore に保存した設定を使い、ACP session のある worker は再 attach、まだ使っていない worker は sleeping のままにします。lazy 設定のない旧 SessionResumeStore は eager として扱います。
336
378
 
337
379
  ### team profile `acp` の削除
338
380
 
@@ -372,7 +414,7 @@ MCP 設定は次の 2 層から読み込み、`mcpServers` のサーバー名単
372
414
  }
373
415
  ```
374
416
 
375
- 解決済み設定は conductor の両 backend に同じ map として渡す。Cursor SDK では `Agent.create` / `Agent.resume` の inline MCP として、Pi では Pi 1.x の `DefaultResourceLoader` に `createMcpExtension({ loadConfig })` を extension factory として登録し、`createAgentSession` の起動時に注入する。Pi 側で `.pi/mcp.json` へ同期・コピー・symlink は行わず、resume 時も harness が解決した同じ map を再注入する。sidecar にはこの map の canonical SHA-256 digest だけを保存し、resume 時に現在の digest と比較するため、設定変更は新しい session を要求する。digest に秘密値そのものは保存しない。MCP 接続の管理、tool discovery、OAuth、resource tools は Pi 公式 extension に委ね、core は MCP client/transport を実装しない。
417
+ 解決済み設定は conductor の両 backend に同じ map として渡す。Cursor SDK では `Agent.create` / `Agent.resume` の inline MCP として、Pi では Pi 1.x の `DefaultResourceLoader` に `createMcpExtension({ loadConfig })` を extension factory として登録し、`createAgentSession` の起動時に注入する。Pi 側で `.pi/mcp.json` へ同期・コピー・symlink は行わず、resume 時も harness が解決した同じ map を再注入する。SessionResumeStore にはこの map の canonical SHA-256 digest だけを保存し、resume 時に現在の digest と比較するため、設定変更は新しい session を要求する。digest に秘密値そのものは保存しない。MCP 接続の管理、tool discovery、OAuth、resource tools は Pi 公式 extension に委ね、core は MCP client/transport を実装しない。
376
418
 
377
419
  `env` / `headers` / `cwd` は harness 境界で Cursor 形式の placeholder を解決してから Pi 公式 extension に渡す。`${env:VAR}` は現在の process environment の値、`${workspaceFolder}` / `${workspaceFolderBasename}` は conductor の cwd へ変換し、値が見つからない placeholder は literal のまま渡さず明確なエラーにする。Pi 標準の `$VAR` / `${VAR}` は公式 resolver に委ねる。Pi は `stdio` と Streamable HTTP (`http`) をサポートするが、shared `mcp.json` の `sse` 定義は Pi 1.x ではサポートしないため、Pi conductor の起動時に明確なエラーにする。HTTP の `auth` (`CLIENT_ID` / `CLIENT_SECRET` / `scopes`) は Pi の MCP OAuth 設定へ渡され、認可フローと credential 保存は公式 extension が管理する。`.cursor/mcp.json` や `.pi/mcp.json` へのコピー・symlink、`settings.json` の書き換えは行わず、ACP worker にはこの設定を渡さない。MCP server tool は公式名 `mcp__<server>__<tool>`(長すぎる・衝突する場合は Pi の hash suffix)で公開される。resources がある場合は公式の `list_mcp_resources`、`list_mcp_resource_templates`、`read_mcp_resource` が提供される。`codemode` / `tool_search` の exposure は公式 extension の設定に従う。
378
420
 
@@ -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
 
33
- `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 では sidecar に保存した backend と起動時の解決結果が一致しない場合、次のエラーで conductor を起動せず失敗します。
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
+
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
- Session sidecar conductorBackend mismatch: pi !== cursor
48
+ Session resume state conductorBackend mismatch: pi !== cursor
37
49
  ```
38
50
 
39
- 旧 sidecar にこのフィールドがない場合は、従来どおり `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
 
@@ -63,8 +77,10 @@ config キーなし。CI・スクリプト・端末検出、または 1 回限
63
77
  | 設定 | 環境変数 | config | CLI / API | コード default | 解決 |
64
78
  |------|----------|--------|-----------|----------------|------|
65
79
  | permission 停滞警告閾値 | — | — | `--permission-deadlock-stall-ms` / `RunConductorSessionOptions.permissionDeadlockStallMs` | `300_000ms`(300s) | 明示指定 > core default |
80
+ | dispatch hold reminder 間隔 | — | — | `--dispatch-hold-reminder-ms` / `RunConductorSessionOptions.dispatchHoldReminderMs` | `1_800_000ms`(30 分) | 明示指定 > core default |
66
81
 
67
82
  `permissionDeadlockPollMs` は `5_000ms`(5s)のままで、この実行時設定の対象外です。
83
+ dispatch hold reminder の poll 間隔も `5_000ms`(5s)で、この実行時設定の対象外です。
68
84
 
69
85
  ### パターン E — 認証(config は可否のみ)
70
86
 
@@ -86,7 +102,7 @@ config キーなし。CI・スクリプト・端末検出、または 1 回限
86
102
  | Pi user resource root | `conductor.pi.agentDir` | — | — | `~/.ensemble/pi` | config |
87
103
  | Pi project resource root | `conductor.pi.projectDir` | — | — | `<repoRoot>/.ensemble/pi` | config |
88
104
  | worker ACP preset(profile 未指定 worker) | `acp.defaultPreset` | `ENSEMBLE_DEFAULT_ACP_CLI` | `--default-acp-cli` 等 | `cursor` | C |
89
- | worker ACP spawn env | `acp.env` | — | — | — | config deep merge |
105
+ | worker ACP spawn env | `acp.env` | — | — | — | 選択された user config → project deep merge |
90
106
  | Issue worktree | `session.worktree` | — | `--worktree` | `isolated` | B |
91
107
  | worker ACP lazy attach | `session.lazyWorkers` | — | — | `false` | B |
92
108
  | 自律ターン上限(TTY) | `session.maxTurns.tty` | — | `--max-turns` / `--no-max-turns` | `0`(無制限) | B |
@@ -97,7 +113,7 @@ config キーなし。CI・スクリプト・端末検出、または 1 回限
97
113
  | 監視 debounce | `github.monitor.debounceMs` | — | `--github-monitor-debounce-ms` | `30000` | B |
98
114
  | poll 間隔 | `github.monitor.pollIntervalMs` 他 | — | — | 各定数 | B |
99
115
 
100
- テンプレート: [`config.example.yaml`](../config.example.yaml)。`ensemble issue` 起動時(GitHub monitor より前)に `loadEnsembleConfig(repoRoot)` で読み込む。
116
+ テンプレート: [`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#配置と解決順) を参照。
101
117
 
102
118
  ## 一覧 — TUI / オペレータ UI
103
119
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agents-ensemble/cli",
3
- "version": "0.14.2",
3
+ "version": "0.16.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.14.2",
21
- "@agents-ensemble/operator-agent": "0.2.2"
20
+ "@agents-ensemble/core": "0.16.0",
21
+ "@agents-ensemble/operator-agent": "0.4.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/js-yaml": "4.0.9",