Energy Aperture

Value chain · CLM-0861

In plain terms

A published software package ships its main engine to the wrong folder, so the package cannot find its own engine, and the installation reports success either way.

The claim as recorded

The published LyceanEM 0.1.131 Windows wheel installs its compiled CUDA solver to the site-packages root as em.cp314-win_amd64.pyd, while the package's own code imports it as lyceanem.em. The compiled core is therefore present, importable, and unreachable by the package that ships it: import em succeeds and exports all four required functions, while from lyceanem.em import ... raises ModuleNotFoundError. The installed package additionally reports its own version as 0.0.0+unknown.

T0 own calculation · high confidence · as of 2026-09-05 · VER-1053 CONFIRMED 2026-09-05 · VC05

Evidence behind this: Direct observation of a published artefact, reproducible by anyone with pip. The artefact is the source; this is a statement about what it DOES on installation, established by running it. T0-ANALYSIS, marked 2026-09-06: this record DERIVES NO NUMBER and owes no CALC. Its content is a structural fact about where a wheel installs a file and what name the package imports it under - a filename and a version, not a computed quantity - so the CALC requirement does not apply and the method above is what satisfies traceability. The method was already written here; only the marker was missing.

Scope and limits

Observed on the Windows wheel for CPython 3.14 at version 0.1.131. NOT checked on the manylinux wheel of release 0.1.111 or on other CPython versions, so the SCOPE of the defect is not established. A one-line runtime shim works around it without modifying any file.

What it assumes

No assumptions are recorded against this claim.

Where it comes from

SRC-321 LyceanEM-Python source repository and release 0.1.131, 2026
SRC-322 lyceanem package release metadata, PyPI, versions 0.1.111 and 0.1.131, 2026
Wheel RECORD lists em.cp314-win_amd64.pyd with no package path prefix. Source imports at lyceanem/models/acceleration_structures.py lines 3-5 are from lyceanem.em import .... Verified in a clean virtual environment: import em succeeds and exports bin_counts_to_numpy, bin_triangles_to_numpy, calculate_scattering_brute_force and calculate_scattering_tiles; from lyceanem.em import ... raises ModuleNotFoundError. lyceanem.__version__ returns 0.0.0+unknown because _version.py is never generated.
Related records
Answers question
QST-016 not published in this release

Cite this

energyaperture.com/c/clm-0861

CLM-0861, Energy Aperture, as of 2026-09-05.

Connected records

Other published records linked to this one. A list, not a judgement.

Also from SRC-321
CLM-0860An open-source antenna modelling package puts the first side peak of a beam in the right place, to better than three parts in ten thousand...