pi-herdsman 0.3.2 → 0.5.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
@@ -99,7 +99,7 @@ For the complete walkthrough, see [Getting started](docs/getting-started.md).
99
99
  questions return when they need attention.
100
100
  - **One assignment per agent.** Each managed agent generation handles one
101
101
  bounded assignment, delivers its terminal result, and is cleaned up. Continue
102
- completed context by delegating to the exact returned Pi session.
102
+ completed context with the explicit `continue` action and exact returned Pi session.
103
103
  - **Nested multi-agent orchestration.** Delegation-enabled agents can own and manage
104
104
  permitted agents themselves. Identity, ownership, steering, clarification,
105
105
  results, and cleanup share the same lifecycle across the hierarchy.
@@ -126,9 +126,9 @@ The model-facing tools are `agent`, `chief`, `staff`, and `ask_owner`.
126
126
  `staff` lets the chief supervise leads, and `ask_owner` lets an agent ask its
127
127
  exact owner. Leads use `chief.message` and `chief.ask`; the active chief uses
128
128
  `staff.message` and `staff.reply` with exact lead session IDs. Agent labels are
129
- not continuation handles: exact Pi session IDs are the continuation identity.
130
- Exact herdr identifiers are validation evidence behind live agent and lead
131
- identity.
129
+ not continuation handles: exact Pi session IDs are the continuation selector.
130
+ A continued session reuses its saved logical label. Exact herdr identifiers are
131
+ validation evidence behind live agent and lead identity.
132
132
 
133
133
  Bundled definitions are portable defaults, not required workflow stages. Global
134
134
  definitions can override them or add new roles with your preferred models,
@@ -136,9 +136,8 @@ tools, extensions, skills, and instructions.
136
136
 
137
137
  ## Requirements
138
138
 
139
- - [herdr](https://github.com/herdrdev/herdr) `>=0.8.0`
139
+ - [herdr](https://github.com/herdrdev/herdr) `>=0.9.0`
140
140
  - Pi `>=0.84.2 <0.86.0` (the version range tested for this release)
141
- - herdr Pi integration version `2` or newer
142
141
  - Node `>=22.19.0`
143
142
 
144
143
  Install or refresh the herdr Pi integration:
@@ -151,6 +150,19 @@ herdr integration status
151
150
  The package manifest loads the bundled extension and exposes the optional
152
151
  `agents` skill.
153
152
 
153
+ ## Compatible extensions
154
+
155
+ Pi Herdsman interoperates with optional Pi extensions without depending on
156
+ them:
157
+
158
+ - [pi-web-access](https://github.com/nicobailon/pi-web-access) — the bundled
159
+ `researcher` recognizes its standard web-research tools.
160
+ - [pi-permission-system](https://github.com/gotgenes/pi-packages/tree/main/packages/pi-permission-system)
161
+ — shared agent frontmatter, active-agent identity, and subagent lineage
162
+ conventions support per-agent permission policy.
163
+
164
+ Neither extension is required or installed by Pi Herdsman.
165
+
154
166
  ## Documentation
155
167
 
156
168
  Choose the path that matches what you are doing:
package/SKILL.md CHANGED
@@ -28,17 +28,17 @@ The session-start instructions include the current agent-definition roster.
28
28
  Use list for live agent state, ownership, or a refreshed definition roster
29
29
  after configuration changes.
30
30
 
31
- Use delegate to give one bounded assignment to an agent while retaining
32
- ownership:
33
-
34
- - definition creates a new agent from an agent definition;
35
- - session continues one exact historical Pi context in a new agent generation.
31
+ Use delegate to start one bounded assignment from an agent definition.
32
+ Use continue to start one bounded assignment from an exact historical Pi session.
36
33
 
37
34
  Each managed agent exists for one assignment only. After its terminal result is
38
35
  delivered, Pi Herdsman cleans up that agent automatically. To continue completed
39
36
  work with its existing context, use the exact session returned with the result.
40
- Agent identity is only for controlling the current assignment; it is not a
41
- continuation identity.
37
+ Agent labels control the currently live generation; they are not continuation
38
+ selectors.
39
+ Session continuation inherits the saved definition, cwd, and logical label;
40
+ the caller cannot rename a continued session. The inherited label controls only
41
+ the currently live generation.
42
42
 
43
43
  For a live agent, use only operations currently listed in available_actions.
44
44
  State describes what is happening; available_actions describes current control
@@ -64,8 +64,7 @@ file inspection, large logs or command output, and dataset analysis. Keep small,
64
64
  tightly coupled work local.
65
65
  If several tightly coupled phases are already known, put them in one bounded
66
66
  assignment when practical. If genuinely new follow-up work emerges after
67
- completion and previous context is valuable, continue the returned session with
68
- `delegate.session`.
67
+ completion and previous context is valuable, continue the exact returned session.
69
68
  Never continue work that depends on an active agent. Continue useful
70
69
  independent work when available; otherwise end the turn normally. Agent
71
70
  completion or attention resumes the owning controller automatically. Do not
@@ -75,7 +74,7 @@ If list reports result_error, do not start a new delegation over unresolved
75
74
  work. Resolve mailbox persistence first, then close the exact agent before
76
75
  starting another assignment; follow the stored recovery nextAction.
77
76
 
78
- Before delegate, steer, or reply, make the message self-contained.
77
+ Before delegate, continue, steer, or reply, make the message self-contained.
79
78
 
80
79
  Do not attach or mention agent instruction files such as AGENTS.md, CLAUDE.md,
81
80
  GEMINI.md, or equivalents merely because they exist. Rely on normal project or
@@ -110,8 +109,10 @@ later dependent assignments when approved scope or decisions change because
110
109
  embedded text is snapshotted at submission time while referenced files are not
111
110
  copied.
112
111
 
113
- For dependent work, prefer passing an existing resultPath or coordination
114
- artifact through files instead of copying large results into a task. ask_owner
112
+ Agent completions may return a resultRef such as result:<request-id>. Pass that
113
+ exact resultRef through files for dependent work; do not reconstruct or guess
114
+ the underlying filesystem path. Prefer passing it or a coordination artifact
115
+ through files instead of copying large results into a task. ask_owner
115
116
  may also include files when the owner needs supporting evidence. files does not
116
117
  add runtime capability.
117
118
 
@@ -166,8 +167,8 @@ message evidence. Complete strict UTF-8 text may be embedded; other files are
166
167
  canonical local references and are not copied or snapshotted. Reuse adequate
167
168
  existing evidence instead of repeating completed work.
168
169
  Do not overlap writers in a worktree or file-ownership boundary. For dependent
169
- work, use and preserve files and resultPath handoffs rather than copying large
170
- results into assignments.
170
+ work, copy resultRef values exactly through files rather than reconstructing
171
+ physical result paths or copying large results into assignments.
171
172
  When your role permits writes and temporary coordination material is useful, put
172
173
  plans, scopes, specifications, decision notes, investigations, review criteria,
173
174
  and handoff state under the project-local `.pi-herdsman/` directory. Reuse and
@@ -239,8 +240,9 @@ escalation.
239
240
 
240
241
  ## Handoffs
241
242
 
242
- Prefer `files: [resultPath]` for a dependent agent instead of copying a large
243
- completion into a new task.
243
+ Prefer `files: [result:<request-id>]` for a dependent agent instead of copying
244
+ a large completion into a new task. Copy the exact resultRef returned by the
245
+ completion; do not reconstruct its physical path.
244
246
 
245
247
  A concise handoff should include:
246
248