Reply to Paul,
Of course there's no reason why such a "snapshot" specification has to wait until the design is final. It can be based on any current snapshot and updated as changes occur. Again -- 100% backwards, but better, IMHO, than not done at all.
This makes me think of how to maintain it. What would be cool is if each spec item had an attached blob of code that checks and demonstrates the assertion made by the item. Then by switching to the latest and greatest and just re-compiling all the blobs you could get a list of items that need to be rewritten. What would be very cool would be all of that in a wiki format that automatically marks out of date sections.
