This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryThree runtime knobs now configurable via environment variables for operators.
Full changelog
Closes a discoverability gap noticed during a .env audit: three
operator-controllable behaviors were programmatic-only or config-only
without a .env-natural path, so operators tuning prod or test
environments had to write code (or a JSON config) to change them.
v0.18.7 surfaces all three through the standard cascade (CLI flag >
env > config > default).
Three knobs surfaced
| Knob | Env var | Was | Now |
|---|---|---|---|
| Scheduler poll interval | SKILLSCRIPT_POLL_INTERVAL_SECONDS | config + bootstrap | + env path |
| Runtime absolute timeout | SKILLSCRIPT_ABSOLUTE_TIMEOUT_MS | programmatic-only (ctx.absoluteTimeoutMs) | + config + env + bootstrap opt |
| Composition recursion depth ceiling | SKILLSCRIPT_MAX_RECURSION_DEPTH | programmatic-only (ctx.maxRecursionDepth); hardcoded 10 | + config + env + bootstrap opt |
absoluteTimeoutMs defaults to 300_000ms (5 minutes); maxRecursionDepth
defaults to 10 (DEFAULT_MAX_RECURSION_DEPTH); poll interval defaults
to 30 seconds. All values flow through BootstrapOpts → Scheduler
config → per-dispatch ExecuteContext.
Tests
10 new tests in v0.18.7-operator-knobs.test.ts:
- Config schema accepts each new field with positive-integer validation
- Rejects 0 / negative / non-integer / non-numeric values for both
- All three knobs co-set in one config + omission preserves defaults
- Scheduler accepts the two new fields and constructs cleanly
1729 tests total; typecheck clean; LOC budget holds.
Docs
scaffold/.env.example— new "Runtime tuning" section documenting all
three vars with use-case framing + defaultsdocs/configuration.md— env-var precedence table extended; field
docstrings onSkillscriptConfiginterface explain cascade
Adopter migration
None — all changes are additive and backward-compatible. Adopters
relying on the old programmatic-only paths (passing ctx.absoluteTimeoutMs
directly to execute()) continue to work; the new layers just add
operator surfaces below them. Default behavior preserved when env vars
are unset.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Skillscript
All releases →Related context
Related tools
Earlier breaking changes
- v0.35.0 Editing `# Deadline:` on an approved skill drops it to Draft (signature invalidates).
Beta — feedback welcome: [email protected]