Skip to content

docs(swarm): mark "one lifecycle for N executors" RESOLVED (#294)#437

Merged
eris-ths merged 1 commit into
mainfrom
docs/swarm-per-slice-closure-resolved
Jun 17, 2026
Merged

docs(swarm): mark "one lifecycle for N executors" RESOLVED (#294)#437
eris-ths merged 1 commit into
mainfrom
docs/swarm-per-slice-closure-resolved

Conversation

@eris-ths

Copy link
Copy Markdown
Owner

What

docs/swarm.md still listed per-slice closure as a Known
limitation — "gate complete fires once for the wave even when
multiple executors finished different slices; per-slice closure is
not first-class." But #294
(per-executor slice closure) shipped that since. This is doc drift,
not a behavior change.

How it surfaced

Running the worked sequence in § Swarm × Claude SubAgent harness
for real (a two-slice agent-alpha / agent-beta wave on a
throwaway substrate/swarm-experiments/ content_root):

$ gate complete 2026-06-17-0001 --by agent-alpha
✓ executing
open slices remaining:
  - agent-beta  [pending]
$ gate complete 2026-06-17-0001 --by agent-beta
✓ completed
$ gate transcript 2026-06-17-0001
... The wave completed (all slices closed) ...

complete is per-executor; the wave auto-transitions only when the
last slice closes. The docs described the pre-#294 shape.

Changes (docs only)

  • Known-limitations item struck through (kept for the trail per
    the file's own "items are the trail behind the rule" convention)
    with the resolved behavior + the executors object-shape /
    jq '.executors[] | (.name // .)' migration note.
  • step-7 code comment in the worked sequence ("one complete —
    lifecycle is wave-scoped, not per-executor") updated to the
    per-slice complete --by <each> shape with the auto-transition note.
  • changelog fragment .changelog/next/docs-swarm-per-slice-closure-resolved.md.

Verification

Wording cross-checked against CHANGELOG.md #294 entry
(any-fail-wave-fail phase-1 default, #235 phase 2 template-bound
follow-up) and the runtime strings (requestLifecycle.ts "open
slices remaining", transcript.ts "all slices closed"). No code
touched; no tests affected.

docs/swarm.md still listed per-slice closure as a Known limitation
with `gate complete` firing once for the whole wave. #294 (per-
executor slice closure) shipped that since: `gate complete --by X`
is now per-slice, and the wave transitions to completed only when
every executor's slice is terminal.

Surfaced by running the worked sequence for real — `complete --by
agent-alpha` on a two-slice wave reports "open slices remaining:
agent-beta" and leaves the wave executing; the final --by auto-
transitions it. Two drift spots fixed:

- Known-limitations item struck through (kept for the trail) with
  the resolved behavior + executors object-shape / jq migration note.
- step-7 code comment in the worked sequence ("one complete —
  lifecycle is wave-scoped, not per-executor") updated to the per-
  slice `complete --by <each>` shape.

Wording verified against CHANGELOG #294 and the runtime strings
(requestLifecycle.ts "open slices remaining", transcript.ts
"all slices closed").
@eris-ths eris-ths merged commit 4d34c3d into main Jun 17, 2026
5 checks passed
@eris-ths eris-ths deleted the docs/swarm-per-slice-closure-resolved branch June 17, 2026 04:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant