Install: npx -y @zenixsolutions/lumics-mcp — on npm (published with provenance).
23.6% smaller. 92 files and 755.5 kB unpacked → 48 files and 577.2 kB. No behaviour changes; the tool surface is identical to 0.1.1.
Changed
-
Source maps are no longer published.
dist/**/*.mapis excluded from the tarball, cutting it
from 92 files and 748.7 kB unpacked to 48 files and 573.9 kB — about 23% off everynpx
invocation and every install.They were inert. The 44 maps
0.1.0and0.1.1shipped point at../src/*.ts, carry no
sourcesContent, andsrcis not in the package, so nothing existed at the targets on a
consumer's disk. Every consumer paid 181 kB for debugging support that could not work.They are still emitted by
npm run buildand still work locally, where the sources are present.
The exclusion is a negated pattern inpackage.jsonfiles, not a build change, so nothing about
the local development experience changes. Shipping resolvable maps instead would have meant
publishingsrcand growing the package to roughly 1.15 MB; that trade-off is recorded in
#9.
Added
-
The release workflow now verifies the changelog section is finished, not merely present.
scripts/check-changelog.mjsfails the release on a missing or undated heading, a heading still
markedUnreleased, an empty section, a missing comparison link, or scaffolding wording left in
the body.release.ymlruns it beforenpm ci, so a tag that cannot produce a release fails in
seconds rather than after a full install and test run. Available locally as
npm run check:changelog -- X.Y.Z.The previous check only grepped for the heading, which a section full of scaffolding satisfies —
and did:0.1.0published with "Nothing below has shipped yet; this section is the release note
under construction and is finalised at tag time" still in it, andCHANGELOG.mdships inside the
tarball, so the release announced on the registry that it had not happened
(#10).Verified against that exact published text, which the gate rejects on four counts. Be candid
about the limit: the structural checks are exact, but the scaffolding check is a phrase list and
only catches wording someone thought to write down.Quoted text is excluded from the scaffolding scan — inline code, fenced blocks, blockquotes and
double-quoted spans, including spans that wrap across lines. That was not foresight. The gate
failed this very release on its first run, because the entry you are reading quotes the wording
the gate bans. A changelog documenting a scaffolding phrase is not scaffolding, and a gate that
cannot tell the difference would push people to reword accurate notes to appease it. -
tests/installation/package-contents.test.tsasksnpm packwhat it would publish and asserts
the answer. It covers both directions in whichfilesfails silently: too broad, which is how the
maps shipped, and too narrow, which would publish a package that installs and cannot start. It
also asserts no.env, key or.npmrcis packed, and that nothing outsidedist/and the four
named documents appears at all. Verified it fails when the map exclusion is removed.