Range check: build each package's own tagged version too; cultnet-ts 0.4.0 #144

Merged
libby merged 1 commit from hands/range-check-ci into main 2026-11-12 20:22:24 +00:00
Member

Follow-up variants:follow_up:range-check-in-ci.

scripts/test-declared-dependency-ranges.mjs skipped a dependency's own version, so a package that gained an export while still at its latest tag's version passed with 0 admitted tagged releases checked (every range was ^<workspace version>). It now builds that tag too, through the package's own build script with the repo contracts/ (cultnet-ts generates its contracts module first).

It then fails on main: cultmesh-ts imports seven names cultnet-ts-v0.3.0 lacks. cultnet-ts is therefore 0.4.0 (its Unreleased section holds Breaking entries, pre-1.0 minor) and cultmesh-ts / cultmesh-browser declare ^0.4.0.

Test first: scripts/test-declared-dependency-ranges.test.mjs (fixture repo, wired into test:pack:ts) passes against the old script's stale case (old script exits 0) and fails there; green with the change.

Not done: the check already runs in cultmesh-portability.yml on every push and PR (tags fetched); I did not add a second copy to publish-packages.yml, whose npm publishing is off and which has no cultnet-ts job.

🤖 Generated with Claude Code

Follow-up `variants:follow_up:range-check-in-ci`. `scripts/test-declared-dependency-ranges.mjs` skipped a dependency's own version, so a package that gained an export while still at its latest tag's version passed with `0 admitted tagged releases checked` (every range was `^<workspace version>`). It now builds that tag too, through the package's own `build` script with the repo `contracts/` (cultnet-ts generates its contracts module first). It then fails on main: cultmesh-ts imports seven names `cultnet-ts-v0.3.0` lacks. cultnet-ts is therefore 0.4.0 (its Unreleased section holds Breaking entries, pre-1.0 minor) and cultmesh-ts / cultmesh-browser declare `^0.4.0`. Test first: `scripts/test-declared-dependency-ranges.test.mjs` (fixture repo, wired into `test:pack:ts`) passes against the old script's stale case (old script exits 0) and fails there; green with the change. Not done: the check already runs in cultmesh-portability.yml on every push and PR (tags fetched); I did not add a second copy to publish-packages.yml, whose npm publishing is off and which has no cultnet-ts job. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Range check: build each package's own tagged version too, and bump cultnet-ts to 0.4.0
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 21m29s
584f144f39
The declared-range check skipped a dependency's own version, so a package that gained an export while still carrying its latest tag's version passed. cultmesh-ts imported seven names cultnet-ts-v0.3.0 lacks. The check now builds that tag (through the package's own build, with repo contracts), a fixture test pins the failure, and cultnet-ts (Unreleased holds Breaking entries) is 0.4.0 with its dependents' ranges at ^0.4.0.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby merged commit 60e50b1cb7 into main 2026-11-12 20:22:24 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/CultLib!144
No description provided.