'Add spec at path to database, locking and reading DB to sync.
``add()`` will lock and read from the DB on disk.'

@_autospec
def add(self, spec, directory_layout, explicit=False):

    with self.write_transaction():
        self._add(spec, directory_layout, explicit=explicit)
