Problem
Two published package descriptions contain mojibake — an em dash written as UTF-8 then re-read as cp1252:
package.json:5 — "FerrLabs MCP servers — workspace root"
packages/mcp-core/package.json:4 — "Shared core for FerrLabs MCP servers — auth, transports (stdio + Streamable HTTP), api-client, runner"
Both should be — (U+2014).
Same corruption in the smoke output line, scripts/smoke.ts (the [PASS] ... — ... template literal in the results loop).
Why it matters
@ferrlabs/mcp-core is published to npm, so the mangled description is what shows on the package page and in pnpm view / registry search results. It is the first thing anyone evaluating the package reads.
Proposed approach
- Replace the byte sequence with a literal
— in both package.json files and in scripts/smoke.ts.
- Check the editor/tooling that introduced it does not re-introduce it on the next edit; the repo is otherwise UTF-8 clean.
Acceptance criteria
git grep '—' returns nothing.
- The next publish shows a correct em dash on the npm page.
Problem
Two published package descriptions contain mojibake — an em dash written as UTF-8 then re-read as cp1252:
package.json:5—"FerrLabs MCP servers — workspace root"packages/mcp-core/package.json:4—"Shared core for FerrLabs MCP servers — auth, transports (stdio + Streamable HTTP), api-client, runner"Both should be
—(U+2014).Same corruption in the smoke output line,
scripts/smoke.ts(the[PASS] ... — ...template literal in the results loop).Why it matters
@ferrlabs/mcp-coreis published to npm, so the mangled description is what shows on the package page and inpnpm view/ registry search results. It is the first thing anyone evaluating the package reads.Proposed approach
—in bothpackage.jsonfiles and inscripts/smoke.ts.Acceptance criteria
git grep '—'returns nothing.