Refactor to enable earlier/smarter validation
Allow incomplete packages; handle errors via #{file}.error semaphore