Where do/should Gateway Scripts live with respect to an inherited project structure?

Correct. If there are scripting functions that are used everywhere, they belong in the universe project.

1 Like

Keep in mind that everything is a trade-off. In this case re-use of common resources versus production disruptions when common resources are edited/updated/replaced.

That's why I strongly recommend that resources get pushed towards universe only after considerable testing time, and only during suitable production downtime opportunities.

When developing updates to such resources, override the resource in a leaf project. Only after testing and QA passes should the update get "sent" to the inheritable project it came from.