Semantic Diff

#9090 Fix dev module shadowing

3 commits

cd641cbc06120a7d0a0a62776a3301e536cae415..pr-9090

81d01c7b0 · CarlOlson · Oct 27, 2026, 14:04 UTC

Fix dev-module shadowing across workspace namespaces

d71a9fb06 · CarlOlson · Oct 27, 2026, 14:20 UTC

Compile namespace entries against the public namespace

Fix the review finding where a namespace entry compiled against dev aliases produced an interface incompatible with the exported namespace. Keep the internal namespace first for ordinary modules, and cover entry consumers with a clean and incremental build.

c4a7b260d · CarlOlson · Oct 27, 2026, 14:29 UTC

Isolate dependency dev namespaces in OCaml rewatch

Why

Dependency dev aliases can shadow local test modules after opening a dependency namespace. Match the Rust fix while keeping namespace-entry interfaces compatible with the namespace exported to consumers.

modifiedRepresentation namespace interfaces

text
Before
After
Local modules and consumers use the same namespace, including dev aliases. Ordinary local modules use the full namespace in lib/bs.Consumers and namespace entries use the filtered namespace in lib/ocaml.

Preserve internal namespace invalidation across publication failures. Add include-precedence assertions and a changelog fragment. Validation passed: 48 OCaml unit tests and the full shared build-system suite, including the dev-module and namespace-entry regressions.