No-ops (returns the exact same array reference, zero invocations)
when liveExpirationDates is undefined, which is what guarantees "omitted ->
behavior unchanged." Otherwise collects the unique discovered variable
names, invokes the callback exactly once, applies the result, and
deep-freezes the returned structure so it can never be mutated into
affecting contracts (used elsewhere, e.g. by the manifest/usage passes in
the same generateEnvArtifacts run) or anything else downstream.
Orchestration entry point -- the only place
liveExpirationDatesis ever invoked.