How does deck handle mutli document yaml files

We have an application that uses Kong, the application has multiple application pipelines that deliver optional services and each delivers its own distributed Kong config, this is done via an AWS Cloudformation custom resource. The Custom resource is backed by a lambda that runs deck to apply individual configs with specific select tags as well as a background task that checks for drift. Application pipelines use CDK/Cloudformation to call the custom resource with the Yaml config file that it applies.

We started with Kong 1.5 and upgraded to 2.8 so we can then upgrade to 3. As part of the upgrade i had to create a conversion to convert _format_version 1.1 to 2.1 (remove plugin run_on field) and as part of the Kong 3 upgrade we will use the deck convert command to convert 2.X to 3.0

We have many of these applications deployed and at varying releases so we have Kong 1.5, 2.8 and soon to be 3 versions out there. Whilst the current 1.1 to 2.1 conversion works and i expect the 3 conversions to also be fine I dont want the deployments to solely rely on converted configs, we need the applications to deliver a Kong config that will be applied based on the current version of Kong.

One option is the use a Yaml file with multiple documents where each document is a Kong Config file with different _format_versions that can be delivered by application pipelines. The custom resource can then select the document with the largest _format_version <= kong version.
eg

_format_version: "1.1"
_info:
  _select_tags:
    - tag1
    - tag2
services:
 - name: service 
   ...
---
_format_version: "2.1"
_info:
  _select_tags:
    - tag1
    - tag2
services:
 - name: service ...
---
_format_version: "3.0"
_info:
  _select_tags:
    - tag1
    - tag2
services:
 - name: service 
   ...

I have been playing around with deck and it seems to only process the first document which is a good thing because as long as i reorder the document to make the one we want to use the first one it seems deck will play along. However its not documented anywhere and its not an assumption i want to make without verification, maybe this might change in the future.

Any thoughts would be greatly appreciated