+0 This is a bit too draft to vote on for my tastes (I do see the call for help, but I'm not sure how one does that with a REP).
Sorry to be nitpicky, but this is a spec, so here are my nitpicks:
* Master File:
* Why type 'ros-distributions'? Took awhile for me to spot 'ros-distribution' vs. 'ros-distributions'. If it's a 'master file', why not 'master'?
* ... though 'master' is already defined in ROS, so why not pick another name altogether?
* Why not just 'build', 'distribution' instead of 'ros-build', 'ros-distribution'. Also, the ros-build and ros-test create confused meanings with rosbuild and rostest.
* Distribution File:
* "list a couple of repositories" -> "listing repositories"
* Having different value types for 'targets' in the distribution file vs. build file is confusing. I'm also trying to understand if 'targets' for distributions is really necessary
* 'Build File', 'Test File': while I appreciate the simplicity of the naming, it creates headaches for communication: "it's in the build file... I wrote a test file." Although less simple, 'Distro Build' and 'Distro Test' would be clearer.
* Distribution Cache File: this doesn't seem to belong in the spec or the format as it is undefined.
* File Formats:
* Why not put these in the Specifications section so the definition and formats can be read together (much easier to understand that way)
* "We want to use the YAML file format for these files" -> this is a spec, it should declarative. "The format is YAML."
* While I appreciate formatting rules, it encumbers the spec by placing limiting machine write-ability.