Skip to content

feat: run settings via StepCtx.settings (RFC 009) - #1

Merged
vitalics merged 4 commits into
mainfrom
feat/oss-settings
Nov 1, 2026
Merged

vitalics merged 4 commits into
mainfrom
feat/oss-settings

Conversation

@vitalics

@vitalics vitalics commented Nov 1, 2026

Copy link
Copy Markdown
Contributor
  • Precedence: step with: > extensions[nodejs] > variables[nodejs] > library with: > built-in defaults; env maps merge in that order
  • Claims the nodejs config extension key via configSchema; invalid settings are hard errors; library with: validated at init
  • 26 runtime-free tests green; wasm builds; CI (pinned actions, least privileges) builds the component and runs it through perfscale v0.30.0
  • Process/capability gates untouched; no ambient host env

… > library with

- every step knob (node-version, install-dir, node-path, cwd, timeout, env)
  resolvable from run settings; explicit step with wins; env maps merge
  extension > variables > library with over the default PATH
- claims the 'nodejs' config extension key via configSchema (unknown keys
  fail the run); invalid settings blocks are hard errors
- library-level with defaults validated at init
- tests: 26 passing (precedence, env merge, invalid blocks, init)
- CI: pinned actions, SDK pinned to 522cfdd, perfscale v0.30.0 engine e2e
The SDK package resolves main/types from dist/; npm ci alone left no
dist, so tsc failed with TS2307/implicit-any. npm run build added after
npm ci; verified locally against a dist-less SDK checkout.
…d node

The host import hard-errors on spawn-ENOENT, so the cold-cache
'node --version' probe aborted install before any download. Probe with
test -x first; also build the SDK in CI (dist + d.ts) so tsc resolves
@perfscale/library-sdk.
…e-path)

Relative install-dir made the installed node-path relative, which exec
refuses. Examples use the absolute default; README notes the constraint
and the test -x cache probe.
@vitalics
vitalics marked this pull request as ready for review November 1, 2026 20:08
@vitalics
vitalics merged commit 0c3abcd into main Nov 1, 2026
2 checks passed
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