@sjawhar/pi-legion 10.19.9 → 10.19.10

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/legion.js CHANGED
@@ -16932,7 +16932,7 @@ async function bootLegionClaim(host2) {
16932
16932
  // package.json
16933
16933
  var package_default = {
16934
16934
  name: "@sjawhar/pi-legion",
16935
- version: "10.19.9",
16935
+ version: "10.19.10",
16936
16936
  license: "Apache-2.0",
16937
16937
  type: "module",
16938
16938
  omp: {
@@ -170,14 +170,30 @@ what failed.
170
170
 
171
171
  Then push both commits with one push, so one CI run covers them (`<KEY>` is your `LEGION_ISSUE`):
172
172
  `cd -- "$LEGION_WORKSPACE" && jj -R "$LEGION_WORKSPACE" bookmark set legion/<KEY> -r @- && jj -R "$LEGION_WORKSPACE" git push --bookmark legion/<KEY>`.
173
- It carries `docs/solutions/` and the removal of `.legion/<KEY>/`, so it is not a handoff-only
174
- push: its head's message never ends with `skip-checks: true` and carries none of GitHub's
175
- `[skip ci]`-family keywords (`skill://legion-worker`, *Every role pushes its own commits*). When
176
- the push is refused after step 4 wrote the body (`jj git push` refuses a branch another role
173
+ Its head's message never ends with `skip-checks: true` and carries none of GitHub's
174
+ `[skip ci]`-family keywords (`skill://legion-worker`, *Every role pushes its own commits*).
175
+ Retro's push never carries the line, whatever paths it touches, because it is the last push before the merge and a base that requires a check will not merge a head whose checks never ran.
176
+ When the push is refused after step 4 wrote the body (`jj git push` refuses a branch another role
177
177
  moved; never force), write `<dir>/before.md` back the same way before you report the refusal to
178
- the architect with its output, so the body matches the head GitHub has. After the push, post one
179
- Dispatch message on
180
- the issue — `--issue` is your `LEGION_ISSUE`; Legion issues live on Dispatch, never on a GitHub
178
+ the architect with its output, so the body matches the head GitHub has.
179
+
180
+ When you have already pushed a head that wrongly carries the line — under an older copy of these
181
+ instructions, say — read that pushed head's own commit message first and confirm it ends with
182
+ `skip-checks: true`:
183
+ `cd -- "$LEGION_WORKSPACE" && jj -R "$LEGION_WORKSPACE" log -r <the pushed head> --no-graph -T description`.
184
+ The fix is to describe that same commit again without the line and push it once, which is the
185
+ rewrite of an already-pushed commit:
186
+ `skill://legion-worker/references/conflicts-and-rewrites.md#rewriting-pushed-commits`. Run that
187
+ section's guard first; a non-empty guard result means another tree's work is built on the commit,
188
+ so do not rewrite it — report the listed commits to the architect instead. Once the guard has
189
+ cleared, the bookmark moves backwards with `--allow-backwards` and the branch is pushed once:
190
+ that is the one non-fast-forward move the rewrite section sanctions, and not the force this
191
+ skill's push step forbids when `jj git push` refuses a branch another role moved. The rewritten
192
+ head is a code head, so GitHub runs the base branch's required checks on it from scratch, and the
193
+ merge waits for them.
194
+
195
+ After the push, post one Dispatch message on the issue — `--issue` is your `LEGION_ISSUE`; Legion
196
+ issues live on Dispatch, never on a GitHub
181
197
  issue, so no `gh issue` write and no GitHub-issue comment — naming the documents, the
182
198
  one-to-three most useful takeaways, the two proofs you read, and the production check that
183
199
  follows the merge's close of the issue. The message must carry this revived implementer's structured
@@ -386,27 +386,27 @@ cd -- "$LEGION_WORKSPACE" && jj -R "$LEGION_WORKSPACE" bookmark set legion/<KEY>
386
386
 
387
387
  A push whose commits touch only `.legion/` (a handoff-only push) ends its head's commit message
388
388
  with `skip-checks: true` as the last line, preceded by two empty lines, so GitHub starts no
389
- workflow run for it and the daemon carries the code head's verdict to it. GitHub honours the
390
- trailer only in that shape — the last line, after two empty lines; one empty line is not enough,
391
- and GitHub then starts every workflow as if the line were not there (a planner's handoff push
392
- did exactly that in the first live run of this rule). jj keeps the two lines as written, where
393
- `git commit`'s default cleanup would collapse them. Write the line with trailers off for the one
394
- describe, since the pane's jj overlay would otherwise append `Omp-Session:` after it:
389
+ workflow run for it and the daemon carries the code head's verdict to it.
390
+ Retro's push never carries the line, whatever paths it touches, because it is the last push before the merge and a base that requires a check will not merge a head whose checks never ran.
391
+ GitHub honours the trailer only in that shape — the last line, after two empty lines; one empty line
392
+ is not enough, and GitHub then starts every workflow as if the line were not there (a planner's
393
+ handoff push did exactly that in the first live run of this rule). jj keeps the two lines as
394
+ written, where `git commit`'s default cleanup would collapse them. Write the line with trailers off
395
+ for the one describe, since the pane's jj overlay would otherwise append `Omp-Session:` after it:
395
396
 
396
397
  ```bash
397
398
  jj -R "$LEGION_WORKSPACE" describe -r @- --config 'templates.commit_trailers=""' -m "$(jj -R "$LEGION_WORKSPACE" log -r @- --no-graph -T description)"$'\n\n\nskip-checks: true'
398
399
  ```
399
400
 
400
- Every other push — code, red tests, `docs/solutions/`, retro's removal of `.legion/<KEY>/`, a
401
- forward merge, a rewrite — carries no such line and none of GitHub's bracket keywords
402
- (`[skip ci]`, `[ci skip]`, `[no ci]`, `[skip actions]`, `[actions skip]`), which start no workflow
403
- wherever they stand. The daemon classifies a push by the paths its commits touch, never by the
404
- trailer: a wrong trailer stalls the issue (a trailered code push gets no verdict carried; a head
405
- with no CI is refused at READY) and never passes it. While the head commit carries
406
- `skip-checks: true`, a pull-request body edit alone starts no GitHub workflow run, so a check that
407
- re-judges the body re-runs on that head only after a later push; on a code head the same edit
408
- re-runs it at once. While the pull request conflicts with its base (GitHub shows it
409
- `CONFLICTING`), no workflow triggered `on: pull_request` runs for any of its activity types, so
401
+ Every other push — code, red tests, `docs/solutions/`, a forward merge, a rewrite — carries no such
402
+ line and none of GitHub's bracket keywords (`[skip ci]`, `[ci skip]`, `[no ci]`, `[skip actions]`,
403
+ `[actions skip]`), which start no workflow wherever they stand. The daemon classifies a push by the
404
+ paths its commits touch, never by the trailer: a wrong trailer stalls the issue (a trailered code
405
+ push gets no verdict carried; a head with no CI is refused at READY) and never passes it. While the
406
+ head commit carries `skip-checks: true`, a pull-request body edit alone starts no GitHub workflow
407
+ run, so a check that re-judges the body re-runs on that head only after a later push; on a code
408
+ head the same edit re-runs it at once. While the pull request conflicts with its base (GitHub shows
409
+ it `CONFLICTING`), no workflow triggered `on: pull_request` runs for any of its activity types, so
410
410
  a body edit re-judges nothing there either; a push cures both, but only once the pull request is
411
411
  mergeable, so the implementer forward-merges a conflicting one first (*Reintegrating the base* in
412
412
  `skill://legion-worker/references/conflicts-and-rewrites.md`).
@@ -23,9 +23,10 @@ it, and any other change to the head voids it.
23
23
  `task(agent="thermonuclear-code-quality")` once at that head — the head the round reviews —
24
24
  and records the verdict. The `CI` fact is the checks that stand for the code under review:
25
25
  those GitHub ran for the newest push of the branch that started `pull_request` workflows, when
26
- every commit above that push's head changes only `.legion/` (a push that changes only
27
- `.legion/` carries `skip-checks: true`, so GitHub runs no workflow for it). With `<o>/<r>`,
28
- `<n>`, `<base>`, `<headRefName>` and `<headRefOid>` from
26
+ every commit above that push's head changes only `.legion/` (GitHub starts no workflow run for a
27
+ head whose commit message carries `skip-checks: true`, which every handoff-only push before
28
+ retro does; retro's push carries no such line, so its head does get GitHub's workflow runs of
29
+ its own). With `<o>/<r>`, `<n>`, `<base>`, `<headRefName>` and `<headRefOid>` from
29
30
  `gh pr view <n> --json baseRefName,headRefOid,headRefName`, four reads. The required set is the
30
31
  base branch's rulesets' required checks and its branch protection's, when it has any. Both
31
32
  branch endpoints take the base as a URL path, each segment escaped and each `/` kept (a raw `#`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/pi-legion",
3
- "version": "10.19.9",
3
+ "version": "10.19.10",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "omp": {