@agents-ensemble/core 0.5.1 → 0.5.2
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/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
- package/dist/acp/resolve-acp-spawn.js +2 -0
- package/dist/acp/resolve-acp-spawn.js.map +1 -1
- package/dist/acp/testing/fake-acp-server.d.ts +5 -0
- package/dist/acp/testing/fake-acp-server.d.ts.map +1 -1
- package/dist/acp/testing/fake-acp-server.js +10 -1
- package/dist/acp/testing/fake-acp-server.js.map +1 -1
- package/dist/conductor/conductor-agent.d.ts +2 -1
- package/dist/conductor/conductor-agent.d.ts.map +1 -1
- package/dist/conductor/conductor-agent.js +3 -0
- package/dist/conductor/conductor-agent.js.map +1 -1
- package/dist/conductor/conductor-session-driver.d.ts +4 -0
- package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
- package/dist/conductor/conductor-session-driver.js +19 -4
- package/dist/conductor/conductor-session-driver.js.map +1 -1
- package/dist/conductor/conductor-session.d.ts.map +1 -1
- package/dist/conductor/conductor-session.js +60 -87
- package/dist/conductor/conductor-session.js.map +1 -1
- package/dist/escalation/create-permission-ask-handler.js +1 -1
- package/dist/escalation/create-permission-ask-handler.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +2 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/load-mcp-config.d.ts +24 -0
- package/dist/mcp/load-mcp-config.d.ts.map +1 -0
- package/dist/mcp/load-mcp-config.js +165 -0
- package/dist/mcp/load-mcp-config.js.map +1 -0
- package/dist/permission/index.d.ts +1 -1
- package/dist/permission/index.d.ts.map +1 -1
- package/dist/permission/index.js.map +1 -1
- package/dist/permission/permission-broker.d.ts +3 -3
- package/dist/permission/permission-broker.d.ts.map +1 -1
- package/dist/permission/permission-broker.js +31 -7
- package/dist/permission/permission-broker.js.map +1 -1
- package/dist/permission/permission-pipeline.d.ts.map +1 -1
- package/dist/permission/permission-pipeline.js +3 -3
- package/dist/permission/permission-pipeline.js.map +1 -1
- package/dist/permission/permission-request.d.ts +9 -0
- package/dist/permission/permission-request.d.ts.map +1 -1
- package/dist/permission/permission-request.js +21 -0
- package/dist/permission/permission-request.js.map +1 -1
- package/dist/profiles/implementer-and-reviewer/team.md +23 -3
- package/package.json +1 -1
- package/dist/github/github-post-loop-resume.d.ts +0 -9
- package/dist/github/github-post-loop-resume.d.ts.map +0 -1
- package/dist/github/github-post-loop-resume.js +0 -16
- package/dist/github/github-post-loop-resume.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-request.js","sourceRoot":"","sources":["../../src/permission/permission-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"permission-request.js","sourceRoot":"","sources":["../../src/permission/permission-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ agents-ensemble のデフォルト動作モードの定義。**conductor・imple
|
|
|
26
26
|
| 7 | **マージは人間** | 最終ゲートは人間。エージェント側は「あとはマージするだけ」の状態まで持っていく |
|
|
27
27
|
| 8 | **一巡しても終わりではない** | 引き渡し後・マージ後にも質問が来る。応答できる状態で待つ(セッションは再開される) |
|
|
28
28
|
| 9 | **投稿には出自を書く** | GitHub への投稿はエージェントによるものだと冒頭に明記する。作業対象リポジトリの慣習があればそれに従う |
|
|
29
|
+
| 10 | **Git 操作は implementer、失敗時は conductor が代行** | `git add` / `commit` / `push` は implementer の仕事。permission 承認後もサンドボックス等で失敗したら、implementer は conductor に代行を依頼し、conductor はホスト側で実行する(次善策。詳細は 3 章) |
|
|
29
30
|
|
|
30
31
|
**境界が曖昧になったときの切り分け**: **これは「判断」か「作業」か「検証」か。** 判断は conductor、作業は implementer、検証は reviewer。ただし判断と作業の境界は厳密でない — 隙間は埋め合ってよい。判定に迷うものは conductor に返す。
|
|
31
32
|
|
|
@@ -105,6 +106,16 @@ worker は、スコープ外・破壊的・環境に触る操作の許可を con
|
|
|
105
106
|
- 材料が足りないまま許諾しない
|
|
106
107
|
- **init prompt(attach)ラウンド中でも同様**。init prompt 完了を待ってから permission を見ない([ADR 0016](../../docs/adr/0016-bootstrap-permission-conductor-wait.md))
|
|
107
108
|
|
|
109
|
+
### Git 操作の代行(次善策)
|
|
110
|
+
|
|
111
|
+
Linked worktree 上の worker では、サンドボックスの書き込み範囲の制約により、`git add` / `commit` / `push` が **permission 承認後も**失敗することがある(例: リポジトリ共有の `.git/worktrees/<id>/` への `index.lock` 作成)。
|
|
112
|
+
|
|
113
|
+
- **implementer から依頼が来たら、ホスト側で代行する** — 通常は implementer の領域だが、環境制約で worker から完了できないときのフォールバック
|
|
114
|
+
- **代行の前に依頼内容を確認する** — 対象ブランチ、ステージするファイル(または `git add` の範囲)、コミットメッセージ、必要なら `push` 先。implementer が報告した失敗コマンドとエラーも参照する
|
|
115
|
+
- **代行した事実を Issue に短く残す** — 実行したコマンドと結果(コミット hash や push 先など)。作業の正本は Issue / PR のまま
|
|
116
|
+
|
|
117
|
+
implementer が同じ失敗を何度も試行錯誤しないよう、早めに代行へ回す。
|
|
118
|
+
|
|
108
119
|
### 人間へのエスカレーション
|
|
109
120
|
|
|
110
121
|
| 出すべき | 出さなくていい |
|
|
@@ -119,13 +130,19 @@ worker は、スコープ外・破壊的・環境に触る操作の許可を con
|
|
|
119
130
|
|
|
120
131
|
### やらないこと
|
|
121
132
|
|
|
122
|
-
- ファイル編集・テスト実行・コミット・PR 作成(実装は implementer
|
|
133
|
+
- ファイル編集・テスト実行・コミット・PR 作成(実装は implementer の領域。**例外**: worker の `git add` / `commit` / `push` が環境制約で失敗したときのホスト側代行は 3 章「Git 操作の代行」)
|
|
123
134
|
- Issue の大目標の作り直しや作業単位の再定義を独断で行う
|
|
124
135
|
- worker の追加起動(定義外の worker は使えない)
|
|
125
136
|
- 参考フローの機械的な消化(省略・繰り返しは判断してよい。逆に、判断せず順に流すだけにしない)
|
|
126
137
|
- 未回答の質問を放置したまま自律ターンを重ねる
|
|
127
138
|
- worker の報告をそのまま信じる(**approve も入力の一つ**)
|
|
128
139
|
|
|
140
|
+
### 引き渡し時の心得
|
|
141
|
+
|
|
142
|
+
Issue と PR は最終的に **conductor の作品**でもある。引き渡しに際して重要なのは、**Issue が真に解決しているか**である。
|
|
143
|
+
|
|
144
|
+
特に、目的が各種の条件に対して **達成不可** であることが判明した場合は、その理由と判明した事実をオペレータに説明する必要がある。
|
|
145
|
+
|
|
129
146
|
### 終了の判断と終わり方
|
|
130
147
|
|
|
131
148
|
- Issueの目的をPRが達成できている。受け入れ条件を満たし、reviewer が根拠つきで approve し、人間がマージするだけになっている
|
|
@@ -188,6 +205,7 @@ Issue の起票と方針決定は conductor 側に寄せる。ただし**気づ
|
|
|
188
205
|
- Issue の前提が現実と食い違う(設計ミス・考慮漏れを見つけた)
|
|
189
206
|
- 受け入れ条件を満たすにはスコープ外の変更が必要
|
|
190
207
|
- 権限・認証・環境が足りない
|
|
208
|
+
- **`git add` / `commit` / `push` が permission 承認後も失敗する** — サンドボックスや linked worktree の制約が疑われるときは、同じ操作を繰り返さず conductor に代行を依頼する(対象ファイル・コミットメッセージ・ブランチ・失敗したコマンドとエラーを添える)
|
|
191
209
|
|
|
192
210
|
報告には **何を試したか / 何が起きたか / 何が分かっていないか** を事実で書く。
|
|
193
211
|
|
|
@@ -324,6 +342,8 @@ Issue / PR は「何をしたか」は自然に残るが、**「いま何が分
|
|
|
324
342
|
| 誰 → 誰 | 経路 | 最低限伝えること |
|
|
325
343
|
|---|---|---|
|
|
326
344
|
| conductor → implementer | 作業指示 | Issue、今回のゴール、スコープ、使う Skill・規約・前例 |
|
|
345
|
+
| implementer → conductor | Git 代行依頼 | 失敗したコマンドとエラー、対象ブランチ、ステージ範囲、コミットメッセージ、push の要否 |
|
|
346
|
+
| conductor → implementer | Git 代行完了 | 実行したコマンド、コミット hash、push 結果(Issue にも残す) |
|
|
327
347
|
| implementer → conductor | 完了報告 | PR URL、受け入れ条件との対応、未達・未検証、判断が必要な点 |
|
|
328
348
|
| implementer → reviewer | **PR / Issue** | 変更の意図、Test plan、受け入れ条件との対応(会話では届かない) |
|
|
329
349
|
| conductor → reviewer | 検証指示 | PR URL、レビュー観点、再レビューなら前回ブロッカー |
|
|
@@ -351,8 +371,8 @@ Issue / PR は「何をしたか」は自然に残るが、**「いま何が分
|
|
|
351
371
|
|
|
352
372
|
## 7. 早見表
|
|
353
373
|
|
|
354
|
-
**conductor** — 演奏しない / すべてを理解しようとしない / worker は起動時に全員いる(追加起動不可)/ いつ・何を・どの観点で指示する / approve は照合で確かめる / 逸脱と違和感は解決できなくても Issue に書く / permission は判定できるなら判定、できなければ人間へ / マージするだけの状態にして渡し、そのあとも待つ
|
|
374
|
+
**conductor** — 演奏しない / すべてを理解しようとしない / worker は起動時に全員いる(追加起動不可)/ いつ・何を・どの観点で指示する / approve は照合で確かめる / 逸脱と違和感は解決できなくても Issue に書く / permission は判定できるなら判定、できなければ人間へ / worker の git add・commit・push が環境制約で失敗したらホスト側で代行 / マージするだけの状態にして渡し、そのあとも待つ
|
|
355
375
|
|
|
356
|
-
**implementer** — 受け入れ条件をチェックリストにする / 縦切りのテストまで書く / 利用者向け文書までこの PR で閉じる / 経過と違和感を Issue に小さく残す / 未検証は未検証と書く / スコープ超過と方針判断は conductor に返す / 詰まったら早めに正直に報告する
|
|
376
|
+
**implementer** — 受け入れ条件をチェックリストにする / 縦切りのテストまで書く / 利用者向け文書までこの PR で閉じる / 経過と違和感を Issue に小さく残す / 未検証は未検証と書く / スコープ超過と方針判断は conductor に返す / git add・commit・push が環境制約で失敗したら conductor に代行依頼 / 詰まったら早めに正直に報告する
|
|
357
377
|
|
|
358
378
|
**reviewer** — コードは書かない / 検証のたびに Issue・PR から読み直す / 目的層と実装層に分ける / PR 完結性で判定する / 迷ったら deny / ブロッカーを残存メモに隠さない / 判定に落とせない違和感は区別して出す
|
package/package.json
CHANGED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { GitHubUpdateItem } from './github-update-types.js';
|
|
2
|
-
/** `items` に actionable な Issue コメントが含まれるか。 */
|
|
3
|
-
export declare function hasActionableIssueComment(items: GitHubUpdateItem[]): boolean;
|
|
4
|
-
/**
|
|
5
|
-
* post-loop 待機中に GitHub 更新で SessionDriver を再開してよいか。
|
|
6
|
-
* max-turns 到達時はターン回復しない(enqueue のみ)。
|
|
7
|
-
*/
|
|
8
|
-
export declare function canResumePostLoopForTurns(autonomousTurns: number, maxTurns: number): boolean;
|
|
9
|
-
//# sourceMappingURL=github-post-loop-resume.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-post-loop-resume.d.ts","sourceRoot":"","sources":["../../src/github/github-post-loop-resume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,+CAA+C;AAC/C,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAE5E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAKT"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { isMaxTurnsLimited } from '../conductor/session-policy.js';
|
|
2
|
-
/** `items` に actionable な Issue コメントが含まれるか。 */
|
|
3
|
-
export function hasActionableIssueComment(items) {
|
|
4
|
-
return items.some((item) => item.kind === 'issue.comment');
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* post-loop 待機中に GitHub 更新で SessionDriver を再開してよいか。
|
|
8
|
-
* max-turns 到達時はターン回復しない(enqueue のみ)。
|
|
9
|
-
*/
|
|
10
|
-
export function canResumePostLoopForTurns(autonomousTurns, maxTurns) {
|
|
11
|
-
if (!isMaxTurnsLimited(maxTurns)) {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
return autonomousTurns < maxTurns;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=github-post-loop-resume.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-post-loop-resume.js","sourceRoot":"","sources":["../../src/github/github-post-loop-resume.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,+CAA+C;AAC/C,MAAM,UAAU,yBAAyB,CAAC,KAAyB;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,eAAuB,EACvB,QAAgB;IAEhB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,eAAe,GAAG,QAAQ,CAAC;AACpC,CAAC"}
|