@dmsdc-ai/aigentry-deliberation 0.0.38 → 0.0.39

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
@@ -33,7 +33,7 @@ MCP Deliberation Server — Multi-session AI deliberation with smart speaker ord
33
33
  원클릭 설치 — 어떤 프로젝트 환경에서든 동작합니다:
34
34
 
35
35
  ```bash
36
- npx @dmsdc-ai/aigentry-deliberation install
36
+ npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install
37
37
  ```
38
38
 
39
39
  이 명령은:
@@ -62,7 +62,7 @@ cd aigentry-deliberation && npm install && node install.js
62
62
  ### 제거
63
63
 
64
64
  ```bash
65
- npx @dmsdc-ai/aigentry-deliberation uninstall
65
+ npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install --uninstall
66
66
  ```
67
67
 
68
68
  MCP 서버 등록 해제 + 설치 파일 삭제 + 스킬 파일 정리까지 자동 처리됩니다.
@@ -87,7 +87,7 @@ open demo/forum/index.html
87
87
  MCP 연결 문제 자동 진단:
88
88
 
89
89
  ```bash
90
- npx @dmsdc-ai/aigentry-deliberation doctor
90
+ npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-doctor
91
91
  ```
92
92
 
93
93
  Claude Code, Codex CLI, Gemini CLI의 MCP 설정을 자동 점검하고 문제를 진단합니다.
@@ -101,6 +101,7 @@ Claude Code, Codex CLI, Gemini CLI의 MCP 설정을 자동 점검하고 문제
101
101
  | `deliberation_synthesize` | Generate synthesis report |
102
102
  | `deliberation_status` | Check session status |
103
103
  | `deliberation_context` | Load project context |
104
+ | `deliberation_inject_context` | Inject structured context or external experiment history into an active session |
104
105
  | `deliberation_history` | View discussion history |
105
106
  | `deliberation_list_active` | List active sessions |
106
107
  | `deliberation_list` | List archived sessions |
@@ -110,8 +111,10 @@ Claude Code, Codex CLI, Gemini CLI의 MCP 설정을 자동 점검하고 문제
110
111
  | `deliberation_browser_llm_tabs` | List browser LLM tabs |
111
112
  | `deliberation_browser_auto_turn` | Auto-send turn to browser LLM |
112
113
  | `deliberation_route_turn` | Route turn to appropriate transport |
114
+ | `deliberation_run_until_blocked` | Auto-run mixed transports until completion or a manual block |
113
115
  | `deliberation_request_review` | Request code review |
114
116
  | `deliberation_cli_auto_turn` | Auto-send turn to CLI speaker |
117
+ | `deliberation_ingest_remote_reply` | Canonical semantic ingress for remote replies with explicit source metadata |
115
118
  | `deliberation_cli_config` | Configure CLI settings |
116
119
 
117
120
  ## Start Flow
@@ -132,10 +135,95 @@ Raw candidate tokens cannot start a deliberation.
132
135
  Telepty-managed sessions are now routed through the telepty bus instead of raw PTY inject guidance.
133
136
 
134
137
  - `deliberation_route_turn` publishes a typed `turn_request` envelope on `ws://localhost:3848/api/bus`
138
+ - `deliberation_run_until_blocked` can continue across `cli_respond`, `browser_auto`, and `telepty_bus` speakers until a manual block is reached
135
139
  - transport delivery is tracked with a 5-second `inject_written` ack window
136
140
  - semantic completion is tracked with a 60-second self-submit window
137
141
  - `session_health` bus events are cached for operator visibility
138
142
  - `deliberation_synthesize` validates and emits typed `deliberation_completed` envelopes for downstream automation
143
+ - telepty envelopes now carry top-level `version: 1` and optional `source_host`
144
+
145
+ ### Cross-Machine Event Catalog
146
+
147
+ Canonical boundary split with telepty:
148
+
149
+ - **Guaranteed (daemon-emitted):** `inject_written`, `session_health`, `session_register`, `session.replaced`, `session.idle`, `thread.opened`, `thread.closed`, `handoff.*`, `message_routed`
150
+ - **Best-effort (bus relay only):** `turn_request`, `turn_completed`, `deliberation_completed`
151
+ - `kind` is the canonical event discriminator
152
+ - `target` identifies the telepty session target
153
+ - `payload.prompt` is the canonical prompt field for `turn_request`
154
+ - `source_host` is optional transport metadata for cross-machine tracing
155
+
156
+ ### Remote Reply Ingress
157
+
158
+ If a remote participant cannot call local MCP tools directly, do **not** proxy-synthesize a reply. Use the deliberation-owned semantic ingress:
159
+
160
+ ```text
161
+ deliberation_ingest_remote_reply(
162
+ session_id: "...",
163
+ speaker: "...",
164
+ turn_id: "...",
165
+ content: "...",
166
+ source_machine_id: "peer-01",
167
+ source_session_id: "remote-gemini-001",
168
+ transport_scope: "remote_mcp",
169
+ artifact_refs: ["results.jsonl"]
170
+ )
171
+ ```
172
+
173
+ This preserves explicit provenance instead of inferring semantics from raw bus events.
174
+
175
+ ### Gemini Recovery
176
+
177
+ Canonical repair path today is still installer-based:
178
+
179
+ ```bash
180
+ npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-doctor
181
+ npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install
182
+ ```
183
+
184
+ Use doctor first; if Gemini MCP registration/path/runtime drift is detected, rerun install and restart Gemini CLI.
185
+
186
+ ## Experiment Retrospectives
187
+
188
+ For autoresearch-style keep/discard reviews, inject a compact experiment bundle after the session starts instead of bloating `topic`.
189
+
190
+ Recommended rules:
191
+ - keep the injected JSON around `1.5KB` to `2KB`
192
+ - include only the last `3-5` relevant experiments
193
+ - keep `key_changes` to at most `3` scalar before/after pairs
194
+ - reference bulky artifacts (`results.tsv`, full `program.md`, JSONL logs) by path only
195
+
196
+ Example:
197
+
198
+ ```text
199
+ deliberation_start(...)
200
+ deliberation_inject_context(
201
+ session_id: "experiment-review-123",
202
+ speaker: "dustcraw",
203
+ context: "{\"past_experiments\":[{\"experiment_id\":\"dg-20260310-001\",\"signal_kind\":\"INTEREST_DRIFT\",\"patch_summary\":\"Raised relevanceThreshold from 0.30 to 0.35\",\"patch_kind\":\"config\",\"key_changes\":{\"relevanceThreshold\":{\"before\":0.3,\"after\":0.35}},\"score\":0.08,\"score_label\":\"promotion_rate_delta\",\"metric_name\":\"promotion_rate_delta\",\"metric_delta\":0.08,\"verdict\":\"positive\",\"followup_action\":\"kept\",\"reasoning\":\"Threshold raise reduced noise; promotion quality improved 8%\"}],\"experiment_count\":1,\"success_rate\":1.0}"
204
+ )
205
+ ```
206
+
207
+ If your synthesis needs an explicit experiment verdict, `structured` can now include `experiment_outcome`:
208
+
209
+ ```json
210
+ {
211
+ "summary": "Lower the blast radius and re-run with stricter constraints.",
212
+ "decisions": [
213
+ "Keep the experiment loop bounded to one editable file",
214
+ "Retry after restoring the failing test baseline"
215
+ ],
216
+ "actionable_tasks": [
217
+ { "id": 1, "task": "Tighten editable globs", "project": "aigentry-devkit", "priority": "high" }
218
+ ],
219
+ "experiment_outcome": {
220
+ "verdict": "modify",
221
+ "suggested_action": "iterate",
222
+ "confidence": 0.78,
223
+ "measurement_window_hours": 24
224
+ }
225
+ }
226
+ ```
139
227
 
140
228
  ## Speaker Ordering Strategies
141
229
 
@@ -196,7 +284,7 @@ Inserts multi-AI verification gates at key [superpowers](https://github.com/obra
196
284
 
197
285
  **Fallback:** MCP 미설치 시 self-criticism 기반 자가 검증으로 대체 (Silver 등급). MCP 설치 시 멀티-AI 토론 (Gold 등급).
198
286
 
199
- **Install:** `npx @dmsdc-ai/aigentry-deliberation install` 실행 시 자동 설치됩니다.
287
+ **Install:** `npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install` 실행 시 자동 설치됩니다.
200
288
 
201
289
  수동 설치:
202
290
  ```bash
package/doctor.js CHANGED
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * Usage:
17
17
  * node doctor.js
18
- * npx @dmsdc-ai/aigentry-deliberation doctor
18
+ * npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-doctor
19
19
  */
20
20
 
21
21
  import fs from "node:fs";
@@ -209,7 +209,7 @@ function suggestFix(serverName, server, issue) {
209
209
  switch (issue) {
210
210
  case "path_missing":
211
211
  if (serverName === "deliberation" || serverName === "mcp-deliberation") {
212
- return `npx @dmsdc-ai/aigentry-deliberation install`;
212
+ return `npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install`;
213
213
  }
214
214
  if (serverName.includes("brain") || serverName.includes("aigentry-brain")) {
215
215
  return `npx @dmsdc-ai/aigentry-brain install`;
@@ -223,7 +223,7 @@ function suggestFix(serverName, server, issue) {
223
223
  case "temp_path": {
224
224
  const tempArg = (server.args || []).find((a) => isTempPath(a));
225
225
  if (serverName === "deliberation" || serverName === "mcp-deliberation") {
226
- return `npx @dmsdc-ai/aigentry-deliberation install # reinstall to permanent path`;
226
+ return `npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install # reinstall to permanent path`;
227
227
  }
228
228
  if (serverName.includes("brain") || serverName.includes("aigentry-brain")) {
229
229
  return `npx @dmsdc-ai/aigentry-brain install # reinstall to permanent path`;
@@ -357,7 +357,7 @@ function runDiagnostics() {
357
357
  if (mod.includes("aigentry-brain") || mod.includes("brain")) {
358
358
  fix = `npx @dmsdc-ai/aigentry-brain install # temporary path → reinstall to permanent path`;
359
359
  } else if (mod.includes("deliberation") || mod.includes("mcp-deliberation")) {
360
- fix = `npx @dmsdc-ai/aigentry-deliberation install # temporary path reinstall to permanent path`;
360
+ fix = `npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install # temporary path -> reinstall to permanent path`;
361
361
  } else {
362
362
  fix = `# temporary path (${mod}) — change to permanent path in MCP config`;
363
363
  }
@@ -387,7 +387,7 @@ function runDiagnostics() {
387
387
  } else {
388
388
  totalIssues++;
389
389
  console.log(` ❌ Server file not found: ${selfPath}`);
390
- console.log(` fix: npx @dmsdc-ai/aigentry-deliberation install`);
390
+ console.log(` fix: npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install`);
391
391
  }
392
392
 
393
393
  // Check node_modules
@@ -407,7 +407,7 @@ function runDiagnostics() {
407
407
  } catch {
408
408
  totalIssues++;
409
409
  console.log(` ❌ Syntax error detected`);
410
- console.log(` fix: npx @dmsdc-ai/aigentry-deliberation install`);
410
+ console.log(` fix: npx --yes --package @dmsdc-ai/aigentry-deliberation deliberation-install`);
411
411
  }
412
412
 
413
413
  // ── Summary ──