What I observed
The post-publish "pin starter to new core version" step (scripts/release-template.ts updateTemplate(), invoked from release-run.ts's publish()) now fails on every release. Observed in the 0.5.8 coordinator run: https://github.com/jimhoyd-com/urlcode/actions/runs/35869433541
The npm publish itself succeeded (@jimhoyd/urlcode@0.5.8 published and verified) — this failure is strictly in the follow-up template-pin step, which opens a PR against jimhoyd-com/urlcode-template.
{"phase":"published","detail":{"name":"@jimhoyd/urlcode","version":"0.5.8"}}
{"phase":"verified","detail":["@jimhoyd/urlcode@0.5.8"]}
...
> my-urlcode-project@0.1.0 audit
> urlcode audit --expect-routes 2
{"elapsedMs":12.6,"ready":false,"notReadyReasons":["no-active-routes","route-count-mismatch"],"counts":{"configured":0,"declared":0,"generated":0,"active":0,...},"expectedRoutes":2,...}
Why
#503 "simplify init to one bare starter" merged into main on 2026-09-23 and changed the initializer to scaffold a bare starter with zero example routes by design. The urlcode-template repository's own package.json audit script still hardcodes --expect-routes 2, a leftover expectation from before that change. Since #502 "generate the public template from the initializer", the release pipeline regenerates the template from the initializer on every release, so this mismatch now reproduces deterministically on every future release, not just this one.
Impact
Every core release will complete its npm/GitHub/Homebrew publication successfully, then fail at the very last "pin the starter" step. That step can be re-run standalone (npm run release:template -- --version <X> --execute) once fixed, so it isn't release-blocking for npm publication itself, but it leaves the standalone starter permanently out of date until reconciled.
Possible directions (not prescribing one)
- Update
urlcode-template's audit script to expect however many routes the new bare starter actually scaffolds (likely 0, if that's the intended design).
- Or, if the bare starter is supposed to still include example routes for the published template specifically (as opposed to
npm run init's default), adjust the initializer/template-generation step accordingly.
What I observed
The post-publish "pin starter to new core version" step (
scripts/release-template.tsupdateTemplate(), invoked fromrelease-run.ts'spublish()) now fails on every release. Observed in the0.5.8coordinator run: https://github.com/jimhoyd-com/urlcode/actions/runs/35869433541The npm publish itself succeeded (
@jimhoyd/urlcode@0.5.8published and verified) — this failure is strictly in the follow-up template-pin step, which opens a PR againstjimhoyd-com/urlcode-template.Why
#503 "simplify init to one bare starter" merged into
mainon 2026-09-23 and changed the initializer to scaffold a bare starter with zero example routes by design. Theurlcode-templaterepository's ownpackage.jsonauditscript still hardcodes--expect-routes 2, a leftover expectation from before that change. Since #502 "generate the public template from the initializer", the release pipeline regenerates the template from the initializer on every release, so this mismatch now reproduces deterministically on every future release, not just this one.Impact
Every core release will complete its npm/GitHub/Homebrew publication successfully, then fail at the very last "pin the starter" step. That step can be re-run standalone (
npm run release:template -- --version <X> --execute) once fixed, so it isn't release-blocking for npm publication itself, but it leaves the standalone starter permanently out of date until reconciled.Possible directions (not prescribing one)
urlcode-template'sauditscript to expect however many routes the new bare starter actually scaffolds (likely 0, if that's the intended design).npm run init's default), adjust the initializer/template-generation step accordingly.