What happens
The repo publishes to JSR on every tag, but nothing checks the package is publishable until the release workflow is already running. .github/workflows/ci.yml has no jsr step (grep -c jsr returns 0), and release.yml runs bunx jsr publish directly rather than a dry run first.
Reproduction
grep -c 'jsr' .github/workflows/ci.yml # 0
bun run jsr:check # passes today — nothing enforces that it keeps passing
Why it matters
This has already bitten this repo once: bd98b85 fix(jsr): resolve slow-type errors so JSR publish succeeds. JSR rejects "slow types" — an exported symbol whose type it cannot resolve without inference — and that is a property of ordinary source edits, not of anything the current CI looks at. The failure surfaces halfway through a release, after npm has already published, leaving the two registries on different versions.
Where
.github/workflows/ci.yml — no JSR step. .github/workflows/release.yml:66-74 — publishes without a preceding dry run.
Suggested fix
Add bun run jsr:check to CI next to the ATTW step, so a slow type fails the pull request that introduced it. Keep the real publish in release.yml but move it ahead of the npm publish, or dry-run first, so a JSR failure does not leave npm published alone.
What happens
The repo publishes to JSR on every tag, but nothing checks the package is publishable until the release workflow is already running.
.github/workflows/ci.ymlhas nojsrstep (grep -c jsrreturns 0), andrelease.ymlrunsbunx jsr publishdirectly rather than a dry run first.Reproduction
Why it matters
This has already bitten this repo once:
bd98b85 fix(jsr): resolve slow-type errors so JSR publish succeeds. JSR rejects "slow types" — an exported symbol whose type it cannot resolve without inference — and that is a property of ordinary source edits, not of anything the current CI looks at. The failure surfaces halfway through a release, after npm has already published, leaving the two registries on different versions.Where
.github/workflows/ci.yml— no JSR step..github/workflows/release.yml:66-74— publishes without a preceding dry run.Suggested fix
Add
bun run jsr:checkto CI next to the ATTW step, so a slow type fails the pull request that introduced it. Keep the real publish inrelease.ymlbut move it ahead of the npm publish, or dry-run first, so a JSR failure does not leave npm published alone.