1504 hand-written ranges pointing at workspace members become workspace:^, so pnpm pack substitutes each member's real version at publication: sibling peerDependencies follow the family version instead of being pinned at ^0.0.1, and a reference to a vendored package follows that package's own line. Without this, publishing 0.0.2 ships peer ranges naming a version that does not exist, and 0.0.1-rc.1 does not satisfy ^0.0.1 either. It also retires ranges that had gone stale against the workspace: ^4.0.0-rc.6 for a 4.0.0-rc.7 checkout, ^3.17.0 for schemastery 3.18.0. workspace:* stays where an exact published version is the point, which is how the Landlock entry pins its platform packages. A workspace constraint now requires the protocol, so a new package cannot reintroduce a hand-written range. The same constraint caught packages/boot/cmdline arriving on master without the publishable trio, which this change completes.
sandbox/ — process-sandbox capability family
English | 中文
This family applies per-session confinement policy to process execution. It covers same-world subprocesses; isolated environments replace complete capability implementations instead of registering here.
| Package | Role | ctx key |
|---|---|---|
sandbox/ |
Defines the process-sandbox service and shared escalation vocabulary | ctx.sandbox |
sandbox-local/ |
Provides local platform confinement backends | registers on ctx.sandbox |
sandbox-policy/ |
Resolves durable per-session sandbox policy | ctx.sandboxPolicy |
See the sandbox decision for the capability boundary and the filesystem integration decision for cross-family policy use.
The subsystem reference — modes and enforcement, per-call policy, wrapped-argv dialects, fail-closed errors — is docs/subsystems/sandbox.md; the boundary and the cross-family phase live in the sandbox and cross-family fs sandbox Agent Notes.