pi-orchestrator-config 4.2.0 → 4.3.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/README.md +76 -67
- package/agents/code-reviewer-docs.md +11 -1
- package/agents/code-reviewer-guidelines.md +11 -1
- package/agents/code-reviewer-quality.md +11 -1
- package/agents/code-reviewer-security.md +11 -1
- package/agents/code-reviewer-spec.md +11 -1
- package/agents/git-expert.md +42 -3
- package/agents/github-expert.md +11 -0
- package/extensions/acpx-provider/runtime-models.ts +18 -6
- package/extensions/cli-provider/agents/claude.ts +3 -2
- package/extensions/cli-provider/agents/cursor.ts +3 -5
- package/extensions/cli-provider/agents/gemini.ts +3 -2
- package/extensions/cli-provider/discover.ts +7 -7
- package/extensions/cli-provider/index.ts +5 -0
- package/extensions/cli-provider/runtime-models.ts +18 -6
- package/extensions/cli-provider/session-reaper.ts +5 -7
- package/extensions/cli-provider/sessions.ts +4 -0
- package/extensions/cli-provider/shared/discover-cache.ts +17 -176
- package/extensions/coms/coms-p2p.ts +1719 -423
- package/extensions/coms/coms-shared.ts +261 -39
- package/extensions/coms/coms-wrapper.ts +100 -62
- package/extensions/coms/index.ts +8 -4
- package/extensions/coms/mixed-turn.ts +26 -0
- package/extensions/coms/probe-socket.ts +42 -0
- package/extensions/coms/themeMap.ts +0 -1
- package/extensions/image-gen/image-gen.ts +19 -1
- package/extensions/orchestrator/async-agents.ts +563 -102
- package/extensions/orchestrator/async-capability.ts +8 -8
- package/extensions/orchestrator/cron.ts +15 -9
- package/extensions/orchestrator/dreaming.ts +32 -25
- package/extensions/orchestrator/enforcement-helpers.ts +459 -17
- package/extensions/orchestrator/enforcement-rules.ts +5 -4
- package/extensions/orchestrator/enforcement.ts +80 -27
- package/extensions/orchestrator/extended-autocomplete.ts +7 -0
- package/extensions/orchestrator/git-helpers.ts +2 -2
- package/extensions/orchestrator/index.ts +78 -10
- package/extensions/orchestrator/markdown-transformer.ts +313 -0
- package/extensions/orchestrator/memory-embeddings.ts +36 -34
- package/extensions/orchestrator/memory-provenance.ts +29 -25
- package/extensions/orchestrator/memory-scoring.ts +23 -18
- package/extensions/orchestrator/memory-tools.ts +10 -3
- package/extensions/orchestrator/overlay-dashboard.ts +17 -5
- package/extensions/orchestrator/parse-model-override.ts +29 -0
- package/extensions/orchestrator/pi-config-review-state.ts +57 -33
- package/extensions/orchestrator/project-settings.ts +333 -127
- package/extensions/orchestrator/resolve-agent-model.ts +24 -13
- package/extensions/orchestrator/review-porcelain.ts +4 -0
- package/extensions/orchestrator/review-ui.ts +63 -15
- package/extensions/orchestrator/rule-placeholders.ts +411 -2
- package/extensions/orchestrator/rules.ts +80 -132
- package/extensions/orchestrator/settings-tui-helpers.ts +380 -0
- package/extensions/orchestrator/settings-tui-submenus.ts +647 -0
- package/extensions/orchestrator/settings-tui.ts +636 -0
- package/extensions/orchestrator/state-jsonl.ts +431 -0
- package/extensions/orchestrator/subagent-tool.ts +157 -59
- package/extensions/orchestrator/sync-limit.ts +23 -0
- package/extensions/orchestrator/task-lifecycle.ts +77 -67
- package/extensions/orchestrator/utils.ts +8 -5
- package/extensions/pidash/pidash.ts +193 -156
- package/extensions/pidiff/pidiff.ts +96 -38
- package/extensions/pidiff/spawn-lock.ts +62 -0
- package/extensions/pitasks/index.ts +430 -0
- package/extensions/pitasks/reminders.ts +37 -0
- package/extensions/pitasks/task-store.ts +467 -0
- package/extensions/pitasks/task-tools.ts +375 -0
- package/extensions/pitasks/task-widget.ts +181 -0
- package/extensions/pitasks/types.ts +38 -0
- package/extensions/providers/acpx-driver.ts +12 -2
- package/extensions/providers/built-in-drivers.ts +6 -6
- package/extensions/providers/claude-driver.ts +1 -1
- package/extensions/providers/cursor-cli-driver.ts +1 -1
- package/extensions/providers/gemini-driver.ts +1 -1
- package/extensions/providers/index.ts +144 -26
- package/extensions/providers/initialized-guard.ts +27 -0
- package/extensions/providers/restore-default-model.ts +596 -0
- package/extensions/providers/session-shutdown.ts +39 -0
- package/extensions/shared/coms-active.ts +23 -0
- package/extensions/shared/create-runtime-provider.ts +2 -0
- package/extensions/shared/daemon-manager.ts +0 -8
- package/extensions/shared/file-logger.ts +132 -25
- package/extensions/shared/logger.ts +50 -0
- package/extensions/shared/models-dev.ts +421 -0
- package/extensions/shared/oneshot.ts +116 -0
- package/extensions/shared/resolve-binary.ts +191 -0
- package/extensions/shared/types.ts +3 -0
- package/package.json +9 -3
- package/prompts/coderabbit-rate-limit.md +2 -0
- package/rules/00-orchestrator-core.md +3 -0
- package/rules/10-agent-routing.md +12 -1
- package/rules/20-code-review-loop.md +52 -25
- package/rules/30-prompt-templates.md +4 -0
- package/rules/35-memory.md +3 -3
- package/rules/40-critical-rules.md +3 -0
- package/rules/55-coms-protocol.md +84 -18
- package/rules/60-task-tracking.md +2 -0
- package/settings-keys.json +563 -0
- package/templates/coms-feature-manager-prompt.md +4 -6
- package/extensions/coms/coms-net-server.ts +0 -1642
- package/extensions/coms/coms-net-wrapper.ts +0 -521
- package/extensions/coms/coms-net.ts +0 -1589
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
{
|
|
2
|
+
"dco": {
|
|
3
|
+
"description": "Auto-inject --signoff flag for DCO compliance on git commit",
|
|
4
|
+
"type": "bool",
|
|
5
|
+
"env": "PI_DCO",
|
|
6
|
+
"default": false,
|
|
7
|
+
"group": "Git"
|
|
8
|
+
},
|
|
9
|
+
"commit_trailer": {
|
|
10
|
+
"description": "Commit trailer type (e.g. Assisted-by, Co-authored-by) \u2014 comma-separated for random selection",
|
|
11
|
+
"type": "bool_or_string",
|
|
12
|
+
"env": "PI_COMMIT_TRAILER",
|
|
13
|
+
"default": false,
|
|
14
|
+
"group": "Git"
|
|
15
|
+
},
|
|
16
|
+
"use_worktrees": {
|
|
17
|
+
"description": "Block git checkout/switch \u2014 force git worktree for branch operations",
|
|
18
|
+
"type": "bool",
|
|
19
|
+
"env": "PI_USE_WORKTREES",
|
|
20
|
+
"default": false,
|
|
21
|
+
"group": "Git"
|
|
22
|
+
},
|
|
23
|
+
"allow_push_to_protected_branches": {
|
|
24
|
+
"description": "Allow commits and pushes to protected branches (main, master, etc.)",
|
|
25
|
+
"type": "bool",
|
|
26
|
+
"env": "PI_ALLOW_PUSH_TO_PROTECTED_BRANCHES",
|
|
27
|
+
"default": false,
|
|
28
|
+
"group": "Git"
|
|
29
|
+
},
|
|
30
|
+
"comment_signature": {
|
|
31
|
+
"description": "Add Assisted-by: PI (model) signature to GitHub PR/issue bodies and comments",
|
|
32
|
+
"type": "bool",
|
|
33
|
+
"default": false,
|
|
34
|
+
"group": "Git"
|
|
35
|
+
},
|
|
36
|
+
"review_loop_enforcement": {
|
|
37
|
+
"description": "Enforce code review loop before commits",
|
|
38
|
+
"type": "bool",
|
|
39
|
+
"env": "PI_REVIEW_LOOP_ENFORCEMENT",
|
|
40
|
+
"default": false,
|
|
41
|
+
"group": "Review"
|
|
42
|
+
},
|
|
43
|
+
"review_loop_max_cycles": {
|
|
44
|
+
"description": "Maximum review cycles before stopping",
|
|
45
|
+
"type": "int",
|
|
46
|
+
"env": "PI_REVIEW_LOOP_MAX_CYCLES",
|
|
47
|
+
"default": 3,
|
|
48
|
+
"min": 1,
|
|
49
|
+
"max": 10,
|
|
50
|
+
"strict_digits": true,
|
|
51
|
+
"group": "Review"
|
|
52
|
+
},
|
|
53
|
+
"dream_interval_hours": {
|
|
54
|
+
"description": "Hours between automatic memory dreaming",
|
|
55
|
+
"type": "number",
|
|
56
|
+
"env": "PI_DREAM_INTERVAL_HOURS",
|
|
57
|
+
"default": 3,
|
|
58
|
+
"group": "Memory"
|
|
59
|
+
},
|
|
60
|
+
"orchestrator_edit_write_block": {
|
|
61
|
+
"description": "Block orchestrator edit/write \u2014 force delegation to specialist subagents",
|
|
62
|
+
"type": "bool",
|
|
63
|
+
"default": false,
|
|
64
|
+
"group": "Enforcement"
|
|
65
|
+
},
|
|
66
|
+
"pidash_enable": {
|
|
67
|
+
"description": "Enable pidash browser dashboard",
|
|
68
|
+
"type": "bool_enable",
|
|
69
|
+
"env": "PI_PIDASH_ENABLE",
|
|
70
|
+
"default": true,
|
|
71
|
+
"group": "Dashboard"
|
|
72
|
+
},
|
|
73
|
+
"pidiff_enable": {
|
|
74
|
+
"description": "Enable pidiff visual diff server",
|
|
75
|
+
"type": "bool_enable",
|
|
76
|
+
"env": "PI_PIDIFF_ENABLE",
|
|
77
|
+
"default": true,
|
|
78
|
+
"group": "Dashboard"
|
|
79
|
+
},
|
|
80
|
+
"pidiff_stale_lock_timeout_ms": {
|
|
81
|
+
"description": "Timeout for stale pidiff spawning lockfile (ms)",
|
|
82
|
+
"type": "int",
|
|
83
|
+
"env": "PI_PIDIFF_STALE_LOCK_TIMEOUT_MS",
|
|
84
|
+
"default": 60000,
|
|
85
|
+
"min": 10000,
|
|
86
|
+
"max": 300000,
|
|
87
|
+
"group": "Pidiff"
|
|
88
|
+
},
|
|
89
|
+
"pidiff_daemon_startup_timeout_s": {
|
|
90
|
+
"description": "Timeout waiting for pidiff daemon startup (s)",
|
|
91
|
+
"type": "int",
|
|
92
|
+
"env": "PI_PIDIFF_DAEMON_STARTUP_TIMEOUT_S",
|
|
93
|
+
"default": 60,
|
|
94
|
+
"min": 10,
|
|
95
|
+
"max": 300,
|
|
96
|
+
"group": "Pidiff"
|
|
97
|
+
},
|
|
98
|
+
"pidash_port": {
|
|
99
|
+
"description": "Port for pidash server",
|
|
100
|
+
"type": "port",
|
|
101
|
+
"env": "PI_PIDASH_PORT",
|
|
102
|
+
"default": 19190,
|
|
103
|
+
"min": 1,
|
|
104
|
+
"group": "Dashboard"
|
|
105
|
+
},
|
|
106
|
+
"image_model": {
|
|
107
|
+
"description": "Gemini/Google image model for generate_image (Settings TUI picker: google + image-capable; empty = disabled)",
|
|
108
|
+
"type": "string",
|
|
109
|
+
"env": "PI_IMAGE_MODEL",
|
|
110
|
+
"default": "",
|
|
111
|
+
"group": "Provider"
|
|
112
|
+
},
|
|
113
|
+
"internal_operations_provider": {
|
|
114
|
+
"description": "Provider for internal ops like dreaming (empty = use session model)",
|
|
115
|
+
"type": "string",
|
|
116
|
+
"env": "PI_INTERNAL_OPERATIONS_PROVIDER",
|
|
117
|
+
"default": "",
|
|
118
|
+
"group": "Provider"
|
|
119
|
+
},
|
|
120
|
+
"internal_operations_model": {
|
|
121
|
+
"description": "Model for internal ops like dreaming (empty = use session model)",
|
|
122
|
+
"type": "string",
|
|
123
|
+
"env": "PI_INTERNAL_OPERATIONS_MODEL",
|
|
124
|
+
"default": "",
|
|
125
|
+
"group": "Provider"
|
|
126
|
+
},
|
|
127
|
+
"acpx_agents": {
|
|
128
|
+
"description": "ACPX agent configurations for external AI agents",
|
|
129
|
+
"type": "agent_list",
|
|
130
|
+
"env": "ACPX_AGENTS",
|
|
131
|
+
"default": [],
|
|
132
|
+
"per_key_resolution": true,
|
|
133
|
+
"group": "Provider"
|
|
134
|
+
},
|
|
135
|
+
"cli_agents": {
|
|
136
|
+
"description": "CLI agent configurations for native AI agents",
|
|
137
|
+
"type": "agent_list",
|
|
138
|
+
"env": "CLI_AGENTS",
|
|
139
|
+
"default": [],
|
|
140
|
+
"per_key_resolution": true,
|
|
141
|
+
"group": "Provider"
|
|
142
|
+
},
|
|
143
|
+
"agent_provider": {
|
|
144
|
+
"description": "Default provider for subagents (empty = inherit from parent)",
|
|
145
|
+
"type": "string",
|
|
146
|
+
"default": "",
|
|
147
|
+
"group": "Provider"
|
|
148
|
+
},
|
|
149
|
+
"agent_model": {
|
|
150
|
+
"description": "Default model for subagents (empty = inherit from parent)",
|
|
151
|
+
"type": "string",
|
|
152
|
+
"default": "",
|
|
153
|
+
"group": "Provider"
|
|
154
|
+
},
|
|
155
|
+
"agent_overrides": {
|
|
156
|
+
"description": "Per-agent model/provider overrides",
|
|
157
|
+
"type": "agent_overrides",
|
|
158
|
+
"default": {},
|
|
159
|
+
"group": "Provider"
|
|
160
|
+
},
|
|
161
|
+
"sync_agent_max_seconds": {
|
|
162
|
+
"description": "Max seconds for sync subagent execution before requiring async",
|
|
163
|
+
"type": "int",
|
|
164
|
+
"env": "PI_SYNC_AGENT_MAX_SECONDS",
|
|
165
|
+
"default": 60,
|
|
166
|
+
"min": 10,
|
|
167
|
+
"max": 300,
|
|
168
|
+
"group": "Subagent"
|
|
169
|
+
},
|
|
170
|
+
"async_poll_interval_ms": {
|
|
171
|
+
"description": "Polling interval for async agent status checks (ms)",
|
|
172
|
+
"type": "int",
|
|
173
|
+
"env": "PI_ASYNC_POLL_INTERVAL_MS",
|
|
174
|
+
"default": 3000,
|
|
175
|
+
"min": 500,
|
|
176
|
+
"max": 30000,
|
|
177
|
+
"group": "Subagent"
|
|
178
|
+
},
|
|
179
|
+
"async_phantom_timeout_ms": {
|
|
180
|
+
"description": "Timeout before marking async agent as phantom/dead (ms)",
|
|
181
|
+
"type": "int",
|
|
182
|
+
"env": "PI_ASYNC_PHANTOM_TIMEOUT_MS",
|
|
183
|
+
"default": 30000,
|
|
184
|
+
"min": 5000,
|
|
185
|
+
"max": 120000,
|
|
186
|
+
"group": "Subagent"
|
|
187
|
+
},
|
|
188
|
+
"vertex_claude_1m": {
|
|
189
|
+
"description": "Register Vertex AI Claude models with 1M token context window",
|
|
190
|
+
"type": "bool",
|
|
191
|
+
"env": "VERTEX_CLAUDE_1M",
|
|
192
|
+
"default": false,
|
|
193
|
+
"group": "Provider"
|
|
194
|
+
},
|
|
195
|
+
"sidecar_log_level": {
|
|
196
|
+
"description": "Log level for pi-sidecar server",
|
|
197
|
+
"type": "string",
|
|
198
|
+
"env": "PI_SIDECAR_LOG_LEVEL",
|
|
199
|
+
"default": "info",
|
|
200
|
+
"group": "Logging"
|
|
201
|
+
},
|
|
202
|
+
"enforcement_allowed_commands": {
|
|
203
|
+
"description": "Comma-separated bash commands exempt from orchestrator enforcement blocking",
|
|
204
|
+
"type": "string",
|
|
205
|
+
"env": "PI_ENFORCEMENT_ALLOWED_COMMANDS",
|
|
206
|
+
"default": "",
|
|
207
|
+
"group": "Enforcement"
|
|
208
|
+
},
|
|
209
|
+
"enforcement_loop_sleep_threshold_s": {
|
|
210
|
+
"description": "Max sleep duration in loops before blocking (s)",
|
|
211
|
+
"type": "int",
|
|
212
|
+
"env": "PI_ENFORCEMENT_LOOP_SLEEP_THRESHOLD_S",
|
|
213
|
+
"default": 60,
|
|
214
|
+
"min": 1,
|
|
215
|
+
"max": 300,
|
|
216
|
+
"group": "Enforcement"
|
|
217
|
+
},
|
|
218
|
+
"enforcement_sleep_threshold_s": {
|
|
219
|
+
"description": "Max standalone sleep duration before blocking (s)",
|
|
220
|
+
"type": "int",
|
|
221
|
+
"env": "PI_ENFORCEMENT_SLEEP_THRESHOLD_S",
|
|
222
|
+
"default": 60,
|
|
223
|
+
"min": 1,
|
|
224
|
+
"max": 300,
|
|
225
|
+
"group": "Enforcement"
|
|
226
|
+
},
|
|
227
|
+
"coms_max_hops": {
|
|
228
|
+
"description": "Maximum message relay hops between peers",
|
|
229
|
+
"type": "int",
|
|
230
|
+
"env": "PI_COMS_MAX_HOPS",
|
|
231
|
+
"default": 5,
|
|
232
|
+
"min": 1,
|
|
233
|
+
"max": 50,
|
|
234
|
+
"group": "Coms"
|
|
235
|
+
},
|
|
236
|
+
"coms_timeout_ms": {
|
|
237
|
+
"description": "Coms session inactivity timeout before cleanup (ms)",
|
|
238
|
+
"type": "int",
|
|
239
|
+
"env": "PI_COMS_TIMEOUT_MS",
|
|
240
|
+
"default": 1800000,
|
|
241
|
+
"min": 1000,
|
|
242
|
+
"group": "Coms"
|
|
243
|
+
},
|
|
244
|
+
"coms_dir": {
|
|
245
|
+
"description": "Override default coms registry directory (empty = auto)",
|
|
246
|
+
"type": "string",
|
|
247
|
+
"env": "PI_COMS_DIR",
|
|
248
|
+
"default": "",
|
|
249
|
+
"group": "Coms"
|
|
250
|
+
},
|
|
251
|
+
"coms_task_heartbeat_ms": {
|
|
252
|
+
"description": "Interval for coms task heartbeat checks (ms)",
|
|
253
|
+
"type": "int",
|
|
254
|
+
"env": "PI_COMS_TASK_HEARTBEAT_MS",
|
|
255
|
+
"default": 300000,
|
|
256
|
+
"min": 10000,
|
|
257
|
+
"group": "Coms"
|
|
258
|
+
},
|
|
259
|
+
"coms_entry_grace_period_ms": {
|
|
260
|
+
"description": "Grace period for new registry entries before stale check (ms)",
|
|
261
|
+
"type": "int",
|
|
262
|
+
"env": "PI_COMS_ENTRY_GRACE_PERIOD_MS",
|
|
263
|
+
"default": 30000,
|
|
264
|
+
"min": 5000,
|
|
265
|
+
"max": 120000,
|
|
266
|
+
"group": "Coms"
|
|
267
|
+
},
|
|
268
|
+
"coms_probe_timeout_ms": {
|
|
269
|
+
"description": "Timeout for probing stale peer sockets (ms)",
|
|
270
|
+
"type": "int",
|
|
271
|
+
"env": "PI_COMS_PROBE_TIMEOUT_MS",
|
|
272
|
+
"default": 1000,
|
|
273
|
+
"min": 100,
|
|
274
|
+
"max": 10000,
|
|
275
|
+
"group": "Coms"
|
|
276
|
+
},
|
|
277
|
+
"log_pitasks": {
|
|
278
|
+
"description": "Log level for pitasks module",
|
|
279
|
+
"type": "string",
|
|
280
|
+
"env": "PI_LOG_PITASKS",
|
|
281
|
+
"default": "info",
|
|
282
|
+
"enum": [
|
|
283
|
+
"off",
|
|
284
|
+
"debug",
|
|
285
|
+
"info",
|
|
286
|
+
"warn",
|
|
287
|
+
"error"
|
|
288
|
+
],
|
|
289
|
+
"group": "Logging"
|
|
290
|
+
},
|
|
291
|
+
"log_pidash": {
|
|
292
|
+
"description": "Log level for pidash module",
|
|
293
|
+
"type": "string",
|
|
294
|
+
"env": "PI_LOG_PIDASH",
|
|
295
|
+
"default": "info",
|
|
296
|
+
"enum": [
|
|
297
|
+
"off",
|
|
298
|
+
"debug",
|
|
299
|
+
"info",
|
|
300
|
+
"warn",
|
|
301
|
+
"error"
|
|
302
|
+
],
|
|
303
|
+
"group": "Logging"
|
|
304
|
+
},
|
|
305
|
+
"log_pidiff": {
|
|
306
|
+
"description": "Log level for pidiff module",
|
|
307
|
+
"type": "string",
|
|
308
|
+
"env": "PI_LOG_PIDIFF",
|
|
309
|
+
"default": "info",
|
|
310
|
+
"enum": [
|
|
311
|
+
"off",
|
|
312
|
+
"debug",
|
|
313
|
+
"info",
|
|
314
|
+
"warn",
|
|
315
|
+
"error"
|
|
316
|
+
],
|
|
317
|
+
"group": "Logging"
|
|
318
|
+
},
|
|
319
|
+
"log_coms": {
|
|
320
|
+
"description": "Log level for coms module",
|
|
321
|
+
"type": "string",
|
|
322
|
+
"env": "PI_LOG_COMS",
|
|
323
|
+
"default": "info",
|
|
324
|
+
"enum": [
|
|
325
|
+
"off",
|
|
326
|
+
"debug",
|
|
327
|
+
"info",
|
|
328
|
+
"warn",
|
|
329
|
+
"error"
|
|
330
|
+
],
|
|
331
|
+
"group": "Logging"
|
|
332
|
+
},
|
|
333
|
+
"log_cli_provider": {
|
|
334
|
+
"description": "Log level for cli-provider module",
|
|
335
|
+
"type": "string",
|
|
336
|
+
"env": "PI_LOG_CLI_PROVIDER",
|
|
337
|
+
"default": "info",
|
|
338
|
+
"enum": [
|
|
339
|
+
"off",
|
|
340
|
+
"debug",
|
|
341
|
+
"info",
|
|
342
|
+
"warn",
|
|
343
|
+
"error"
|
|
344
|
+
],
|
|
345
|
+
"group": "Logging"
|
|
346
|
+
},
|
|
347
|
+
"log_providers": {
|
|
348
|
+
"description": "Log level for providers module",
|
|
349
|
+
"type": "string",
|
|
350
|
+
"env": "PI_LOG_PROVIDERS",
|
|
351
|
+
"default": "info",
|
|
352
|
+
"enum": [
|
|
353
|
+
"off",
|
|
354
|
+
"debug",
|
|
355
|
+
"info",
|
|
356
|
+
"warn",
|
|
357
|
+
"error"
|
|
358
|
+
],
|
|
359
|
+
"group": "Logging"
|
|
360
|
+
},
|
|
361
|
+
"log_dreaming": {
|
|
362
|
+
"description": "Log level for dreaming module",
|
|
363
|
+
"type": "string",
|
|
364
|
+
"env": "PI_LOG_DREAMING",
|
|
365
|
+
"default": "info",
|
|
366
|
+
"enum": [
|
|
367
|
+
"off",
|
|
368
|
+
"debug",
|
|
369
|
+
"info",
|
|
370
|
+
"warn",
|
|
371
|
+
"error"
|
|
372
|
+
],
|
|
373
|
+
"group": "Logging"
|
|
374
|
+
},
|
|
375
|
+
"log_acpx_provider": {
|
|
376
|
+
"description": "Log level for acpx-provider module",
|
|
377
|
+
"type": "string",
|
|
378
|
+
"env": "PI_LOG_ACPX_PROVIDER",
|
|
379
|
+
"default": "info",
|
|
380
|
+
"enum": [
|
|
381
|
+
"off",
|
|
382
|
+
"debug",
|
|
383
|
+
"info",
|
|
384
|
+
"warn",
|
|
385
|
+
"error"
|
|
386
|
+
],
|
|
387
|
+
"group": "Logging"
|
|
388
|
+
},
|
|
389
|
+
"log_subagent": {
|
|
390
|
+
"description": "Log level for subagent module",
|
|
391
|
+
"type": "string",
|
|
392
|
+
"env": "PI_LOG_SUBAGENT",
|
|
393
|
+
"default": "info",
|
|
394
|
+
"enum": [
|
|
395
|
+
"off",
|
|
396
|
+
"debug",
|
|
397
|
+
"info",
|
|
398
|
+
"warn",
|
|
399
|
+
"error"
|
|
400
|
+
],
|
|
401
|
+
"group": "Logging"
|
|
402
|
+
},
|
|
403
|
+
"log_orchestrator": {
|
|
404
|
+
"description": "Log level for orchestrator module",
|
|
405
|
+
"type": "string",
|
|
406
|
+
"env": "PI_LOG_ORCHESTRATOR",
|
|
407
|
+
"default": "info",
|
|
408
|
+
"enum": [
|
|
409
|
+
"off",
|
|
410
|
+
"debug",
|
|
411
|
+
"info",
|
|
412
|
+
"warn",
|
|
413
|
+
"error"
|
|
414
|
+
],
|
|
415
|
+
"group": "Logging"
|
|
416
|
+
},
|
|
417
|
+
"log_async_agents": {
|
|
418
|
+
"description": "Log level for async-agents module",
|
|
419
|
+
"type": "string",
|
|
420
|
+
"env": "PI_LOG_ASYNC_AGENTS",
|
|
421
|
+
"default": "info",
|
|
422
|
+
"enum": [
|
|
423
|
+
"off",
|
|
424
|
+
"debug",
|
|
425
|
+
"info",
|
|
426
|
+
"warn",
|
|
427
|
+
"error"
|
|
428
|
+
],
|
|
429
|
+
"group": "Logging"
|
|
430
|
+
},
|
|
431
|
+
"log_enforcement": {
|
|
432
|
+
"description": "Log level for enforcement module",
|
|
433
|
+
"type": "string",
|
|
434
|
+
"env": "PI_LOG_ENFORCEMENT",
|
|
435
|
+
"default": "info",
|
|
436
|
+
"enum": [
|
|
437
|
+
"off",
|
|
438
|
+
"debug",
|
|
439
|
+
"info",
|
|
440
|
+
"warn",
|
|
441
|
+
"error"
|
|
442
|
+
],
|
|
443
|
+
"group": "Logging"
|
|
444
|
+
},
|
|
445
|
+
"log_rules": {
|
|
446
|
+
"description": "Log level for rules module",
|
|
447
|
+
"type": "string",
|
|
448
|
+
"env": "PI_LOG_RULES",
|
|
449
|
+
"default": "info",
|
|
450
|
+
"enum": [
|
|
451
|
+
"off",
|
|
452
|
+
"debug",
|
|
453
|
+
"info",
|
|
454
|
+
"warn",
|
|
455
|
+
"error"
|
|
456
|
+
],
|
|
457
|
+
"group": "Logging"
|
|
458
|
+
},
|
|
459
|
+
"log_memory": {
|
|
460
|
+
"description": "Log level for memory module",
|
|
461
|
+
"type": "string",
|
|
462
|
+
"env": "PI_LOG_MEMORY",
|
|
463
|
+
"default": "info",
|
|
464
|
+
"enum": [
|
|
465
|
+
"off",
|
|
466
|
+
"debug",
|
|
467
|
+
"info",
|
|
468
|
+
"warn",
|
|
469
|
+
"error"
|
|
470
|
+
],
|
|
471
|
+
"group": "Logging"
|
|
472
|
+
},
|
|
473
|
+
"log_settings_tui": {
|
|
474
|
+
"description": "Log level for settings-tui module",
|
|
475
|
+
"type": "string",
|
|
476
|
+
"env": "PI_LOG_SETTINGS_TUI",
|
|
477
|
+
"default": "info",
|
|
478
|
+
"enum": [
|
|
479
|
+
"off",
|
|
480
|
+
"debug",
|
|
481
|
+
"info",
|
|
482
|
+
"warn",
|
|
483
|
+
"error"
|
|
484
|
+
],
|
|
485
|
+
"group": "Logging"
|
|
486
|
+
},
|
|
487
|
+
"log_cron": {
|
|
488
|
+
"description": "Log level for cron module",
|
|
489
|
+
"type": "string",
|
|
490
|
+
"env": "PI_LOG_CRON",
|
|
491
|
+
"default": "info",
|
|
492
|
+
"enum": [
|
|
493
|
+
"off",
|
|
494
|
+
"debug",
|
|
495
|
+
"info",
|
|
496
|
+
"warn",
|
|
497
|
+
"error"
|
|
498
|
+
],
|
|
499
|
+
"group": "Logging"
|
|
500
|
+
},
|
|
501
|
+
"log_oneshot": {
|
|
502
|
+
"description": "Log level for oneshot argv helpers (`pi -p` / `--mode json`)",
|
|
503
|
+
"type": "string",
|
|
504
|
+
"env": "PI_LOG_ONESHOT",
|
|
505
|
+
"default": "info",
|
|
506
|
+
"enum": [
|
|
507
|
+
"off",
|
|
508
|
+
"debug",
|
|
509
|
+
"info",
|
|
510
|
+
"warn",
|
|
511
|
+
"error"
|
|
512
|
+
],
|
|
513
|
+
"group": "Logging"
|
|
514
|
+
},
|
|
515
|
+
"task_auto_clear_enabled": {
|
|
516
|
+
"description": "Enable automatic removal of completed tasks",
|
|
517
|
+
"type": "bool",
|
|
518
|
+
"env": "PI_TASK_AUTO_CLEAR_ENABLED",
|
|
519
|
+
"default": true,
|
|
520
|
+
"group": "Tasks"
|
|
521
|
+
},
|
|
522
|
+
"task_auto_clear_minutes": {
|
|
523
|
+
"description": "Minutes before completed tasks are automatically removed",
|
|
524
|
+
"type": "int",
|
|
525
|
+
"env": "PI_TASK_AUTO_CLEAR_MINUTES",
|
|
526
|
+
"default": 10,
|
|
527
|
+
"min": 1,
|
|
528
|
+
"max": 1440,
|
|
529
|
+
"group": "Tasks"
|
|
530
|
+
},
|
|
531
|
+
"task_reminder_enabled": {
|
|
532
|
+
"description": "Enable periodic task reminders when no task is in progress",
|
|
533
|
+
"type": "bool",
|
|
534
|
+
"env": "PI_TASK_REMINDER_ENABLED",
|
|
535
|
+
"default": true,
|
|
536
|
+
"group": "Tasks"
|
|
537
|
+
},
|
|
538
|
+
"task_reminder_interval_minutes": {
|
|
539
|
+
"description": "Minutes between task reminders when no task is in progress",
|
|
540
|
+
"type": "int",
|
|
541
|
+
"env": "PI_TASK_REMINDER_INTERVAL_MINUTES",
|
|
542
|
+
"default": 10,
|
|
543
|
+
"min": 1,
|
|
544
|
+
"max": 60,
|
|
545
|
+
"group": "Tasks"
|
|
546
|
+
},
|
|
547
|
+
"task_stale_in_progress_enabled": {
|
|
548
|
+
"description": "Enable reminders for tasks stuck in progress too long",
|
|
549
|
+
"type": "bool",
|
|
550
|
+
"env": "PI_TASK_STALE_IN_PROGRESS_ENABLED",
|
|
551
|
+
"default": true,
|
|
552
|
+
"group": "Tasks"
|
|
553
|
+
},
|
|
554
|
+
"task_stale_in_progress_minutes": {
|
|
555
|
+
"description": "Minutes before an in-progress task triggers a stale reminder",
|
|
556
|
+
"type": "int",
|
|
557
|
+
"env": "PI_TASK_STALE_IN_PROGRESS_MINUTES",
|
|
558
|
+
"default": 30,
|
|
559
|
+
"min": 5,
|
|
560
|
+
"max": 1440,
|
|
561
|
+
"group": "Tasks"
|
|
562
|
+
}
|
|
563
|
+
}
|
|
@@ -16,9 +16,9 @@ You do NOT write code. You review, direct the coder, and verify everything works
|
|
|
16
16
|
|
|
17
17
|
- **Sole owner** of feature quality and completeness
|
|
18
18
|
- You do NOT write, edit, or commit code — manager and reviewer only
|
|
19
|
-
- Communicate with coder peer via `coms_send
|
|
19
|
+
- Communicate with coder peer via `coms_send`.
|
|
20
20
|
After sending, **end your turn** — the response auto-delivers as a followUp in a new turn.
|
|
21
|
-
Discover peers via `coms_list
|
|
21
|
+
Discover peers via `coms_list`.
|
|
22
22
|
Use the same transport for discovery and sending.
|
|
23
23
|
- **Use structured tasks** when delegating work — pass `tasks` parameter in `coms_send` so the coder's task widget tracks deliverables
|
|
24
24
|
- Gate PR creation — coder CANNOT push/create PR without your explicit approval
|
|
@@ -89,7 +89,7 @@ Use `ask_user` to wait for confirmation.
|
|
|
89
89
|
|
|
90
90
|
After the user confirms:
|
|
91
91
|
|
|
92
|
-
1. Run `coms_list`
|
|
92
|
+
1. Run `coms_list`
|
|
93
93
|
2. Verify ALL expected peers are connected by name
|
|
94
94
|
3. If any are missing → tell the user which ones and repeat the command
|
|
95
95
|
4. Once all peers are confirmed → proceed to Getting Started
|
|
@@ -100,7 +100,7 @@ After the user confirms:
|
|
|
100
100
|
|
|
101
101
|
### Scenario 1: Late Join — Coder Already Working
|
|
102
102
|
|
|
103
|
-
1. **Discover peer**: `coms_list`
|
|
103
|
+
1. **Discover peer**: `coms_list`
|
|
104
104
|
2. **Request status report** (include standing rules block from below):
|
|
105
105
|
- Issue/PR number, branch, what's implemented, `git diff origin/main --stat`
|
|
106
106
|
- Open review comments, test results
|
|
@@ -264,8 +264,6 @@ Send verification tasks via the active coms transport with structured `tasks`,
|
|
|
264
264
|
then await the returned `msg_id` using the matching tool:
|
|
265
265
|
|
|
266
266
|
- P2P: `coms_send` → response auto-delivers as followUp
|
|
267
|
-
- Networked: `coms_net_send` → response auto-delivers as followUp
|
|
268
|
-
|
|
269
267
|
Tasks to delegate:
|
|
270
268
|
|
|
271
269
|
- Run through all E2E scenarios (happy + unhappy paths)
|