Incident
@ipv9/tokentracker-cli@0.39.49 was manually published after the automated npm workflow failed because NPM_TOKEN was unavailable. The manual path ran prepublishOnly, but that script rebuilt only the pricing seed and did not rebuild dashboard/dist.
A clean local LaunchAgent deployment proved the package process was 0.39.49 while its served dashboard bundle still embedded 0.39.48. The machine was rolled back to the verified 0.39.48 baseline.
Root cause
The package relies on callers to run npm run dashboard:build before npm publish. prepublishOnly does not fail closed against stale generated dashboard assets.
Acceptance criteria
prepublishOnly rebuilds the dashboard before building the pricing seed.
- A regression test proves dashboard build precedes pricing-seed generation.
- Version is bumped in lockstep to
0.39.50.
- npm artifact serves/embeds
0.39.50 from a clean install.
0.39.49 is deprecated after 0.39.50 is available.
- macOS and Windows
0.39.50 release artifacts are published.
- Local dashboard and sync LaunchAgents are repinned to
0.39.50, reloaded, and verified semantically.
Incident
@ipv9/tokentracker-cli@0.39.49was manually published after the automated npm workflow failed becauseNPM_TOKENwas unavailable. The manual path ranprepublishOnly, but that script rebuilt only the pricing seed and did not rebuilddashboard/dist.A clean local LaunchAgent deployment proved the package process was
0.39.49while its served dashboard bundle still embedded0.39.48. The machine was rolled back to the verified0.39.48baseline.Root cause
The package relies on callers to run
npm run dashboard:buildbeforenpm publish.prepublishOnlydoes not fail closed against stale generated dashboard assets.Acceptance criteria
prepublishOnlyrebuilds the dashboard before building the pricing seed.0.39.50.0.39.50from a clean install.0.39.49is deprecated after0.39.50is available.0.39.50release artifacts are published.0.39.50, reloaded, and verified semantically.