@sjawhar/pi-legion-envoy 1.56.2 → 1.56.3

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/envoy.js CHANGED
@@ -29945,7 +29945,6 @@ function componentsArgument(z) {
29945
29945
  }
29946
29946
  var SPEC_SECTIONS = [
29947
29947
  "Summary",
29948
- "Decisions needed",
29949
29948
  "New since we talked",
29950
29949
  "Acceptance",
29951
29950
  "Requirements",
package/dist/legion.js CHANGED
@@ -16145,7 +16145,7 @@ import { logger } from "@oh-my-pi/pi-utils";
16145
16145
  // package.json
16146
16146
  var package_default = {
16147
16147
  name: "@sjawhar/pi-legion-envoy",
16148
- version: "1.56.2",
16148
+ version: "1.56.3",
16149
16149
  type: "module",
16150
16150
  omp: {
16151
16151
  extensions: [
@@ -29264,7 +29264,6 @@ function componentsArgument(z) {
29264
29264
  }
29265
29265
  var SPEC_SECTIONS = [
29266
29266
  "Summary",
29267
- "Decisions needed",
29268
29267
  "New since we talked",
29269
29268
  "Acceptance",
29270
29269
  "Requirements",
@@ -117,6 +117,18 @@ make the decision a block and must fix the spec.
117
117
  **Right:** put each decision in the design section it belongs to as an `:::ask{#slug}` block, with
118
118
  2–4 options, a recommendation, and surrounding prose that explains the trade-off.
119
119
 
120
+ A spec that already has the pile is repaired with `move`, not rewritten: `dispatch_doc_edit` with
121
+ `{ op: "move", block: "<block-uuid>", after: "<the sentence that states the options>" }` relocates
122
+ the block and keeps its ask, its answer and its followers; the context paragraphs that were lifted
123
+ out of Design move the same way, and the emptied section is deleted (the same repair, made on
124
+ AGENTC-397 after Sami's 2026-09-20 request: "move the decisions items to be in context of their
125
+ discussion in the spec, not just all piled up at the start with no context"). An ask block has two
126
+ ids: the block id, shown as `:::ask{#<uuid> …}` in the rendered document and taken bare by
127
+ `move`/`delete` in `block` (the `block:<uuid>` form is only for `before`/`after` anchors), and the
128
+ ask id, which `dispatch_open_asks`, the dashboard's `?ask=` link, `dispatch_read` and
129
+ `dispatch_comment({ reply_to_ask })` use. They differ; `dispatch://KEY/ask/<block-id>` answers
130
+ `not found`.
131
+
120
132
  See [Typed blocks](#typed-blocks) for the syntax and [Before you ask](#before-you-ask) under
121
133
  [Asking](#asking) to decide whether the question is a real decision at all.
122
134
 
@@ -212,9 +224,10 @@ of having this discussion" (on a report-table shape), and "What's a fenced PutOb
212
224
  eval_id? What's an R4 model header? What exactly is the question or uncertainty here?" (on a
213
225
  production import). Every `dispatch_ask` passes three gates first:
214
226
 
215
- 1. **Does it need his authority, taste, or risk appetite?** The same bar as a spec's Decisions
216
- needed ([Writing a spec](#writing-a-spec)). Schema shapes, table layouts, field names, migration
217
- internals, and contracts between lanes do not: they go to the platform PO over Envoy, who rules.
227
+ 1. **Does it need his authority, taste, or risk appetite?** This is the bar for a decision
228
+ written as an `:::ask` block in context ([Decision blocks](#decision-blocks)). Schema shapes,
229
+ table layouts, field names, migration internals, and contracts between lanes do not: they go to
230
+ the platform PO over Envoy, who rules.
218
231
  2. **Is there genuine uncertainty?** If not, it is a plan you execute. The one legitimate ask
219
232
  without uncertainty is permission for an action only a human can authorise — a production
220
233
  write, an external send, a console action — and then the question is that action in one
@@ -344,6 +357,11 @@ At least one field besides `ask` is required. Use this only while the same decis
344
357
  log and invalidates any answer draft against the prior `edited_at` revision, so the human sees the new wording and explicitly reconfirms.
345
358
  An answered or resolved ask cannot be edited. If the decision is moot or superseded, retract the old ask and open a new one.
346
359
 
360
+ An ask that lives as an `ask` block in a document takes its question and options from the document, so edit those with
361
+ `dispatch_doc_edit` (`replace` on the block's text, or `delete`/`insert` on its option items), never with `dispatch_edit_ask`: the
362
+ next document save reasserts the block's text over whatever `dispatch_edit_ask` wrote, and that reversal is logged as an edit by
363
+ the document's saver. `dispatch_edit_ask` is for asks opened with `dispatch_ask` that have no block.
364
+
347
365
  An ask stays open until a human answers, unless its question no longer needs that answer. Retract a moot or superseded question, or
348
366
  self-resolve one after finding the answer:
349
367
  ```ts
@@ -86,11 +86,11 @@ handoffs; do not narrate them into the spec or a `dispatch_message`. A blocker o
86
86
  clear is a `dispatch_ask`.
87
87
 
88
88
  The issue's primary document **is** the root specification. Extend it in place — a new version
89
- that keeps the human's own text and adds Summary, Decisions needed, New since we talked, the
90
- adoption/decomposition and waves, acceptance criteria, and the integration test — never a second
91
- "spec" artifact beside it (`dispatch_artifact` with the primary document's name replaces the
92
- human's document; do not do that). Both readers described in
93
- [Writing for the human](../dispatch/SKILL.md#writing-for-the-human) must be able to follow it.
89
+ that keeps the human's own text and adds Summary, New since we talked, the adoption/decomposition
90
+ and waves, acceptance criteria, and the integration test — never a second "spec" artifact beside
91
+ it (`dispatch_artifact` with the primary document's name replaces the human's document; do not do
92
+ that). Both readers described in [Writing for the human](../dispatch/SKILL.md#writing-for-the-human)
93
+ must be able to follow it.
94
94
  The design gate runs only when the "Design gate policy" line at the end of your system prompt
95
95
  says `gates.design: root-issues`. When it says `gates.design: off`, write the spec and continue
96
96
  to section 2 with no approval step at all: do not request approval, do not register a gate, and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/pi-legion-envoy",
3
- "version": "1.56.2",
3
+ "version": "1.56.3",
4
4
  "type": "module",
5
5
  "omp": {
6
6
  "extensions": [