I am currently working on dbt-core extension that allows end-users to prioritise models, i.e. change the order of models being executed.
In order to do that, user should specify priority parameter value for the models at model-file level (or default value will be applied automatically). After being parsed, the values of this parameter should be saved to Manifest and then passed to graph being created by Linker to affect score calculation process later on.
I want to add new attribute called “priority” to ModelConfig contract and I want to do it correctly.
What is the most appropriate way of adding new attribute to dbt-core contracts ?
Are there any documented process for adding new attribute that would help to fit in architectural conventions (Docs or PR’s)?
For now, I’ve just added “priority” attribute to ModelConfig class and manifest schema. It seems to be working in terms of parsing and extracting of “priority” value in further steps. However, I am not completely sure this is enough for addition of a new parameter.