Files
Maximiliano Korp b0b84a86aa test(release): guard @copilotkit/* dependency publishability
Nothing checked that a @copilotkit dependency of a publishable package can
actually be published, which is how @copilotkit/intelligence came to be a
hard dependency of @copilotkit/runtime while no release scope could ship
it. verify-runtime-package.ts packs the whole workspace dependency closure
into local tarballs and installs from disk, so it never consults the
registry; verify-release-scope-dropdowns.sh only compares scope names
against the workflow dropdowns.

Add pure helpers plus a vitest suite (it runs on every PR through the
"Run release script tests" step in test_unit.yml) asserting that:

- every non-private packages/* package is enrolled in exactly one scope
- every @copilotkit entry in a scoped package's dependencies or
  peerDependencies resolves to a publisher, unless it is a registry-only
  package that is not a workspace member
- the set of cross-scope dependency edges matches a reviewed inventory, so
  a new edge (and its publish-order hazard) surfaces at review time

The same helpers derive the cross-scope registry requirements consumed by
publish-release.ts.
2026-07-24 14:55:05 -07:00
..