ctx.sandbox (dsh-sandbox): confine(argv, policy) returns the argv to spawn instead — wrapped so the process and its children run confined — plus the enforcement completeness and the backend denial/runner-failure dialects; no usable backend throws the fail-closed SANDBOX_UNAVAILABLE. Policy rides per call. dsh-sandbox-local selects by platform and caches the verdict: multi-candidate chains probe FUNCTIONALLY in preference order (Linux: bwrap → the registry-installed node-addon-landlock-run launcher), a sole candidate is selected unprobed (darwin: sandbox-exec/Seatbelt) and fails closed at execution via runnerFailureSignatures; win32 is a reserved empty chain. Profile parity is honest per backend (documented temp-area and ABI differences; enforcement full|partial is a structured result fact). CI: the sandbox-e2e matrix proves real-kernel confinement per rung (bwrap, Landlock per architecture through the registry-installed launcher, Seatbelt), failing on a silent all-skip; the packed-install rehearsal installs the launcher family from the registry and asserts the binary executable apart from kernel enforcement.
31 lines
1.1 KiB
YAML
31 lines
1.1 KiB
YAML
packages:
|
|
- vendor/*
|
|
- packages/*/*
|
|
|
|
peerDependencyRules:
|
|
allowedVersions:
|
|
typescript: '>=5 <7'
|
|
|
|
# pnpm 10+ blocks any dependency shipping an install/build script until it is
|
|
# explicitly reviewed here (strictDepBuilds defaults to true: an unlisted script
|
|
# is a hard install error). Every such package MUST be listed; we deny by
|
|
# default and only allow scripts we need. esbuild (native binary) and lefthook
|
|
# (git hooks) genuinely need theirs.
|
|
allowBuilds:
|
|
esbuild: true
|
|
lefthook: true
|
|
# Pulled in by @earendil-works/pi-ai (optional LLM API backend). pnpm lists
|
|
# them only because they ship lifecycle scripts, but those are no-ops we don't
|
|
# need, so we deny them — install still succeeds.
|
|
'@google/genai': false
|
|
protobufjs: false
|
|
|
|
# The Landlock launcher family is our own sibling-repo release, consumed
|
|
# fresh (hours old at each coordinated bump) — the release-age quarantine
|
|
# would block every such bump, so the family is exempted BY NAME, not by
|
|
# pinned version.
|
|
minimumReleaseAgeExclude:
|
|
- node-addon-landlock-run
|
|
- node-addon-landlock-run-linux-arm64
|
|
- node-addon-landlock-run-linux-x64
|