Ensure CI/CD is deterministic and comprehensive: pin versions when dependencies/tooling have drifted, make the same checks run on PRs as on main, and test against the full supported toolchain/version range.

Apply it like this:

Example (dependency pinning in a changeset-style config):

{
  "fixed": [
    ["@some/package", "@some/other-package"],
    ["@some/devtools"],
    ["@some/svelte", "@some/svelte-devtools"]
  ]
}

Example (CI parity idea): if a quality check (e.g., sherif) isn’t running on PRs, add it to the PR workflow (or add equivalent tasks like formatting/lint scanning) so the same gates apply before merge.

Example (TypeScript compatibility): add a CI job per supported TS version (TS 4.7, TS 5.x) to prevent breaks when developers or tooling target different TypeScript releases.