build

Returns a new spec from what has been set so far.

Return

the spec

Throws

if the instructions are missing or blank, there are no categories, or two categories share an id