Cons of the current spec:
It combines three programming languages: YAML, Jinja and the custom selector syntax
Jinja and selectors makes it hard to parse using standard YAML parsers from Python
Parsing is a multi-stage process in Python that iterates until all values are filled
Version numbers are interpreted as floating point values ("0.14") in YAML
more ideas (convo w/ MB)
test matrix for noarch for different platforms / versions
keep all steps independent