@maxiaochao/pi-toolkit 0.13.0 → 0.13.1
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/CHANGELOG.md +5 -0
- package/package.json +1 -1
- package/packages/herdr-subagents/CHANGELOG.md +5 -0
- package/packages/herdr-subagents/README.md +1 -1
- package/packages/herdr-subagents/TESTING.md +1 -0
- package/packages/herdr-subagents/package.json +1 -1
- package/packages/herdr-subagents/src/protocol.ts +1 -1
- package/packages/herdr-subagents/tests/core-state-machine.mjs +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
## 2026-10-21 - v0.13.1
|
|
2
|
+
|
|
3
|
+
- herdr-subagents v0.7.2: clarify final answer submission through subagent_report
|
|
4
|
+
- Herdr Subagents: clarify that child tasks must finish through `subagent_report`, not a normal text reply; remove the process-exit condition from the report instructions.
|
|
5
|
+
|
|
1
6
|
## 2026-10-20 - v0.13.0
|
|
2
7
|
|
|
3
8
|
- background-tasks v0.1.0: bundle background shell tasks with runtime limits, bounded logs, completion notifications and /bg controls
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maxiaochao/pi-toolkit",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"description": "Personal pi coding agent toolkit: background tasks, scheduler, /btw, /cache_export, apply_patch, browser automation, and bundled theme/skills.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
## 2026-10-21 - v0.7.2
|
|
2
|
+
|
|
3
|
+
- clarify final answer submission through subagent_report
|
|
4
|
+
- Clarify child report instructions: submit the final result through `subagent_report` when work finishes or cannot be completed, rather than tying submission to process exit or ending with a normal text reply.
|
|
5
|
+
|
|
1
6
|
## 2026-10-20 - v0.7.1
|
|
2
7
|
|
|
3
8
|
- clarify Persona responsibilities and dispatch guidance
|
|
@@ -52,7 +52,7 @@ Cleanup belongs to the Pi session that created the run. Starting a new Pi sessio
|
|
|
52
52
|
|
|
53
53
|
## Result protocol
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
When the task finishes or cannot be completed, the child must call `subagent_report` once instead of ending with a normal text reply. The terminal status is:
|
|
56
56
|
|
|
57
57
|
- `completed`: the requested work finished.
|
|
58
58
|
- `failed`: it cannot be completed; include `error`.
|
|
@@ -17,6 +17,7 @@ It verifies:
|
|
|
17
17
|
- required explicit Personas in the tool schema and execution, including legacy single-task argument normalization;
|
|
18
18
|
- model-facing role selection guidance for broad independent review, codebase investigation, file-changing work, and charter-driven agent-team execution;
|
|
19
19
|
- effective Persona descriptions in parent listings, corresponding bodies in child system prompts, and unchanged read/write tool boundaries;
|
|
20
|
+
- child system prompts require a terminal `subagent_report` when work finishes or cannot be completed, not a normal text reply or a process-exit condition;
|
|
20
21
|
- rejection of missing, blank, invalid, and unknown Personas before creating runs, while custom Personas remain supported;
|
|
21
22
|
- explicit rejection of parallel write-capable tasks with the conflicting task, Persona, and corrective action;
|
|
22
23
|
- waiting through a delayed authoritative report after a prompt transport error while the Pi process is alive;
|
|
@@ -11,7 +11,7 @@ export function reportProtocolPrompt(systemPrompt: string, kind: ReportPromptKin
|
|
|
11
11
|
TURN_INTRO[kind],
|
|
12
12
|
systemPrompt.trim(),
|
|
13
13
|
"",
|
|
14
|
-
"
|
|
14
|
+
"Submit your final answer by calling the subagent_report tool.",
|
|
15
15
|
"Put the complete final answer in result, a concise parent-facing paragraph in summary, and list any useful document paths.",
|
|
16
16
|
"Use status=completed when the task is finished, or status=failed with error when it cannot be completed.",
|
|
17
17
|
"Do not pause for parent input; make a reasonable assumption or report failed with the missing requirement.",
|
|
@@ -155,7 +155,8 @@ async function run(tasks, concurrency, herdr = fakeHerdr(), signal) {
|
|
|
155
155
|
const directory = parallel.details.tasks[index].recordDirectory;
|
|
156
156
|
const instructions = readFileSync(join(directory, "system-prompt.md"), "utf8");
|
|
157
157
|
assert.ok(instructions.startsWith(personas.get(name).systemPrompt), "Each child must receive its selected Persona body");
|
|
158
|
-
assert.
|
|
158
|
+
assert.ok(instructions.includes("Submit your final answer by calling the subagent_report tool."));
|
|
159
|
+
assert.doesNotMatch(instructions, /process exits/);
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
const projectAgents = join(root, ".pi", "herdr-subagents", "agents");
|