@sjawhar/opencode-legion-envoy 8.7.1 → 8.8.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/opencode-legion-envoy",
3
- "version": "8.7.1",
3
+ "version": "8.8.1",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/src/server.js",
@@ -18,9 +18,10 @@ follows is a document on the same issue. This skill replaces superpowers' `brain
18
18
  - There is no approval after each section, only the one at the end.
19
19
  - A small change gets a short spec, never a design in chat: its size shortens the spec and changes
20
20
  nothing about where the conversation happens.
21
- - No spec or plan file goes in the repository (`docs/superpowers/specs/`,
22
- `docs/superpowers/plans/`, `docs/plans/`): the spec is the issue's primary document and the plan
23
- is its `plan.md` document.
21
+ - The spec is the issue's primary document and the plan is its `plan.md` document, in place of
22
+ superpowers' spec and plan files (`docs/superpowers/specs/`, `docs/superpowers/plans/`). A copy
23
+ also goes in the repository only when the person, the issue, its spec or the repository asks for
24
+ one.
24
25
 
25
26
  The brainstorming stages still shape what you ask: clarifying questions, then two or three
26
27
  approaches with a recommendation, then the design section by section. A question that depends on
@@ -28,8 +29,8 @@ no open answer goes out at once, whatever its stage.
28
29
 
29
30
  Read `skill://dispatch` before the first version: its "Writing a spec", "Decision blocks",
30
31
  "Writing for the human" and "Approval of a spec" sections define the spec's shape, each block's
31
- shape, and when approval is requested. A Legion phase worker never writes the spec; it sends a
32
- decision to its architect (`skill://legion-worker`).
32
+ shape, and when approval is requested. A Legion phase worker never writes the issue's spec
33
+ document; it sends a decision to its architect (`skill://legion-worker`).
33
34
 
34
35
  ## Where the spec lives
35
36
 
@@ -98,7 +99,7 @@ reactions, and so do corrections to it. Neither your model nor theirs is the sta
98
99
 
99
100
  Once the spec is approved — or, when the issue needed no spec at all (a bug fix with no design
100
101
  decision), once you have enough to plan from — the implementation plan is the issue's `plan.md`
101
- document, never its spec and never a repository file:
102
+ document, never its spec:
102
103
 
103
104
  ```bash
104
105
  dispatch artifact --issue <KEY> --name plan.md --content-file - <<'EOF'
@@ -108,7 +109,9 @@ EOF
108
109
 
109
110
  Uploading `plan.md` again writes its next version. `writing-plans`'s content rules still apply in
110
111
  full — file structure, task right-sizing, bite-sized steps, no placeholders, the header, and its
111
- self-review — only where the plan lives changes: the issue's `plan.md`, never a repository file.
112
+ self-review — only where the plan lives changes: the issue's `plan.md`, in place of a plan file.
113
+ A copy in the repository, or spec code there, goes in only when the person, the issue, its spec or
114
+ the repository asks for it.
112
115
  Technical choices inside the approved design are made in the plan and need no question. A plan
113
116
  never changes a decision the human made in the spec: a change to one goes back to the spec as a
114
117
  decision block, with the evidence for it.
@@ -248,17 +248,15 @@ gh pr comment <pr-number> \
248
248
  ## Planner artifact
249
249
 
250
250
  The plan lives in `.legion/<issue>/plan.json` and the issue's `plan.md` document, never in the issue's
251
- primary document, which is its spec; never commit a plan or spec file to the repository.
252
- No `docs/plans/*`, `docs/superpowers/plans/*`, or spec markdown goes into the pull request: plan
253
- and spec content goes into the issue, never into a PR (the root `AGENTS.md`
254
- calls its own `docs/plans/` human-authored design history, not a Legion artifact). A skill step that says "save the plan
255
- to a file" is satisfied by the handoff write in the completion gate below; the planner's only
256
- commit is `plan: record handoff`.
251
+ primary document, which is its spec. Legion sets no rule on whether a plan or spec goes in the
252
+ repository: the planner commits a plan, a spec or spec code when the issue, its spec or the
253
+ repository asks for it. Otherwise, a skill step that says "save the plan to a file" is satisfied by
254
+ the handoff write in the completion gate below.
257
255
 
258
256
  A plan that departs from the spec's design records the departure in `plan.md` and in the required
259
257
  `.legion/<issue>/plan.json` `specDepartures`: `[]` means no departure; otherwise each bounded record names
260
258
  the spec, plan, evidence and outcome. The planner's role prompt defines that record. The planner
261
- never edits the spec. Whether the spec changes is the architect's decision
259
+ never edits the issue's spec document. Whether the spec changes is the architect's decision
262
260
  (`skill://legion-architect`, section 1), and the reviewer reads the plan beside the spec.
263
261
 
264
262
  ## Implementer push and pull request
@@ -15,7 +15,7 @@ Three facts govern every thread, whoever opened it.
15
15
  - **Resolve each thread you have answered, one thread per call, never in bulk, never a thread you
16
16
  have not read.** GitHub grants `resolveReviewThread` to the pull request's author, and the
17
17
  implementer opens every Legion pull request (`docs/site/src/content/docs/legion/running-legion.md`,
18
- "The two GitHub Apps"), so the implementer resolves every thread, its own and the ones the
18
+ "The GitHub Apps"), so the implementer resolves every thread, its own and the ones the
19
19
  reviewer accepted:
20
20
  - The **implementer**, after every push that answers a review and before its `handoff_complete`,
21
21
  resolves each thread it answered with its own `gh`, one thread per call: