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.
storage/ — non-session storage family
English | 中文
This family persists application data other than session event logs through named backends and typed data forms.
| Package | Role | ctx key |
|---|---|---|
storage/ |
Connects registered backends with typed data forms | ctx.storage |
storage-json/ |
Stores data in JSON files | registers backend json |
storage-sqlite/ |
Stores data in SQLite | registers backend sqlite |
storage-domain/ |
Provides validated domain-record storage | ctx.storageDomain |
Consumers use a data form rather than accessing a backend directly. The domain storage decision records the family design.
The subsystem reference — the backend contract, StorageForms, DomainSpec/Domain, domain/changed — is docs/subsystems/storage.md.