@sjawhar/pi-legion-envoy 5.15.0 → 5.15.2
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
|
@@ -32383,7 +32383,14 @@ class DispatchClient {
|
|
|
32383
32383
|
return this.#json("POST", ["api", "v1", "projects", project, "architecture-source", "sync"]);
|
|
32384
32384
|
}
|
|
32385
32385
|
async getArchitectureSource(project) {
|
|
32386
|
-
|
|
32386
|
+
try {
|
|
32387
|
+
return await this.#json("GET", ["api", "v1", "projects", project, "architecture-source"]);
|
|
32388
|
+
} catch (error48) {
|
|
32389
|
+
if (error48 instanceof DispatchServiceError && error48.status === 404 && error48.code === "SOURCE_NOT_FOUND") {
|
|
32390
|
+
return null;
|
|
32391
|
+
}
|
|
32392
|
+
throw error48;
|
|
32393
|
+
}
|
|
32387
32394
|
}
|
|
32388
32395
|
async resolveAsk(id, input) {
|
|
32389
32396
|
return this.#json("POST", ["api", "v1", "asks", id, "resolve"], input);
|
package/dist/legion.js
CHANGED
|
@@ -31299,7 +31299,14 @@ class DispatchClient {
|
|
|
31299
31299
|
return this.#json("POST", ["api", "v1", "projects", project, "architecture-source", "sync"]);
|
|
31300
31300
|
}
|
|
31301
31301
|
async getArchitectureSource(project) {
|
|
31302
|
-
|
|
31302
|
+
try {
|
|
31303
|
+
return await this.#json("GET", ["api", "v1", "projects", project, "architecture-source"]);
|
|
31304
|
+
} catch (error48) {
|
|
31305
|
+
if (error48 instanceof DispatchServiceError && error48.status === 404 && error48.code === "SOURCE_NOT_FOUND") {
|
|
31306
|
+
return null;
|
|
31307
|
+
}
|
|
31308
|
+
throw error48;
|
|
31309
|
+
}
|
|
31303
31310
|
}
|
|
31304
31311
|
async resolveAsk(id, input) {
|
|
31305
31312
|
return this.#json("POST", ["api", "v1", "asks", id, "resolve"], input);
|
|
@@ -33387,7 +33394,7 @@ import { logger } from "@oh-my-pi/pi-utils";
|
|
|
33387
33394
|
// package.json
|
|
33388
33395
|
var package_default = {
|
|
33389
33396
|
name: "@sjawhar/pi-legion-envoy",
|
|
33390
|
-
version: "5.15.
|
|
33397
|
+
version: "5.15.2",
|
|
33391
33398
|
type: "module",
|
|
33392
33399
|
omp: {
|
|
33393
33400
|
extensions: [
|
|
@@ -255,16 +255,20 @@ Preserve this order exactly:
|
|
|
255
255
|
with options for its outcomes, and the issue waits for it.
|
|
256
256
|
|
|
257
257
|
What returns the tree to review: a changed diff — a commit above the approved head that
|
|
258
|
-
touches anything outside `docs/solutions/`, or a
|
|
258
|
+
touches anything outside `docs/solutions/`, or a conflict-resolution merge whose fingerprint
|
|
259
259
|
(`skill://legion-worker`'s unchanged-diff check) differs from the approved head's. What does not: retro's
|
|
260
|
-
`docs/solutions/` commit, and a
|
|
261
|
-
is unchanged. For that
|
|
262
|
-
`legion-worker`'s
|
|
263
|
-
|
|
264
|
-
|
|
260
|
+
`docs/solutions/` commit, and a merge forced by a GitHub-reported conflict whose fingerprint
|
|
261
|
+
is unchanged. For that merge the order is: the implementer merges the bookmark forward with the
|
|
262
|
+
destination (`legion-worker`'s forward-merge procedure — `jj new legion/<KEY> <destination>`,
|
|
263
|
+
never a rebase, since a rebase rewrites every descendant of the chain's fork point, including
|
|
264
|
+
another tree's branch stacked on it), pushes it with the ordinary push procedure (a genuine
|
|
265
|
+
fast-forward), and posts the before/after fingerprints; the tester re-runs the bare gates only;
|
|
266
|
+
the reviewer confirms and approves the new head by SHA (or continues its round if it had not
|
|
267
|
+
approved); the merger republishes READY. Retro does not re-run. This merge happens only when
|
|
268
|
+
GitHub reports `CONFLICTING`
|
|
265
269
|
(`legion gh -- pr view <n> --json mergeable,mergeStateStatus`); read that on every end-game
|
|
266
270
|
wake — `pr-ready`, `pr-review`, `phase-complete`, `catchup-overseer` — because a `CONFLICTING`
|
|
267
|
-
PR gets no CI and no wake announces it, and send the implementer to
|
|
271
|
+
PR gets no CI and no wake announces it, and send the implementer to resolve it the moment you see
|
|
268
272
|
it. Do not let the merger publish `READY` for an obsolete approval.
|
|
269
273
|
|
|
270
274
|
If a worker reports that `legion threads resolve` exited 1 naming a review thread GitHub refused
|
|
@@ -280,7 +280,7 @@ Verified the implementer's proof by <re-running its command | driving the same s
|
|
|
280
280
|
**Fast-follow:** <one named cleanup item and where it will land>, or "none".
|
|
281
281
|
|
|
282
282
|
**Chain:** stacked on <base bookmark> frozen at <sha> / not stacked.
|
|
283
|
-
**Retarget:** Retargeting a pull request to a new base does not re-run Tests; after a retarget,
|
|
283
|
+
**Retarget:** Retargeting a pull request to a new base does not re-run Tests; after a retarget, merge the bookmark onto the new base (`jj new legion/<KEY> <new base> -m "<message>"`) and push with `legion-worker`'s ordinary push procedure — a genuine fast-forward, never the procedure for rewritten commits — the new head runs Tests against the new merge result — and cite that run in the PR body.
|
|
284
284
|
```
|
|
285
285
|
|
|
286
286
|
**A proof** is the changed behaviour exercised on the surface a user reaches it through, recorded
|
|
@@ -362,9 +362,30 @@ this proof.
|
|
|
362
362
|
the fingerprint at the current tip; after pushing the rebased branch, record it at the new
|
|
363
363
|
tip; post one PR comment (Legion footer):
|
|
364
364
|
`rebase <old-tip-sha> → <new-tip-sha>; fingerprint <before> → <after>; unchanged|changed`.
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
365
|
+
Every issue workspace is a `jj workspace` of the same shared repository and operation log, and
|
|
366
|
+
jj always rebases every descendant of any commit it rewrites — a revset naming the root of your
|
|
367
|
+
own chain and rewriting it in place also rewrites whatever another tree has stacked on that root,
|
|
368
|
+
whichever selector chose it (`-s`, `-b`, and `-r` all rewrite descendants; `-r` only re-parents
|
|
369
|
+
them to fill the hole, which is worse). This is what happened in LEGION-118: one issue's own
|
|
370
|
+
conflict step moved a second issue's twelve commits and its bookmark onto a conflicted copy.
|
|
371
|
+
Resolve the conflict with a forward merge instead of a rewrite — merge the branch's own
|
|
372
|
+
bookmark with the destination in one new commit, so nothing existing is rewritten and nothing
|
|
373
|
+
built on your prior commits, in this tree or another, ever moves:
|
|
374
|
+
|
|
375
|
+
```bash
|
|
376
|
+
jj -R "$LEGION_WORKSPACE" new legion/<KEY> main@origin -m "merge: resolve conflict against main@origin"
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
Merge from the bookmark, never from `@`: a handoff split leaves `@` an empty, undescribed
|
|
380
|
+
commit above the described one the bookmark already names, and `jj git push` refuses to push
|
|
381
|
+
any commit without a description — merging from `@` drags that undescribed commit into the
|
|
382
|
+
ancestry and the push fails (`Won't push commit … since it has no description`); the bookmark
|
|
383
|
+
is always on a described, already-pushed commit. If the merge conflicts, resolve it in that
|
|
384
|
+
one commit — edit the markers directly; there is nothing to squash, since the merge is the
|
|
385
|
+
only new commit. Then `jj -R "$LEGION_WORKSPACE" new` to move off it, and push with the one
|
|
386
|
+
push procedure (*Every role pushes its own commits*, below): the merge descends from both the
|
|
387
|
+
bookmark's old position and the destination, so it is a genuine fast-forward and *Rewriting
|
|
388
|
+
pushed commits* never applies — nothing was rewritten, so there is no tip to record first.
|
|
368
389
|
- **No deferrals.** Sami, 2026-09-11, verbatim: "My rule is no deferrals." The `Fast-follow:`
|
|
369
390
|
field names naming, duplication, or wording cleanup only; anything that changes behaviour,
|
|
370
391
|
hides an error, or breaks a gate lands in this PR.
|
|
@@ -586,8 +607,8 @@ remote branch sideways onto your commit and drops theirs (jj 0.45.1:
|
|
|
586
607
|
`bookmark: legion/K [move sideways from <theirs> to <yours>]`). A clone that has not seen the other
|
|
587
608
|
push is refused by jj itself (`unexpectedly moved on the remote`).
|
|
588
609
|
|
|
589
|
-
**Rewriting pushed commits** —
|
|
590
|
-
|
|
610
|
+
**Rewriting pushed commits** — a `jj squash --into` a commit already on GitHub, or any other
|
|
611
|
+
rewrite of a commit you already pushed — leaves the pushed tip outside `::@-`, so record
|
|
591
612
|
that tip first, after a fetch and while your chain still descends from it:
|
|
592
613
|
|
|
593
614
|
```bash
|