@sjawhar/opencode-legion-envoy 5.0.0 → 5.0.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
package/skills/AGENTS.md
CHANGED
|
@@ -21,6 +21,6 @@ event intake, process lifecycle, credentials, and role delivery.
|
|
|
21
21
|
The owning skill above is where each contract is defined; a role prompt that needs a contract from its own seat points there or restates only its own step. This file lists and does not restate.
|
|
22
22
|
A Legion prompt (a skill here, a role prompt, or an agent definition in `packages/pi-envoy/agents/`) names a task agent only as `task(agent="<name>")` and a skill it tells the model to load only as `skill://<name>`. Those are the two forms the Go daemon's boot gate and `legion probe-image` resolve through Oh My Pi, refusing by name one it cannot find; a dispatch or a load written any other way goes unchecked. An agent or skill Legion's prompts name is shipped here or in `packages/pi-envoy/agents/`, unless Oh My Pi bundles it.
|
|
23
23
|
A skill file an agent loads stays under 51,200 bytes, Oh My Pi's spill threshold (a longer one arrives with its middle cut out), and a skill's detail lives in `references/` files linked as `skill://<name>/references/<file>.md`, never by relative path, which a read by path cuts at 300 lines. `packages/pi-envoy/src/skills-guard.test.ts` fails on a file at the threshold, on any `SKILL.md` body of 500 lines or more, on a skill whose frontmatter `name` is not its directory's name, on a `dispatch-first` over its budget, on a `skill://<name>/<path>` link that names a missing file or a missing `#heading`, and on a `legion-worker` reference nothing links.
|
|
24
|
-
The text a worker boots with (its role prompt) lives in `packages/
|
|
25
|
-
composed per role
|
|
26
|
-
holds the structural rules for those parts.
|
|
24
|
+
The text a worker boots with (its role prompt) lives in `packages/daemon/internal/prompts/roles/`,
|
|
25
|
+
embedded in the `legion` binary and composed per role by `packages/daemon/internal/prompts/prompts.go`;
|
|
26
|
+
`packages/daemon/internal/prompts/roles_test.go` holds the structural rules for those parts.
|
|
@@ -317,7 +317,7 @@ line), the full definition of a proof, what the tester verifies, and the simplif
|
|
|
317
317
|
## Completion gate: handoff write, verification, and persistence
|
|
318
318
|
|
|
319
319
|
The merger writes no handoff and pushes nothing, so this gate does not apply to it
|
|
320
|
-
(`packages/
|
|
320
|
+
(`packages/daemon/internal/prompts/roles/merger.md`).
|
|
321
321
|
|
|
322
322
|
Write the phase-specific handoff: call the `legion` tool with `op: "handoff_write"`, `phase: "<p>"`,
|
|
323
323
|
and `data`: a JSON object of the phase-specific fields only. It runs `legion handoff write` in
|
|
@@ -73,12 +73,12 @@ completion leaves the issue in reviewing until you finish.
|
|
|
73
73
|
in READY (an empty output is quoted as `no file changes above the approved head`); then the same
|
|
74
74
|
with `'~docs/solutions'` appended, which must print nothing. *The READY packet*: the merger
|
|
75
75
|
always posts `READY #<n> at <current sha> (approved at <approved sha>) for <KEY> (<pr url>)`
|
|
76
|
-
(the shape `packages/
|
|
77
|
-
its `Not proven / risk:` value — every bullet under that label joined with
|
|
78
|
-
READY line, or `none` — quoted from the `## For the reviewer` block at that same
|
|
79
|
-
line saying the body carries no brief — the packet still publishes), then the
|
|
80
|
-
output and the PR body's gate facts, as a `dispatch_message` on the issue. When the
|
|
81
|
-
addressing` line names a merge queue, it also publishes the same packet there with
|
|
76
|
+
(the shape `packages/daemon/internal/prompts/roles/merger.md` defines), then the PR body's
|
|
77
|
+
`Outcome:` line and its `Not proven / risk:` value — every bullet under that label joined with
|
|
78
|
+
`; ` on the one READY line, or `none` — quoted from the `## For the reviewer` block at that same
|
|
79
|
+
head (or one line saying the body carries no brief — the packet still publishes), then the
|
|
80
|
+
`--summary` output and the PR body's gate facts, as a `dispatch_message` on the issue. When the
|
|
81
|
+
`Legion addressing` line names a merge queue, it also publishes the same packet there with
|
|
82
82
|
`envoy_publish`; a 404 means the Dispatch message remains the durable notice and the merger
|
|
83
83
|
stays idle. The READY packet names both the implementer's and tester's `E2E` lines; a missing
|
|
84
84
|
one is reported to the architect instead of published. Legion never merges.
|