Feature wanted: Select using multiple criteria, negations or set operators to customize models to run accurately.

As a part of the CI/CD process I find myself wanting an addition to the select function which can handle multiple criteria and use negations or set operators to customize which models to run.
In my case I want to check whether my modified model’s (using state:modified) downstream models will run successfully. This could be done by “dbt build -s state:modified+”. However, I want to limit the downstream models to only those that reside in my exposures, excluding all other downstream models.

The idea here is to use this to ensure that running my exposures with a +prefix will run successfully but limiting to only those affected by my modified model, greatly reducing run time (grab-a-coffee time). This could also be part of github actions as a check during pull requests, reducing risk of breaking changes to a master/main branch.

All feedback is much appreciated :slight_smile:

I found this feature of set operators: Set operators | dbt Developer Hub (getdbt.com)

Case closed