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.
Files changed (43) hide show
  1. package/AGENTS.md +6 -3
  2. package/PRODUCT.md +2 -2
  3. package/README.md +99 -85
  4. package/WORKFLOW.template.yaml +21 -9
  5. package/WORKFLOW.yaml +9 -3
  6. package/dist/core/image/managed-image.js +3 -12
  7. package/dist/core/image/managed-image.js.map +1 -1
  8. package/dist/core/schedule/sleep-cycle.js +11 -6
  9. package/dist/core/schedule/sleep-cycle.js.map +1 -1
  10. package/dist/core/schedule/tick.js +1 -0
  11. package/dist/core/schedule/tick.js.map +1 -1
  12. package/dist/core/workflow/derive.js +2 -0
  13. package/dist/core/workflow/derive.js.map +1 -1
  14. package/dist/core/workflow/parse.js +6 -1
  15. package/dist/core/workflow/parse.js.map +1 -1
  16. package/dist/shell/{cli → adapter}/doctor.js +2 -2
  17. package/dist/shell/adapter/doctor.js.map +1 -0
  18. package/dist/shell/adapter/gondolin-image-fetch.js +17 -6
  19. package/dist/shell/adapter/gondolin-image-fetch.js.map +1 -1
  20. package/dist/shell/{main-scaffold.js → adapter/scaffold.js} +4 -4
  21. package/dist/shell/adapter/scaffold.js.map +1 -0
  22. package/dist/shell/interp/ensure-tracker-root.js +30 -0
  23. package/dist/shell/interp/ensure-tracker-root.js.map +1 -0
  24. package/dist/shell/interp/tracker-disk.js +19 -0
  25. package/dist/shell/interp/tracker-disk.js.map +1 -1
  26. package/dist/shell/interp/vm.js +15 -1
  27. package/dist/shell/interp/vm.js.map +1 -1
  28. package/dist/shell/main-doctor.js +1 -1
  29. package/dist/shell/main-doctor.js.map +1 -1
  30. package/dist/shell/main-http-handler.js +4 -4
  31. package/dist/shell/main-http-handler.js.map +1 -1
  32. package/dist/shell/main-http-views.js +0 -19
  33. package/dist/shell/main-http-views.js.map +1 -1
  34. package/dist/shell/main-preflight.js +1 -1
  35. package/dist/shell/main-preflight.js.map +1 -1
  36. package/dist/shell/main-runner.js +9 -19
  37. package/dist/shell/main-runner.js.map +1 -1
  38. package/dist/shell/main.js +8 -1
  39. package/dist/shell/main.js.map +1 -1
  40. package/package.json +2 -3
  41. package/scripts/postinstall.mjs +24 -1
  42. package/dist/shell/cli/doctor.js.map +0 -1
  43. 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 typecheck` — must pass.
98
- - `npm test` must pass.
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 all three before calling `symphony.transition` into a terminal state.
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, OpenCode) inside isolated per-issue Gondolin microVMs over
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, OpenCode
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
- OpenCode) inside isolated per-issue [Gondolin](https://github.com/earendil-works/gondolin)
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
- The agent signals progress through an injected MCP server (`transition`,
13
- `request_human_steering`, `propose_issue`); the orchestrator handles state,
14
- retry, concurrency, and opens a pull request per issue when configured for
15
- a GitHub remote. In local-only mode the per-issue branch is left in the
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
- The golden path from zero to your first dispatched issue. The details behind
49
- each step live in [Prerequisites in detail](#prerequisites-in-detail) below you
50
- should not need them to get here.
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. Build the agent rootfs image once. This ships only `mise` (jdx/mise) — node +
54
- # the coding-agent CLIs are mise-installed at dispatch, the launcher is injected —
55
- # and tags the result `symphony-agents:latest` — the tag the scaffolded
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 the minimal WORKFLOW.yaml. With no workflow file
61
- # present, symphony offers to write a ~30-line starter (every key required,
62
- # no power features), then exits so you can glance at it.
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
- npx smol-symphony WORKFLOW.yaml
65
-
66
- # 3. Verify the whole setup in one pass before the first dispatch. `symphony
67
- # doctor` runs every adoption-prerequisite probe — Node version, the
68
- # `gondolin.image` pin, each configured adapter's host credential, a
69
- # writable `tracker.root`, and a bindable dashboard port and prints a
70
- # PASS/FAIL line per check with a one-line fix for each failure, exiting 0
71
- # iff every check passes. Unlike startup (which bails on the first failure),
72
- # it runs all probes so you see the whole picture at once.
73
- npx smol-symphony doctor WORKFLOW.yaml
74
-
75
- # 4. Drop one issue into the tracker.
76
- mkdir -p issues/Todo
77
- printf -- '---\ntitle: "Say hi"\n---\nAdd a hi() that returns "hi".\n' > issues/Todo/1.md
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
- The same first-run scaffold also installs an issue-filing skill at
86
- `.claude/skills/symphony-issues/SKILL.md` (best-effort it never blocks the
87
- workflow scaffold), so a coding agent in the freshly-onboarded repo can file
88
- well-formed tracker issues and decompose a large task into a `blocked_by` DAG
89
- from day one.
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 file ([WORKFLOW.minimal.yaml](./WORKFLOW.minimal.yaml) is the shipped
92
- copy) runs as-is once `symphony-agents:latest` exists; the only edits a different
93
- setup needs are `gondolin.image` (if you pinned a build id) and the adapter
94
- credential for your chosen agent. When you want a power feature it omits — typed
95
- action DAGs, PR autopilot, per-state adapters, egress allowlists graduate to
96
- the annotated [WORKFLOW.template.yaml](./WORKFLOW.template.yaml).
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
- (Or `npm i -g smol-symphony` and then `symphony doctor` / `symphony WORKFLOW.yaml`
99
- to skip the `npx` fetchboth invoke the `symphony` bin shipped in this
100
- package.)
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 ≥ 20.**
105
- - **The agent rootfs image** (step 1). Gondolin is the in-process microVM
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 image is built **once** from `images/agents/` via
108
- `npm run build:image`: it starts from `node:24-bookworm-slim`, installs base
109
- CLI tooling, and ships only the `mise` (jdx/mise) binary. node + every
110
- ACP-capable coding agent (`claude-agent-acp`, `codex-acp`, …) are
111
- NO LONGER baked they come from a mise SYSTEM config symphony stages into the
112
- guest at dispatch (`assets/symphony-mise.system.toml`) and installs via
113
- `mise install` into a warm-cached data dir; a consuming repo's own `mise.toml`
114
- adds project toolchains (rust, go, kotlin+gradle, …) on top. The in-VM stdio
115
- launcher is likewise injected at dispatch, not baked. So bumping an agent CLI is
116
- a one-line edit to the staged mise config + a restart — no image rebuild + repin.
117
- The build prints a content-addressed build id; pin it (or the
118
- `symphony-agents:latest` tag) in `WORKFLOW.yaml`'s `gondolin.image`. See
119
- [images/agents/README.md](./images/agents/README.md) for the build steps and
120
- requirements, and `gondolin.mise` in
121
- [WORKFLOW.template.yaml](./WORKFLOW.template.yaml) to tune the data dir or opt out.
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. Symphony reads
124
- it only on the host side: the guest holds only a token-shaped placeholder, and
125
- the host substitutes the real OAuth access token into the outbound request at
126
- Gondolin egress (TLS-MITM). The credential file itself is never staged into
127
- the VM. (For `acp.adapter: codex`, see [WORKFLOW.template.yaml](./WORKFLOW.template.yaml).)
128
- - **Skipping the `npx` fetch.** `npm i -g smol-symphony` installs the `symphony`
129
- bin globally so `symphony WORKFLOW.yaml` works without re-fetching; the image
130
- build still needs a checkout (it lives in `images/agents/`).
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
- `.symphony/logs/symphony.log` only. `tail -f` that file to follow the detail.
135
- Pass `--verbose` (alias `--foreground`) to mirror the structured stream back
136
- to the console for interactive debugging. With no log file configured (the
137
- `SYMPHONY_LOG_FILE=""` override), the structured stream stays on stderr.
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 # 170 tests across workflow, tracker, prompt, workspace,
369
- # adapters, http, mcp, acp-bridge, orchestrator, run log,
370
- # runner state resolution, and tool-call summary surfaces
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
@@ -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 >=1
193
- # issue reached a terminal state since the last cycle (the ">=1
194
- # since last cycle" gate is load-bearing — without it an idle
195
- # orchestrator re-spawns in a tight loop with nothing new to
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 >=1 issue finished since
375
- # the last cycle) or `after_terminal` (a backstop once N issues have reached a
376
- # terminal state since the last cycle). The counter resets on a successful mint;
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 >=1 terminal since last cycle
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
- # >=1 issue reached a terminal state since the last cycle, and `after_terminal`
105
- # as a backstop once that many issues have reached a terminal state since the
106
- # last cycle. The terminal-transition counter resets to 0 on a successful mint.
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 / sha256-sidecar string logic,
9
- // unit-testable without network.
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,kFAAkF;AAClF,iCAAiC;AACjC,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;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,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"}
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 > 0`: an idle
31
- * orchestrator with nothing finished since the last cycle has nothing new to
32
- * reflect on, and spawning anyway would spin (spawn -> reflect -> terminal ->
33
- * idle -> spawn ...) forever. Requiring fresh terminal work breaks that loop
34
- * while still honoring the "sleep when not busy" framing.
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 > 0)
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":"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"}
1
+ {"version":3,"file":"sleep-cycle.js","sourceRoot":"","sources":["../../../src/core/schedule/sleep-cycle.ts"],"names":[],"mappings":"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"}
@@ -276,6 +276,7 @@ function reducePoll(event, snapshot) {
276
276
  enabled: true,
277
277
  onIdle: cfg.spawn.onIdle,
278
278
  afterTerminal: cfg.spawn.afterTerminal,
279
+ idleMinTerminal: cfg.spawn.idleMinTerminal,
279
280
  doneSinceReflect: snapshot.doneSinceReflect,
280
281
  idle,
281
282
  inFlight,
@@ -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":"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"}
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,