Skip to content

Commit 1f13d21

Browse files
committed
docs(design): refinements measured on macos-15 and for qualified dependency names
1 parent c068330 commit 1f13d21

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

‎.agents/docs/2026-09-15-641-642-implementation-plan.md‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,20 @@ line of the run step inside it.
182182
so that remedy is offered only when a request or the package's default
183183
decided, and the refusal names the package's statement otherwise. `mcpp run
184184
--format` built its pack without the run's features; it now passes them.
185+
- **On Mach-O a shared library over a graph runtime exports only what it marks.**
186+
`graph_runtime_compile_flags` compiles every unit of such a graph with hidden
187+
visibility on Mach-O, so that the runtime's instantiations are never coalesced
188+
with the system's libc++. Measured on macos-15 through `llvm.libcxx`'s CI
189+
under this branch: the private copy links the dylib, and the program's link
190+
then finds none of the library's functions until the declarations carry
191+
`[[gnu::visibility("default")]]`. A framework that already marks its API for
192+
its CMake shared build is unaffected; the rule is documented beside the
193+
refusal (docs 20).
194+
- **`dep_dir` and `dep_linkage` answer under the qualified name.** A package
195+
that writes `namespace = "ns"` and `name = "fw"` is `ns.fw` to its consumer,
196+
and `dep_dir("ns.fw")` read nothing although the reference promised the
197+
canonical spelling; the framework's rule asks `dep_linkage("huxerui.huxerui")`.
198+
Both are now published under the qualified name as well (e2e 693 leg F).
185199
- **F3, recorded and not addressed.** The std module object is linked into every
186200
C++ image, so a program over a C++ shared library that imports `std` reports
187201
its module initialiser as provided twice (`symbol_provision`). This predates

0 commit comments

Comments
 (0)