@sjawhar/pi-legion-envoy 5.16.4 → 5.16.5

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/legion.js CHANGED
@@ -39253,7 +39253,7 @@ import { logger } from "@oh-my-pi/pi-utils";
39253
39253
  // package.json
39254
39254
  var package_default = {
39255
39255
  name: "@sjawhar/pi-legion-envoy",
39256
- version: "5.16.4",
39256
+ version: "5.16.5",
39257
39257
  type: "module",
39258
39258
  omp: {
39259
39259
  extensions: [
@@ -154,7 +154,7 @@ exactly one owner to every owner-scoped tool: `issue` for an issue, or `project`
154
154
  that GitHub issue or pull request. Only `dispatch_issue` with `external` creates a native issue; if no issue is linked, call
155
155
  `dispatch_issue({ external: "owner/repo#n", project: "<project>", title: "<title>" })` before addressing it.
156
156
 
157
- Issue reads include `rank`, the server-owned ordering key used by project boards; reorder through `PATCH /api/v1/issues/{key}` with neighboring issue keys. They also include nullable coarse priority (`P0` highest through `P3` lowest) and `assignee`: the lowercase GitHub login of the human who answers the issue's asks, or `null` when nobody holds it. `dispatch_read` of an issue prints it as `Assignee: <login>` or `Assignee: unassigned`.
157
+ Issue reads include `rank`, the server-owned ordering key used by project boards; reorder through `PATCH /api/v1/issues/{key}` with `{"rank": {"before": "<key>", "after": "<key>"}}`, either neighbor optional and both in the issue's project. A bearer caller also names its own session in that body, `"actor": {"kind": "session", "id": "<your session id>"}`, or the server refuses with `ACTOR_KIND`. They also include nullable coarse priority (`P0` highest through `P3` lowest) and `assignee`: the lowercase GitHub login of the human who answers the issue's asks, or `null` when nobody holds it. `dispatch_read` of an issue prints it as `Assignee: <login>` or `Assignee: unassigned`.
158
158
 
159
159
  ### Who answers an ask
160
160
 
@@ -172,6 +172,36 @@ dispatch_issue({ project, title, parent?, external?, spec?, force?, labels?: str
172
172
  `details` `{ issue }`; creating an issue does not subscribe you to it (see [Following](#following)). Use `dispatch_issue` only to create an issue; never use it to park a question. When `spec` is supplied,
173
173
  follow [Writing a spec](#writing-a-spec).
174
174
 
175
+ ## Choosing what to work on
176
+
177
+ When you finish an issue, or are told to work on the next thing, take the top ready issue of the
178
+ whole backlog, across every project: status `todo`, highest priority first, then board rank. There
179
+ are no areas: a standing role, a product owner and a lane each take the top issue like everyone
180
+ else (Sami, 2026-09-27, dispatch://AGENTC-34/ask/01ed2956-73cc-48d2-8ed4-7a86c6d439b1). `todo`
181
+ means ready: specced, unblocked, and waiting on neither a deploy nor a decision. An issue that
182
+ waits on one belongs in `backlog`, with what it waits on said on the issue.
183
+
184
+ Hold at most three issues in flight (`in_progress`, `testing`, `needs_review` or `retro`), of any
185
+ kind (Sami, 2026-09-27, answering dispatch://AGENTC-34/ask/1aeb8f2e-0950-4eaa-aaac-24286c9dd3ca;
186
+ the question proposed two, and his answer set three). The limit is per agent and has nothing to do
187
+ with the week's priorities (Sami, 2026-09-28, reply a7647eb0 on
188
+ dispatch://AGENTC-393/ask/b773d9f6): the priorities decide only what you pull next. Past three:
189
+ push any unfinished work, say where in one comment on the issue, move it to `backlog` and clear
190
+ its route. Each issue counts on its own; a child does not ride under its parent's slot.
191
+ In-flight issues with no owner at all go
192
+ back to `backlog` as well: no claim or route held by a live session, no Dispatch activity in the
193
+ last day, and no pull request moving on GitHub (an owner working there leaves no Dispatch trace).
194
+ The order keeper sweeps those. Never write the status of an issue that carries the `legion`
195
+ label, or of any issue under one: the Legion daemon writes those statuses, and moving one of its
196
+ admitted roots out of its flow parks the tree and stops its workers.
197
+
198
+ One agent keeps the backlog's order against those priorities, with Sami
199
+ (dispatch://AGENTC-34/ask/f6780f9e-8b96-49eb-9be7-7c7f2036d5cc). Setting an issue's priority
200
+ stays yours ([Priority is yours to set](#priority-is-yours-to-set)); reordering the board does not.
201
+ When the top of the backlog looks wrong, or a priority's next step is not yet a ready issue,
202
+ publish it to `notifications.role.backlog-order`, which the order keeper holds, instead of
203
+ reordering the board yourself.
204
+
175
205
  ## Claim the issue before you work it
176
206
 
177
207
  Two sessions once spent a night implementing the same issue, because nothing on it said who was
@@ -300,7 +330,7 @@ This is not search: it matches no text. Use `dispatch_search` for a keyword or p
300
330
 
301
331
  ### The owner audit
302
332
 
303
- As the owner of a surface, list your area's P0 and P1 issues and staff or close each one nobody
333
+ As the owner of a surface, list the project's P0 and P1 issues and staff or close each one nobody
304
334
  has started:
305
335
  ```ts
306
336
  dispatch_issues({ project, priority: [0, 1], limit: 250 })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/pi-legion-envoy",
3
- "version": "5.16.4",
3
+ "version": "5.16.5",
4
4
  "type": "module",
5
5
  "omp": {
6
6
  "extensions": [