Generate catalog.json safely