Confirm and stabilize build-wordmark.mjs (ESM import + woff2/opentype font deps) so the committed wordmark stays re-buildable
task-stabilize-build-wordmark-esm
Confirm and stabilize build-wordmark.mjs
packages/design/scripts/build-wordmark.mjs outlines the "Dossier" wordmark from the self-hosted Newsreader face into committed brand/wordmark.svg path data (so the wordmark renders as correct ink the instant the SVG loads — in email, README, cold cache — per Recalibrate the Dossier brand identity — demote color, promote type + restraint + craft — then build the showcase landing). During the brand session it hit an ERR_MODULE_NOT_FOUND (around its node:url createRequire/fileURLToPath import), and font-tooling lookups returned several E404s.
What's known vs. unknown
The committed wordmark.svg is correct and shipping — the brand work landed and the full suite was green. What is not confirmed is that the generator re-runs cleanly from a fresh checkout. It depends on wawoff2 (decompress woff2→ttf, resolves at 2.0.1) and opentype.js (trace glyph outlines); the E404 probes (@fontsource-variable/ibm-plex-mono, fonteditor-woff2) were exploratory dead-ends, not the chosen path. This is a confirm-then-fix task, deliberately not asserting a confirmed bug.
Why p2
It is a generator for a committed asset, not on the CI hot path — nothing breaks today. But a silently-broken generator means the wordmark can never be regenerated when its face or shape changes (and DEC-0018's design philosophy is that the generated output, not the SVG, is the source of truth). Owned by Principal UX Engineer (the design-language function).
Notes
Board globbed before filing — no existing task covers the wordmark generator. Provenance: surfaced by the log-auditor via trace distillation; confidence: inferred (agent-judged real, not human-curated).