std::core had no physical module file (resolved by ADR-0039)
Limitation
As of ADR-0027, std::core was a virtual module — no physical .mln file,
seeded from a hard-coded injection list, with a new core type requiring
three separate manual registration steps (build_registry, pub_surface
injection in name_resolver.rs, StdPrelude). This record originally
cited ADR-0027 directly without checking whether it was still current — it
wasn't: ADR-0027's own frontmatter already says supersedes: adr-0027
pointing the other way (adr-0039 supersedes it), caught during the
#1158 lifecycle triage pass, not during this record's original filing.
Impact
At the time, tooling enumerating module files would not find std::core,
and adding a core type meant touching three separate registration points
rather than one declarative source file.
Affects
Resolution
Resolved by ADR-0039 (Native Host Bindings and std::core as a Real Embedded Module, 2026-06-11). Verified directly against current source,
not just the ADR text: real physical files exist at
metel-frontend/stdlib/*.mtl (core.mtl, process.mtl, fs.mtl,
env.mtl); build.rs scans stdlib/**/*.mtl and embeds them into the
binary via stdlib.rs's generated EMBEDDED_STDLIB table, which
module_paths() enumerates directly. build_registry and pub_surface
injection no longer exist anywhere in current source (grep returns
nothing) — native items now declare host bindings via native(@...) in
the .mtl source itself, one declarative site instead of three.