release(econ): npm publish wiring + v1.16.0 lockstep bump + pre-publish gates#121
Merged
Conversation
Add econ to release-ts.yml (publish step + pending-publisher checklist), release-ts-preflight.mjs (version-check + peerDep-rewrite), the changesets fixed-group, and the root build + size-limit scripts. PyPI was already wired (release.yml publish-econ, 29-01); the npm side was not, so a vts tag would have shipped econ to PyPI but silently skipped npm. Also fixes a stale helloiamvu/tradewinds repo ref in the publisher checklist.
1.15.0 already shipped the general-first re-layering (core/weather/markets/meta live on npm+PyPI) without econ; econ debuts here. Lockstep minor across all 9 dists + uv.lock + CHANGELOG (documents the econ debut and the engines.node>=20 floor).
|
Parity ticket gate: PASSED See |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pre-publish prep that makes the econ vertical dual-SDK release actually publishable, and cuts the lockstep v1.16.0 bump.
Context:
1.15.0already shipped the general-first re-layering (core/weather/markets/meta are live on npm + PyPI) without econ. Only@mostlyrightmd/econ/mostlyrightmd-econare unpublished. This branch wires econ into the release path and bumps everything to 1.16.0 so econ debuts in lockstep.Nothing here publishes anything — the
v1.16.0(PyPI) /vts-1.16.0(npm) tags remain a separate operator step.What's in this PR (6 commits)
Pre-publish gates
da798c8—test-tsCI runs on Node 20 + 22 via a matrix behind a stabletest-tsrequired-check gate (branch protection unchanged; verified against the live protection API).7de6645—engines.node >= 20on the 5 published TS manifests (only the workspace root declared it before).38d2287— D-LIC-4: data-licensing pointer wired intoCLAUDE.md(per-source ToU posture: BLS/BEA/Fed-Board public domain vs FRED/ALFRED contract-ToU).7a84d1b— BLS-required "cannot vouch" citation notice added to the econ README + docs (BLS API ToS read 2026-07-14: permissive, no end-use controls, but the disclaimer is mandatory).Release-readiness (this is what made the branch publishable)
dabc2e0— wire@mostlyrightmd/econinto the npm publish path: new publish step inrelease-ts.yml, econ added torelease-ts-preflight.mjs(version-check + peerDep-rewrite), the changesetsfixedlockstep group, and the rootbuild+size-limitscripts. (PyPI'srelease.ymlalready had apublish-econjob from 29-01; the npm side never got econ, so avtstag would have shipped econ to PyPI and silently skipped npm.)7d956ba— lockstep bump all 9 dists → 1.16.0 (5package.json+ 4pyproject.toml+uv.lock) +CHANGELOG.md[1.16.0]section documenting the econ debut and the Node ≥20 floor.Review
Two rounds of cross-model codex (GPT-5) review on the release-engineering:
buildomitted econ, so@mostlyrightmd/econ@1.16.0would have published with only package.json + README — no code, CI green, immutable) and a HIGH (npm pending-publisher checklist omitted econ). Both fixed + empirically verified (the packed tarball now contains all 8dist/*files).rm -rf dist && build), zero new findings.Test plan
CI=true pnpm -r run typecheck— greenCI=true pnpm -r run test— green (~1900)pnpm run build— green;packages-ts/econ/dist/produced;pnpm packtarball contains real codepnpm run size— all 5 packages within budget (econ 15.48 KB brotli < 18 KB)pnpm codegen— deterministic (no drift)uv run pytest -m "not live"— green;uv lock --check— in syncnode scripts/release-ts-preflight.mjs vts-1.16.0— verifies all 5 versions incl. econ + rewrites econ's core peerDepOperator action before the publish tag (not before merge)
@mostlyrightmd/econis a brand-new npm package — confirm the npm publish path can create it (trusted-publisher registration /NODE_AUTH_TOKENrights) before pushingvts-1.16.0. PyPI side is already registered.