Resolve the node quadrants of { system, brand } into the { services, opts, vars } a legacy manifest carries:
opts[id] (→ entry): the globalServiceOpts keys the service reads, deep-merged UNDER its per-service serviceOpts.
Empty results are omitted, so the map matches a hand-written legacy manifest (which only lists services that HAVE opts).
vars (→ [vars]): every scalar value across globalServiceOpts + globalBrandOpts + per-service brandOpts. buildWrangler
only surfaces the ones that are declared service env vars, so extra keys are harmless.
Resolve the node quadrants of
{ system, brand }into the{ services, opts, vars }a legacy manifest carries:opts[id](→ entry): the globalServiceOpts keys the servicereads, deep-merged UNDER its per-service serviceOpts. Empty results are omitted, so the map matches a hand-written legacy manifest (which only lists services that HAVE opts).vars(→ [vars]): every scalar value across globalServiceOpts + globalBrandOpts + per-service brandOpts.buildWrangleronly surfaces the ones that are declared service env vars, so extra keys are harmless.