I gave this a proper read through now. I think initially I got distracted by enumerating all of the various runtime::Module arrangements, which I agree are numerous and somewhat addressed by Artifact.
However I don’t think this quite addresses your immediate need, which is to configure the downstream C compiler for CSource modules. That actually reminds me more of [µTVM] Capturing dependent libraries of code-generated TIR (initially for use in Model Library Format) where we prefer to have a way to signal to a downstream pre-compile script that “hey, we require you to link this module against library abc.”
We could consider extending that mechanism to support explicit compiler flags. At present, the consumer of such metadata would be the Project API. We would need to figure out how to consume those in export_library.