smol-symphony 0.3.1 → 0.3.3
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/AGENTS.md +6 -3
- package/PRODUCT.md +2 -2
- package/README.md +99 -85
- package/WORKFLOW.template.yaml +21 -9
- package/WORKFLOW.yaml +9 -3
- package/dist/core/image/managed-image.js +3 -12
- package/dist/core/image/managed-image.js.map +1 -1
- package/dist/core/schedule/sleep-cycle.js +11 -6
- package/dist/core/schedule/sleep-cycle.js.map +1 -1
- package/dist/core/schedule/tick.js +1 -0
- package/dist/core/schedule/tick.js.map +1 -1
- package/dist/core/workflow/derive.js +2 -0
- package/dist/core/workflow/derive.js.map +1 -1
- package/dist/core/workflow/parse.js +6 -1
- package/dist/core/workflow/parse.js.map +1 -1
- package/dist/shell/{cli → adapter}/doctor.js +2 -2
- package/dist/shell/adapter/doctor.js.map +1 -0
- package/dist/shell/adapter/gondolin-image-fetch.js +17 -6
- package/dist/shell/adapter/gondolin-image-fetch.js.map +1 -1
- package/dist/shell/{main-scaffold.js → adapter/scaffold.js} +4 -4
- package/dist/shell/adapter/scaffold.js.map +1 -0
- package/dist/shell/interp/ensure-tracker-root.js +30 -0
- package/dist/shell/interp/ensure-tracker-root.js.map +1 -0
- package/dist/shell/interp/tracker-disk.js +19 -0
- package/dist/shell/interp/tracker-disk.js.map +1 -1
- package/dist/shell/interp/vm.js +15 -1
- package/dist/shell/interp/vm.js.map +1 -1
- package/dist/shell/main-doctor.js +1 -1
- package/dist/shell/main-doctor.js.map +1 -1
- package/dist/shell/main-http-handler.js +4 -4
- package/dist/shell/main-http-handler.js.map +1 -1
- package/dist/shell/main-http-views.js +0 -19
- package/dist/shell/main-http-views.js.map +1 -1
- package/dist/shell/main-preflight.js +1 -1
- package/dist/shell/main-preflight.js.map +1 -1
- package/dist/shell/main-runner.js +9 -19
- package/dist/shell/main-runner.js.map +1 -1
- package/dist/shell/main.js +8 -1
- package/dist/shell/main.js.map +1 -1
- package/package.json +2 -3
- package/scripts/postinstall.mjs +24 -1
- package/dist/shell/cli/doctor.js.map +0 -1
- package/dist/shell/main-scaffold.js.map +0 -1
package/AGENTS.md
CHANGED
|
@@ -94,11 +94,14 @@ re-express, not a directive.
|
|
|
94
94
|
|
|
95
95
|
## Build, test, and check before declaring done
|
|
96
96
|
|
|
97
|
-
- `npm run
|
|
98
|
-
|
|
97
|
+
- `npm run verify` — must pass (typecheck + eslint purity/budgets + depcruise
|
|
98
|
+
walls + the three ratcheted arch gates against `arch-baseline.json` + tests).
|
|
99
|
+
CI runs the same gates, so a red gate here is a red PR.
|
|
99
100
|
- `npm run build` — must pass.
|
|
100
101
|
|
|
101
|
-
Run
|
|
102
|
+
Run both before calling `symphony.transition` into a terminal state. If a gate
|
|
103
|
+
fails "good news" (the count FELL), lower the matching `arch-baseline.json`
|
|
104
|
+
number in the same commit — that is the ratchet locking in the win.
|
|
102
105
|
|
|
103
106
|
## Filing tracker issues
|
|
104
107
|
|
package/PRODUCT.md
CHANGED
|
@@ -23,7 +23,7 @@ process is logging.
|
|
|
23
23
|
|
|
24
24
|
smol-symphony is a small TypeScript orchestrator that takes Markdown issues off a
|
|
25
25
|
local tracker, prepares per-issue workspaces, and runs coding agents
|
|
26
|
-
(Claude Code, Codex
|
|
26
|
+
(Claude Code, Codex) inside isolated per-issue Gondolin microVMs over
|
|
27
27
|
ACP. The
|
|
28
28
|
HTTP dashboard exists to do two things well:
|
|
29
29
|
|
|
@@ -83,7 +83,7 @@ Three patterns this must never resemble:
|
|
|
83
83
|
stuck?" and "is anything running?" Density beats whitespace luxury for
|
|
84
84
|
the running / retry / issue tables.
|
|
85
85
|
|
|
86
|
-
4. **Agents are not the brand.** This tool dispatches Claude, Codex
|
|
86
|
+
4. **Agents are not the brand.** This tool dispatches Claude, Codex —
|
|
87
87
|
it does not perform AI-ness. The product narrative is "small orchestrator
|
|
88
88
|
with isolated VM execution", not "AI-powered work runner". Visual language
|
|
89
89
|
should reflect that.
|
package/README.md
CHANGED
|
@@ -5,15 +5,18 @@
|
|
|
5
5
|
> repository was authored by those agents under human review.
|
|
6
6
|
|
|
7
7
|
A small TypeScript orchestrator that reads issues off a local Markdown tracker,
|
|
8
|
-
prepares per-issue workspaces, and runs coding agents (Claude Code, Codex
|
|
9
|
-
|
|
8
|
+
prepares per-issue workspaces, and runs coding agents (Claude Code, Codex)
|
|
9
|
+
inside isolated per-issue [Gondolin](https://github.com/earendil-works/gondolin)
|
|
10
10
|
microVMs over the [Agent Client Protocol](https://agentclientprotocol.com).
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
a GitHub remote
|
|
16
|
-
workspace for review.
|
|
12
|
+
You file issues; symphony dispatches one agent per issue and handles state,
|
|
13
|
+
retry, and concurrency. The agent signals progress through an injected MCP
|
|
14
|
+
server (`transition`, `request_human_steering`, `propose_issue`). When you point
|
|
15
|
+
it at a GitHub remote it opens a pull request per issue; in local-only mode the
|
|
16
|
+
per-issue `agent/<id>` branch is left in the workspace for review.
|
|
17
|
+
|
|
18
|
+
**New here? Jump to [Quick start](#quick-start)** — install, scaffold, run, with
|
|
19
|
+
no repo checkout and no image to build.
|
|
17
20
|
|
|
18
21
|
```
|
|
19
22
|
┌──────────────────────────────────────────────────────────────────────────┐
|
|
@@ -45,96 +48,103 @@ original architectural narrative, see
|
|
|
45
48
|
|
|
46
49
|
## Quick start
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
From zero to your first dispatched issue. **No repo checkout, no image to build** —
|
|
52
|
+
the agent image is a prebuilt asset symphony fetches from a published release the
|
|
53
|
+
first time it runs.
|
|
51
54
|
|
|
52
55
|
```bash
|
|
53
|
-
# 1.
|
|
54
|
-
#
|
|
55
|
-
|
|
56
|
-
# WORKFLOW.yaml pins, so a first run needs no edit.
|
|
57
|
-
git clone https://github.com/dizk/smol-symphony.git
|
|
58
|
-
cd smol-symphony && npm install && npm run build:image
|
|
56
|
+
# 1. Install symphony. (Or skip this and prefix each command below with `npx`,
|
|
57
|
+
# e.g. `npx smol-symphony doctor WORKFLOW.yaml`.)
|
|
58
|
+
npm i -g smol-symphony
|
|
59
59
|
|
|
60
|
-
# 2. In your project, scaffold
|
|
61
|
-
#
|
|
62
|
-
#
|
|
60
|
+
# 2. In your project, scaffold a starter workflow. With no WORKFLOW.yaml present,
|
|
61
|
+
# symphony offers to write a ~30-line starter (plus a prompts/Todo.md and an
|
|
62
|
+
# issue-filing skill), then exits so you can glance at it. It runs as-is.
|
|
63
63
|
cd /path/to/your/project
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
# 3.
|
|
67
|
-
#
|
|
68
|
-
#
|
|
69
|
-
#
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
#
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
# 5. Run symphony and watch it dispatch.
|
|
80
|
-
npx smol-symphony WORKFLOW.yaml --port 8787
|
|
81
|
-
# Open http://127.0.0.1:8787/ — issue 1 moves from "on disk" into a running
|
|
82
|
-
# session as symphony boots a per-issue microVM and dispatches the agent.
|
|
64
|
+
symphony WORKFLOW.yaml
|
|
65
|
+
|
|
66
|
+
# 3. Check the host is ready before the first dispatch. `doctor` runs every
|
|
67
|
+
# prerequisite probe — Node version, the agent image, your adapter credential,
|
|
68
|
+
# a writable tracker, a bindable dashboard port — and prints a PASS/FAIL line
|
|
69
|
+
# with a one-line fix for each failure, exiting 0 only if every check passes.
|
|
70
|
+
symphony doctor WORKFLOW.yaml
|
|
71
|
+
|
|
72
|
+
# 4. Run symphony. The first run downloads the prebuilt agent image (one-time,
|
|
73
|
+
# surfaced on the dashboard); then it serves the dashboard and starts dispatching.
|
|
74
|
+
symphony WORKFLOW.yaml --port 8787
|
|
75
|
+
|
|
76
|
+
# 5. Open http://127.0.0.1:8787/ and add your first issue from the "new issue"
|
|
77
|
+
# form. symphony picks it up, boots a per-issue microVM, and dispatches the
|
|
78
|
+
# agent — watch the issue move from "on disk" into a running session.
|
|
83
79
|
```
|
|
84
80
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
81
|
+
That's the whole path. Two host prerequisites symphony can't install for you,
|
|
82
|
+
both checked by `doctor` in step 3:
|
|
83
|
+
|
|
84
|
+
- **Node.js ≥ 23.6** (the `engines.node` floor; `doctor` reports your version).
|
|
85
|
+
- **One adapter credential.** For the default `claude` adapter, a
|
|
86
|
+
`~/.claude/.credentials.json` on the host — run `claude login` once. (For
|
|
87
|
+
`codex`, see [WORKFLOW.template.yaml](./WORKFLOW.template.yaml).) The credential
|
|
88
|
+
never enters the VM — see [Trust posture](#trust-posture).
|
|
90
89
|
|
|
91
|
-
The scaffolded
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
the
|
|
90
|
+
The scaffolded [WORKFLOW.minimal.yaml](./WORKFLOW.minimal.yaml) runs as-is on the
|
|
91
|
+
managed image; the only edits a different setup needs are that adapter credential
|
|
92
|
+
and — if you'd rather pin your own image than fetch the managed one —
|
|
93
|
+
`gondolin.image`. The first-run scaffold also drops an issue-filing skill at
|
|
94
|
+
`.claude/skills/symphony-issues/SKILL.md` (best-effort — it never blocks the
|
|
95
|
+
scaffold), so a coding agent in the freshly-onboarded repo can file well-formed
|
|
96
|
+
tracker issues and decompose a large task into a `blocked_by` DAG from day one.
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
When you want a power feature the starter omits — typed action DAGs, PR autopilot,
|
|
99
|
+
per-state adapters, egress allowlists, sleep-cycle reflection — graduate to the
|
|
100
|
+
annotated [WORKFLOW.template.yaml](./WORKFLOW.template.yaml). Full detail behind
|
|
101
|
+
each step is in [Prerequisites in detail](#prerequisites-in-detail) — you should
|
|
102
|
+
not need it to get here.
|
|
101
103
|
|
|
102
104
|
### Prerequisites in detail
|
|
103
105
|
|
|
104
|
-
- **Node.js ≥
|
|
105
|
-
|
|
106
|
+
- **Node.js ≥ 23.6.** The `engines.node` floor; `symphony doctor` reports your
|
|
107
|
+
running version against it.
|
|
108
|
+
- **The agent image — fetched, not built.** Gondolin is the in-process microVM
|
|
106
109
|
substrate (`@earendil-works/gondolin`), so there is no separate VM daemon to
|
|
107
|
-
run. The
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
adds project toolchains (rust, go, kotlin+gradle, …) on
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
`
|
|
119
|
-
[images/agents/README.md](./images/agents/README.md)
|
|
120
|
-
|
|
121
|
-
|
|
110
|
+
run. The scaffolded workflow sets `gondolin.image: managed`, which fetches a
|
|
111
|
+
**prebuilt** agent rootfs from a published smol-symphony release on first run —
|
|
112
|
+
one asset per host arch (`x86_64`, `aarch64`), keyed to the symphony version.
|
|
113
|
+
No docker, no `npm run build:image`, no local OCI convert. The image ships only
|
|
114
|
+
the `mise` (jdx/mise) binary; node + every ACP-capable coding agent CLI
|
|
115
|
+
(`claude-agent-acp`, `codex-acp`) come from a mise SYSTEM config symphony stages
|
|
116
|
+
into the guest at dispatch (`assets/symphony-mise.system.toml`), and a consuming
|
|
117
|
+
repo's own `mise.toml` adds project toolchains (rust, go, kotlin+gradle, …) on
|
|
118
|
+
top. So bumping an agent CLI is a one-line edit to the staged mise config + a
|
|
119
|
+
restart — no image rebuild. On an unsupported arch (no published asset), or when
|
|
120
|
+
you'd rather build/pin your own, set `gondolin.image` to a local build id /
|
|
121
|
+
`name:tag` (`npm run build:image` from a checkout prints one — see
|
|
122
|
+
[images/agents/README.md](./images/agents/README.md)) or `gondolin.oci_image` to
|
|
123
|
+
an OCI ref symphony auto-converts on first reconcile. Tune the managed fetch and
|
|
124
|
+
the mise data dir via the `gondolin` keys in
|
|
125
|
+
[WORKFLOW.template.yaml](./WORKFLOW.template.yaml).
|
|
122
126
|
- **An adapter credential.** For the default `acp.adapter: claude`: a
|
|
123
|
-
credentials file at `~/.claude/.credentials.json` on the host
|
|
124
|
-
it only on the host side: the guest holds
|
|
125
|
-
the host substitutes the real OAuth access
|
|
126
|
-
Gondolin egress (TLS-MITM). The credential
|
|
127
|
-
the VM. (For `acp.adapter: codex`, see
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
credentials file at `~/.claude/.credentials.json` on the host (run
|
|
128
|
+
`claude login` once). Symphony reads it only on the host side: the guest holds
|
|
129
|
+
only a token-shaped placeholder, and the host substitutes the real OAuth access
|
|
130
|
+
token into the outbound request at Gondolin egress (TLS-MITM). The credential
|
|
131
|
+
file itself is never staged into the VM. (For `acp.adapter: codex`, see
|
|
132
|
+
[WORKFLOW.template.yaml](./WORKFLOW.template.yaml).)
|
|
133
|
+
- **Where state lives.** The tracker, run logs, and per-issue workspaces default
|
|
134
|
+
to `~/.symphony/{trackers,logs,workspaces}/<project>` — outside your repo, so a
|
|
135
|
+
delete / re-clone doesn't wipe them. `<project>` is derived from
|
|
136
|
+
`workspace.github_repo` (or the workflow-file directory name). The startup
|
|
137
|
+
banner prints the resolved tracker root, workspace root, dashboard URL, and log
|
|
138
|
+
file; override any with the matching `*.root` key (e.g. `tracker.root: ./issues`
|
|
139
|
+
to keep issues inside the repo).
|
|
131
140
|
- **Console output.** With the default log file configured, symphony prints a
|
|
132
141
|
one-line-per-field startup banner (workflow, tracker root, dashboard URL,
|
|
133
|
-
log-file path) and routes the structured `key=value` stream to
|
|
134
|
-
|
|
135
|
-
Pass `--verbose` (alias `--foreground`) to mirror the
|
|
136
|
-
to the console for interactive debugging. With no log
|
|
137
|
-
`SYMPHONY_LOG_FILE=""` override), the structured stream
|
|
142
|
+
log-file path) and routes the structured `key=value` stream to the log file only
|
|
143
|
+
(`~/.symphony/logs/<project>/symphony.log` by default). `tail -f` that file to
|
|
144
|
+
follow the detail. Pass `--verbose` (alias `--foreground`) to mirror the
|
|
145
|
+
structured stream back to the console for interactive debugging. With no log
|
|
146
|
+
file configured (the `SYMPHONY_LOG_FILE=""` override), the structured stream
|
|
147
|
+
stays on stderr.
|
|
138
148
|
|
|
139
149
|
### From a checkout
|
|
140
150
|
|
|
@@ -365,12 +375,16 @@ posture:
|
|
|
365
375
|
|
|
366
376
|
```bash
|
|
367
377
|
npm run typecheck # tsc --noEmit
|
|
368
|
-
npm test #
|
|
369
|
-
#
|
|
370
|
-
#
|
|
378
|
+
npm test # ~1400 tests across the core deciders + shell adapters:
|
|
379
|
+
# workflow, tracker, prompt, workspace, adapters, http, mcp,
|
|
380
|
+
# acp-bridge, orchestrator, run log, and runner state resolution
|
|
371
381
|
npm run build # tsc emit to dist/
|
|
372
382
|
```
|
|
373
383
|
|
|
384
|
+
`npm run verify` runs the full gate set CI enforces: typecheck, the eslint
|
|
385
|
+
purity/budget rules, the dependency-cruiser layering walls, the ratcheted
|
|
386
|
+
architecture gates, and the tests.
|
|
387
|
+
|
|
374
388
|
An end-to-end smoke run needs the built agent image (see `images/agents/`).
|
|
375
389
|
|
|
376
390
|
See [CHANGELOG.md](./CHANGELOG.md) for operator-visible changes between
|
package/WORKFLOW.template.yaml
CHANGED
|
@@ -189,11 +189,20 @@ tracker:
|
|
|
189
189
|
# a trigger fires the orchestrator MINTS a FRESH ephemeral issue into
|
|
190
190
|
# this state (it runs once and terminates in a dedicated terminal),
|
|
191
191
|
# instead of re-arming one immortal parked ticket. Fields:
|
|
192
|
-
# • on_idle (bool): spawn when the orchestrator is idle AND
|
|
193
|
-
#
|
|
194
|
-
# since last cycle" gate is load-bearing —
|
|
195
|
-
# orchestrator re-spawns in a tight loop with
|
|
196
|
-
# mine). Default false.
|
|
192
|
+
# • on_idle (bool): spawn when the orchestrator is idle AND at
|
|
193
|
+
# least `idle_min_terminal` issues reached a terminal state since
|
|
194
|
+
# the last cycle (the "since last cycle" gate is load-bearing —
|
|
195
|
+
# without it an idle orchestrator re-spawns in a tight loop with
|
|
196
|
+
# nothing new to mine). Default false.
|
|
197
|
+
# • idle_min_terminal (int): the idle trigger's signal floor — the
|
|
198
|
+
# minimum terminal transitions since the last cycle that on_idle
|
|
199
|
+
# requires before it fires. Default 1 (fire on any single finish,
|
|
200
|
+
# the historic behavior). Raise it to reflect only once enough new
|
|
201
|
+
# signal has accumulated, collapsing strings of single-finish idle
|
|
202
|
+
# cycles into one; the after_terminal backstop still covers busy
|
|
203
|
+
# stretches, so reflection never starves. Keep it >= 1 — a floor of
|
|
204
|
+
# 0 lets the idle trigger fire with nothing finished, reintroducing
|
|
205
|
+
# the tight re-spawn loop. Has no effect when on_idle is false.
|
|
197
206
|
# • after_terminal (int): a backstop for busy stretches that never
|
|
198
207
|
# go idle — spawn once this many issues have reached a terminal
|
|
199
208
|
# state (Done/Cancelled/the spawn's terminal) since the last
|
|
@@ -371,9 +380,10 @@ states:
|
|
|
371
380
|
# checks the lesson against the evidence rather than the reflector's summary.
|
|
372
381
|
#
|
|
373
382
|
# CADENCE: the orchestrator auto-spawns a fresh reflection issue from the
|
|
374
|
-
# Reflect state's `spawn:` block — `on_idle` (idle with
|
|
375
|
-
# the last cycle) or `after_terminal` (a backstop
|
|
376
|
-
# terminal state since the last cycle). The counter
|
|
383
|
+
# Reflect state's `spawn:` block — `on_idle` (idle with >=`idle_min_terminal`
|
|
384
|
+
# issues finished since the last cycle; default 1) or `after_terminal` (a backstop
|
|
385
|
+
# once N issues have reached a terminal state since the last cycle). The counter
|
|
386
|
+
# resets on a successful mint;
|
|
377
387
|
# `max_in_flight: 1` prevents a second cycle while one is live. An operator can
|
|
378
388
|
# also mint a cycle by hand by creating a Reflect issue (a real dashboard
|
|
379
389
|
# "reflect now" button or a `symphony reflect` verb is a natural fit) — a clean
|
|
@@ -392,6 +402,7 @@ states:
|
|
|
392
402
|
# allowed_transitions: [Reflected]
|
|
393
403
|
# spawn:
|
|
394
404
|
# on_idle: true
|
|
405
|
+
# idle_min_terminal: 3 # idle signal floor (default 1); >=N finished since last cycle
|
|
395
406
|
# after_terminal: 10 # backstop for busy stretches (0 disables)
|
|
396
407
|
# title: "Reflection {{ stamp }}"
|
|
397
408
|
# max_in_flight: 1 # never two reflections live at once
|
|
@@ -470,7 +481,8 @@ pr:
|
|
|
470
481
|
# role: active
|
|
471
482
|
# allowed_transitions: [Reflected]
|
|
472
483
|
# spawn:
|
|
473
|
-
# on_idle: true # spawn when idle with >=
|
|
484
|
+
# on_idle: true # spawn when idle with >=idle_min_terminal finished since last cycle
|
|
485
|
+
# idle_min_terminal: 3 # idle signal floor (default 1)
|
|
474
486
|
# after_terminal: 10 # spawn after N terminal transitions (0 disables)
|
|
475
487
|
# title: "Reflection {{ stamp }}"
|
|
476
488
|
# max_in_flight: 1 # never two reflections live at once
|
package/WORKFLOW.yaml
CHANGED
|
@@ -101,9 +101,14 @@ states:
|
|
|
101
101
|
allowed_transitions: [Reflected]
|
|
102
102
|
# Recurring spawn trigger. This active state mints a FRESH ephemeral
|
|
103
103
|
# reflection issue into itself: `on_idle` when the orchestrator is idle and
|
|
104
|
-
#
|
|
105
|
-
# as a backstop once that many issues have reached
|
|
106
|
-
# last cycle. The terminal-transition counter resets
|
|
104
|
+
# `idle_min_terminal` issues have reached a terminal state since the last
|
|
105
|
+
# cycle, and `after_terminal` as a backstop once that many issues have reached
|
|
106
|
+
# a terminal state since the last cycle. The terminal-transition counter resets
|
|
107
|
+
# to 0 on a successful mint. `idle_min_terminal: 3` raises the idle signal floor
|
|
108
|
+
# (was a hardcoded >=1): a quiet period reflects once >=3 issues have finished,
|
|
109
|
+
# collapsing strings of single-finish idle cycles into one and skipping cycles
|
|
110
|
+
# with too little new signal. The `after_terminal: 10` backstop still covers
|
|
111
|
+
# busy stretches, so reflection never starves.
|
|
107
112
|
# `max_in_flight: 1` is load-bearing — it replaces the immortal ticket's
|
|
108
113
|
# built-in "one location = one reflection" mutex, so a busy stretch never mints
|
|
109
114
|
# a second cycle while one is still live. `title` stamps the mint time
|
|
@@ -113,6 +118,7 @@ states:
|
|
|
113
118
|
# approve/discard, so this does not bypass the human gate.
|
|
114
119
|
spawn:
|
|
115
120
|
on_idle: true
|
|
121
|
+
idle_min_terminal: 3
|
|
116
122
|
after_terminal: 10
|
|
117
123
|
title: "Reflection {{ stamp }}"
|
|
118
124
|
max_in_flight: 1
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
// project is `scaffold → run`: no `npm run build:image`, no docker, no local
|
|
6
6
|
// OCI→gondolin convert. The runtime fetch+import IO lives in the shell adapter
|
|
7
7
|
// (`src/shell/adapter/gondolin-image-fetch.ts`); THIS module is the pure half — the
|
|
8
|
-
// asset-name / store-ref / download-URL / arch-map
|
|
9
|
-
//
|
|
8
|
+
// asset-name / store-ref / download-URL / arch-map string logic, unit-testable
|
|
9
|
+
// without network. (The sha256-sidecar parse lives WITH its only caller in the fetch
|
|
10
|
+
// adapter, so no shell module outside the composition root needs a core import.)
|
|
10
11
|
//
|
|
11
12
|
// HARD CONSTRAINTS (functional core): 100% synchronous; no IO, node: imports,
|
|
12
13
|
// process, clock, or randomness. Every function is (data) -> data.
|
|
@@ -55,16 +56,6 @@ export function managedReleaseTags(version) {
|
|
|
55
56
|
export function managedAssetUrl(repo, tag, assetName) {
|
|
56
57
|
return `https://github.com/${repo}/releases/download/${tag}/${assetName}`;
|
|
57
58
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Parse a `.sha256` sidecar's content → the lowercased hex digest, or null when it is
|
|
60
|
-
* absent / malformed. The sidecar is either a bare digest or the `sha256sum` form
|
|
61
|
-
* (`<digest>␠␠<filename>`); we take the first whitespace-delimited token. A null
|
|
62
|
-
* return is the fetcher's "refuse to import unverified" signal.
|
|
63
|
-
*/
|
|
64
|
-
export function parseSha256Sidecar(content) {
|
|
65
|
-
const token = content.trim().split(/\s+/)[0] ?? '';
|
|
66
|
-
return /^[0-9a-f]{64}$/i.test(token) ? token.toLowerCase() : null;
|
|
67
|
-
}
|
|
68
59
|
/**
|
|
69
60
|
* Build the managed-image wiring for this host, or null when the arch has no
|
|
70
61
|
* published asset (the managed source is then inert — `resolveImagePath` falls back
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-image.js","sourceRoot":"","sources":["../../../src/core/image/managed-image.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,6EAA6E;AAC7E,+EAA+E;AAC/E,oFAAoF;AACpF,
|
|
1
|
+
{"version":3,"file":"managed-image.js","sourceRoot":"","sources":["../../../src/core/image/managed-image.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,6EAA6E;AAC7E,+EAA+E;AAC/E,oFAAoF;AACpF,+EAA+E;AAC/E,qFAAqF;AACrF,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,mEAAmE;AAOnE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD;;;gDAGgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,mBAAmB,IAAI,UAAU,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,OAAO,mBAAmB,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,SAAiB;IAC1E,OAAO,sBAAsB,IAAI,sBAAsB,GAAG,IAAI,SAAS,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAIvC;IACC,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAClF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChE,GAAG;QACH,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;QAC/C,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS;KAC7D,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI;QACJ,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;QACxC,SAAS;QACT,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -27,11 +27,16 @@
|
|
|
27
27
|
* The done-threshold trigger takes precedence over idle when both hold (it's
|
|
28
28
|
* the stronger, count-based signal — handy for the operator-visible log line).
|
|
29
29
|
*
|
|
30
|
-
* The idle trigger is deliberately gated on `doneSinceReflect
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* while still honoring the "sleep
|
|
30
|
+
* The idle trigger is deliberately gated on `doneSinceReflect >= idleMinTerminal`
|
|
31
|
+
* (a configurable signal floor; default 1). An idle orchestrator with nothing
|
|
32
|
+
* finished since the last cycle has nothing new to reflect on, and spawning
|
|
33
|
+
* anyway would spin (spawn -> reflect -> terminal -> idle -> spawn ...) forever.
|
|
34
|
+
* Requiring fresh terminal work breaks that loop while still honoring the "sleep
|
|
35
|
+
* when not busy" framing. Raising the floor above 1 collapses several quiet
|
|
36
|
+
* single-finish moments into one cycle (reflect only once enough signal has
|
|
37
|
+
* accumulated); the `afterTerminal` backstop still covers busy stretches, so
|
|
38
|
+
* reflection never starves. (Keep the floor >= 1: a floor of 0 lets the idle
|
|
39
|
+
* trigger fire with nothing finished, reintroducing the spin loop above.)
|
|
35
40
|
*
|
|
36
41
|
* `max_in_flight` is load-bearing: minting removed the immortal ticket's built-in
|
|
37
42
|
* "one location = one reflection" mutex, so without this guard a busy stretch's
|
|
@@ -62,7 +67,7 @@ function decideTrigger(input) {
|
|
|
62
67
|
if (input.afterTerminal > 0 && input.doneSinceReflect >= input.afterTerminal) {
|
|
63
68
|
return 'done_threshold';
|
|
64
69
|
}
|
|
65
|
-
if (input.onIdle && input.idle && input.doneSinceReflect
|
|
70
|
+
if (input.onIdle && input.idle && input.doneSinceReflect >= input.idleMinTerminal)
|
|
66
71
|
return 'idle';
|
|
67
72
|
return null;
|
|
68
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sleep-cycle.js","sourceRoot":"","sources":["../../../src/core/schedule/sleep-cycle.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,yEAAyE;AACzE,gFAAgF;AAChF,4EAA4E;AAC5E,kFAAkF;AAClF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,kFAAkF;AAClF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,qEAAqE;AACrE,4EAA4E;AAC5E,6DAA6D;AAW7D
|
|
1
|
+
{"version":3,"file":"sleep-cycle.js","sourceRoot":"","sources":["../../../src/core/schedule/sleep-cycle.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,yEAAyE;AACzE,gFAAgF;AAChF,4EAA4E;AAC5E,kFAAkF;AAClF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,kFAAkF;AAClF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,qEAAqE;AACrE,4EAA4E;AAC5E,6DAA6D;AAW7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,gFAAgF;IAChF,2EAA2E;IAC3E,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO;QACL,OAAO;QACP,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;QACrD,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;KACtG,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,SAAS,aAAa,CAAC,KAAiB;IACtC,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7E,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe;QAAE,OAAO,MAAM,CAAC;IACjG,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,MAAc;IACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,0FAA0F;AAC1F,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAChB,OAA0B,EAC1B,gBAAwB,EACxB,aAAqB,EACrB,MAAc,EACd,MAAqB;IAErB,MAAM,GAAG,GACP,OAAO,KAAK,gBAAgB;QAC1B,CAAC,CAAC,GAAG,gBAAgB,gFAAgF,aAAa,IAAI;QACtH,CAAC,CAAC,mCAAmC,gBAAgB,qDAAqD,CAAC;IAC/G,OAAO;QACL,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC;QACvE,EAAE;QACF,YAAY,OAAO,MAAM,GAAG,EAAE;QAC9B,eAAe,MAAM,GAAG;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CACtC,gBAAwB,EACxB,KAA8B,EAC9B,UAAyB;IAEzB,oDAAoD;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,gBAAgB,CAAC;IACzC,MAAM,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;IAChC,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,QAAQ;QAAE,OAAO,gBAAgB,CAAC;IAC1C,gFAAgF;IAChF,uEAAuE;IACvE,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE;QAAE,OAAO,gBAAgB,CAAC;IACrF,OAAO,gBAAgB,GAAG,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/core/schedule/tick.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/core/schedule/tick.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,7 @@ export function deriveSpawnRouting(states) {
|
|
|
54
54
|
spawnState: name,
|
|
55
55
|
onIdle: sc.spawn.on_idle,
|
|
56
56
|
afterTerminal: sc.spawn.after_terminal,
|
|
57
|
+
idleMinTerminal: sc.spawn.idle_min_terminal,
|
|
57
58
|
title: sc.spawn.title,
|
|
58
59
|
body: sc.spawn.body,
|
|
59
60
|
maxInFlight: sc.spawn.max_in_flight,
|
|
@@ -63,6 +64,7 @@ export function deriveSpawnRouting(states) {
|
|
|
63
64
|
spawnState: null,
|
|
64
65
|
onIdle: false,
|
|
65
66
|
afterTerminal: 0,
|
|
67
|
+
idleMinTerminal: 1,
|
|
66
68
|
title: 'Reflection {{ stamp }}',
|
|
67
69
|
body: null,
|
|
68
70
|
maxInFlight: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/core/workflow/derive.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,6EAA6E;AAC7E,kFAAkF;AAClF,oDAAoD;AASpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmC;IACjE,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,QAAQ,GAAkC,QAAQ,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,SAAS;QAC/C,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC5C,UAAU,GAAG,IAAI,CAAC;YAClB,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC;YAC5B,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC;QACxD,CAAC;QACD,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACvC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmC;IACpE,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,KAAK;YAAE,SAAS;QAChD,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO;YACxB,aAAa,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc;YACtC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;YACrB,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI;YACnB,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa;SACpC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,CAAC;QAChB,KAAK,EAAE,wBAAwB;QAC/B,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,CAAC;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAkB,EAClB,SAAiB;IAEjB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,MAAM,CAAC,GAAG,CAAE,CAAC,OAAO,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAkB,EAClB,OAAgC;IAEhC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/core/workflow/derive.ts"],"names":[],"mappings":"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"}
|
|
@@ -530,13 +530,17 @@ function parseStateSpawnBlock(stateName, raw) {
|
|
|
530
530
|
if (raw === undefined || raw === null)
|
|
531
531
|
return undefined;
|
|
532
532
|
if (typeof raw !== 'object' || Array.isArray(raw)) {
|
|
533
|
-
throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn must be a map (on_idle / after_terminal / title / body / max_in_flight)`);
|
|
533
|
+
throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn must be a map (on_idle / after_terminal / idle_min_terminal / title / body / max_in_flight)`);
|
|
534
534
|
}
|
|
535
535
|
const m = raw;
|
|
536
536
|
const afterTerminal = asInt(m['after_terminal'], 0);
|
|
537
537
|
if (afterTerminal < 0) {
|
|
538
538
|
throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn.after_terminal must be a non-negative integer (0 disables the terminal-count trigger)`);
|
|
539
539
|
}
|
|
540
|
+
const idleMinTerminal = asInt(m['idle_min_terminal'], 1);
|
|
541
|
+
if (idleMinTerminal < 0) {
|
|
542
|
+
throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn.idle_min_terminal must be a non-negative integer (the idle trigger's signal floor; default 1)`);
|
|
543
|
+
}
|
|
540
544
|
const maxInFlight = asInt(m['max_in_flight'], 1);
|
|
541
545
|
if (maxInFlight < 1) {
|
|
542
546
|
throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn.max_in_flight must be a positive integer (>= 1)`);
|
|
@@ -548,6 +552,7 @@ function parseStateSpawnBlock(stateName, raw) {
|
|
|
548
552
|
return {
|
|
549
553
|
on_idle: m['on_idle'] === true,
|
|
550
554
|
after_terminal: afterTerminal,
|
|
555
|
+
idle_min_terminal: idleMinTerminal,
|
|
551
556
|
title,
|
|
552
557
|
body,
|
|
553
558
|
max_in_flight: maxInFlight,
|