With Topic Maps, the Content Spec is no longer guaranteed to have the same structure when it is built as when it was pushed. Topic Maps may be included in a Content Spec, and may be edited after the Content Spec is pushed. When this happens the structure of the content spec changes, and it will need to be updated for the build to reflect the latest structure. So: process the content spec on build.
The program has been updated to reflect these changes. The program will still save new topics, etc... when first run, however it won't save any of the mapping or relationship information. Instead the build now processes the Post Content Spec in validate mode when a build request is done. The data that is stored in memory from the processor is then used to construct the chapters, sections, relationships, etc... While doing this I also updated the names of the topic files so that they would only have a unique identifier starting from 1 if the topic was duplicated in a content specification.
Content spec builds for me in build 18. No noticeable performance difference with the content specs that I'm using.