MACHINE-VERIFIED · FAIL-CLOSED

Version-specific errors,

reproduced and fixed.

errfix reproduces environment- and version-specific errors inside version-pinned containers, then re-checks that the exact signature is gone after the fix.

5 verified fixes · Node · Python · Docker-pinned repro
verify — run-case.mjs
$ node run-case.mjs node/err-require-esm
● reproduce Error [ERR_REQUIRE_ESM] present ✓
● apply fix require(chalk) → await import()
● re-run ERR_REQUIRE_ESM gone ✓
PASS verified · node:18-alpine · signature gone
This exact run is the gate — an article ships only if it passes.
HOW IT WORKS

Re-run the fix until the signature is gone.

Five stages run before publication. Machines do all of them except the final tone read.

01

Mine

Dig environment- and version-specific errors out of CI logs, issues, and npm.

02

Reproduce

Reproduce inside a version-pinned Docker image until the exact signature appears. Fail-closed.

03

Fix & assert

Apply the fix, re-run, and assert that the signature is gone — not merely that the build passed.

04

Review

AI review plus a harmful-command denylist. A human reads only for tone, last.

05

Publish

Only cases that went reproduce → fix → signature gone become articles. The rest are thrown away.

Latest verified fixes

Every one of them reproduced in a version-pinned container and re-checked after the fix. No armchair guesses here.

View all errors
node verified
TypeError: crypto.randomUUID is not a function

TypeError: crypto.randomUUID is not a function — fixing a missing randomUUID on older Node

node:14.16.1-alpine · call to crypto.randomUUID on Node < 14.17

crypto.randomUUID was added in Node 14.17.0 (and 15.6.0), so older versions raise TypeError: crypto.randomUUID is not a function. Raise Node, use the uuid package, or build a version 4 UUID from crypto.randomBytes.


Node.js 4 min read
node verified
ERR_OSSL_EVP_UNSUPPORTED

Fixing "digital envelope routines::unsupported" (ERR_OSSL_EVP_UNSUPPORTED in Node.js)

node:18-alpine · webpack 4 / CRA · OpenSSL 3 hashing

ERR_OSSL_EVP_UNSUPPORTED breaks webpack and Create React App builds from Node 17 on, because OpenSSL 3 moved md4 into the legacy provider. Get running with --openssl-legacy-provider, then upgrade the build tool and drop the flag.


Node.js 5 min read
node verified
Named export not found

Fixing "does not provide an export named" / "Named export not found" (Node.js)

node:20-alpine · named import from CommonJS

A named import from a CommonJS module fails with "does not provide an export named" or "Named export not found" when Node's static analysis cannot see the export. Take the default import and destructure it.


Node.js 3 min read
python verified
ConvertPirAttribute2RuntimeAttribute not support [pir::ArrayAttribute<pir::DoubleAttribute>]

Fixing "ConvertPirAttribute2RuntimeAttribute not support" (PaddleOCR + paddlepaddle 3.3.1)

python:3.11 · PaddleOCR predict/ocr with paddlepaddle 3.3.1 (CPU, oneDNN enabled)

PaddleOCR on paddlepaddle 3.3.1 raises NotImplementedError: ConvertPirAttribute2RuntimeAttribute (onednn_instruction.cc) on the oneDNN path. Turn oneDNN off with enable_mkldnn=False, or pin paddlepaddle back to 3.2.2, the version before the regression.


PaddleOCR 6 min read
python verified
No matching distribution found for paddlepaddle

Fixing "No matching distribution found for paddlepaddle" (no wheel for Python 3.14)

python:3.14 · pip install paddlepaddle on Python 3.14 (no cp314 wheel on PyPI)

pip install paddlepaddle fails with "No matching distribution found" on Python 3.14 because no cp314 wheel exists on PyPI or Paddle's own index — and no pip option gets around it. Pin the interpreter that runs paddle to a version that has wheels.


PaddlePaddle 11 min read
READY WHEN YOU ARE

Reproduced, fixed, and re-checked before you read it.

No copy-pasted guesses — just errors reproduced in pinned containers and re-checked after the fix. Start where your stack breaks.