When Does a Specification Become a Program?

A spec can contain prose, tests, schemas, formal models, even executable code. The useful boundary is not the syntax but, rather, what survives: if you throw the implementation away, what has to remain so you can build the next one?