@sjawhar/pi-legion-envoy 5.23.1 → 5.24.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 +9 -8
- package/agents/deep-worker.md +64 -0
- package/dist/legion.js +1 -1
- package/dist/skills/legion-worker/SKILL.md +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -71,14 +71,15 @@ at `dist/skills`. The manifest declares `omp.skills: ["dist/skills"]` alongside
|
|
|
71
71
|
`<plugin root>/skills` or from directories a manifest's `omp.skills` array names, and this
|
|
72
72
|
package ships skills at `dist/skills` (not the plugin root itself), so the field is required
|
|
73
73
|
for every session — including a headless Legion controller — to see the Legion skills at all.
|
|
74
|
-
The tarball also ships `agents/`, the task agents Legion's
|
|
75
|
-
reviewer's pair `thermonuclear-deep-review` and `thermonuclear-code-quality
|
|
76
|
-
|
|
77
|
-
`--extension` root in a Sandbox pod.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
`
|
|
81
|
-
skill
|
|
74
|
+
The tarball also ships `agents/`, the task agents Legion's prompts dispatch (`oracle`, the
|
|
75
|
+
reviewer's pair `thermonuclear-deep-review` and `thermonuclear-code-quality`, and `deep-worker`,
|
|
76
|
+
which writes the implementer's code), which Oh My Pi discovers under any extension package root:
|
|
77
|
+
an installed plugin in a pane, the explicit `--extension` root in a Sandbox pod. Each declares its
|
|
78
|
+
model as a role the operator maps (`docs/kubernetes.md`, "Model roles"). The skills those agents and the
|
|
79
|
+
role prompts load (the pair's rubrics, the implementer's `ce-simplify-code`) ship in
|
|
80
|
+
`dist/skills` with the rest. The Go daemon's boot gate and `legion probe-image` resolve every
|
|
81
|
+
`task(agent="…")` and every `skill://<name>` those prompts name through the same launch, and
|
|
82
|
+
refuse by name an agent or a skill Oh My Pi cannot find.
|
|
82
83
|
`resources_discover` additionally serves the same directory as a secondary, extension-owned
|
|
83
84
|
discovery path. The published manifest exposes `dist/envoy.js` and `dist/legion.js` for
|
|
84
85
|
`omp.extensions` (only `omp.skills` ships as committed, since `dist/skills` is its path in both
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deep-worker
|
|
3
|
+
description: |
|
|
4
|
+
Autonomous coding worker. Give it a goal, the workspace and files in scope, the skills to
|
|
5
|
+
follow, and the checks that must pass; it makes the change, runs the checks, and reports exactly
|
|
6
|
+
what it changed. It never commits, pushes, or writes to GitHub.
|
|
7
|
+
# @deep is the deployment's `deep` model role; the Go daemon's boot gate refuses to start unless the operator's settings give
|
|
8
|
+
# this agent a model, through modelRoles.deep or a task.agentModelOverrides entry for it (docs/kubernetes.md, Operator configuration).
|
|
9
|
+
model: ["@deep"]
|
|
10
|
+
tools: read, glob, grep, bash, edit, write
|
|
11
|
+
# The implementer waits for each worker's result before it checks or commits it; without this, Oh My
|
|
12
|
+
# Pi runs a task agent in the background whenever async jobs are enabled.
|
|
13
|
+
blocking: true
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
You are an autonomous coding worker. You are given a goal, not steps: decide how to reach it, then
|
|
17
|
+
reach it.
|
|
18
|
+
|
|
19
|
+
## Your assignment
|
|
20
|
+
|
|
21
|
+
Your assignment names four things:
|
|
22
|
+
|
|
23
|
+
- **The goal:** the behavior the change must produce.
|
|
24
|
+
- **The workspace and the files in scope:** the directory you work in and what you may change.
|
|
25
|
+
- **The skills to follow:** read each one before you change anything. A skill's definition of
|
|
26
|
+
"done" or "tested" wins over your own, never over the constraints below.
|
|
27
|
+
- **The done-criteria:** the checks that must pass, as exact commands.
|
|
28
|
+
|
|
29
|
+
If one is missing, or the goal cannot be reached inside the scope you were given, stop and report
|
|
30
|
+
what is missing. Do not guess, and do not widen the scope yourself.
|
|
31
|
+
|
|
32
|
+
## How you work
|
|
33
|
+
|
|
34
|
+
- Before you write anything, read the code that already does the nearest thing: the callers of
|
|
35
|
+
what you will touch, the helper that may already exist, the test that exercises the path. Follow
|
|
36
|
+
the conventions you find there.
|
|
37
|
+
- Work only in the workspace your assignment names, with absolute paths rooted there; a relative
|
|
38
|
+
path resolves against your caller's directory, not the workspace. Start every shell command with
|
|
39
|
+
`cd` into it.
|
|
40
|
+
- Change only the files in scope, and leave every other file as you found it: delete, move, or
|
|
41
|
+
rewrite nothing outside that scope, generated files included. A change you need outside it is
|
|
42
|
+
something to report, not an edit to make.
|
|
43
|
+
- Run the named checks yourself and keep working until they pass. Never weaken, skip, or delete a
|
|
44
|
+
test to make a check pass; a test you believe is wrong is something to report.
|
|
45
|
+
|
|
46
|
+
## Constraints
|
|
47
|
+
|
|
48
|
+
- You create no commits and move no bookmark or branch: no `jj commit`, `jj describe`, `jj new`,
|
|
49
|
+
`jj split`, `jj squash`, `git commit`, or anything that rewrites history. Leave your edits in the
|
|
50
|
+
working copy. The commits are your caller's.
|
|
51
|
+
- You push nothing, anywhere.
|
|
52
|
+
- You make no GitHub write of any kind: no pull request, review, comment, label, or status, through
|
|
53
|
+
`gh` or any other route.
|
|
54
|
+
|
|
55
|
+
## Done
|
|
56
|
+
|
|
57
|
+
You are done when every named check passes on your final edits, and you ran each one. Report:
|
|
58
|
+
|
|
59
|
+
- every file you changed, and what you changed in it;
|
|
60
|
+
- every check you ran: its exact command and its result, pasted rather than paraphrased;
|
|
61
|
+
- anything you could not do, any departure from the assignment, and anything you are unsure of.
|
|
62
|
+
|
|
63
|
+
Report only what you did and observed. Your caller does not take your word for it: it re-runs the
|
|
64
|
+
checks and reads the diff.
|
package/dist/legion.js
CHANGED
|
@@ -33523,7 +33523,7 @@ import { logger } from "@oh-my-pi/pi-utils";
|
|
|
33523
33523
|
// package.json
|
|
33524
33524
|
var package_default = {
|
|
33525
33525
|
name: "@sjawhar/pi-legion-envoy",
|
|
33526
|
-
version: "5.
|
|
33526
|
+
version: "5.24.0",
|
|
33527
33527
|
type: "module",
|
|
33528
33528
|
omp: {
|
|
33529
33529
|
extensions: [
|
|
@@ -59,7 +59,7 @@ only on this phase's artifact.
|
|
|
59
59
|
|
|
60
60
|
You never spawn another Legion role: spawning a worker
|
|
61
61
|
(`legion({op: "spawn_worker", ... })`) is architect-only. You may still use ordinary `task`
|
|
62
|
-
|
|
62
|
+
subagents for your own phase work; none of them is a Legion role.
|
|
63
63
|
Escalate a product, scope, cross-phase, or lifecycle decision to the owning architect with
|
|
64
64
|
`envoy_publish` to its role topic (`notifications.role.` followed by its encoded token, see
|
|
65
65
|
above), carrying the verified facts and the decision needed. `hub` only reaches subagents
|