As it stands, the description of a buildslave in cybertron.py does not provide version information about the resources available on that machine.
For example, if a developer requires a buildslave with a specific version of Rust in order to build their repo, the only information available to constructicon from the slave is that it supports "Rust" with no version information. This could lead to a situation where a developer who requires Rust 0.19.0 is assigned a buildslave which has a lower Rust version, and thus their build will fail.
This becomes doubly confusing if there are multiple machines with differing Rust versions registered to the megatron. In this case, depending on how the machines are assigned, the build may succeed if assigned to the machine with the correct Rust version, and then later fail when a build is triggered on a machine with the incorrect Rust version.
One idea to solve this is to allow for developers to make calls to version checking functions at the time of buildslave assignment, and reject assignment if the version does not match.