Как это чисто архитектурно правильно сделать на clojure?
ха, привет 😉 ну в целом антипаттерн интродьюсить неочевидный стейт, да. но в твоем случае не оч понятно, на сколько ты в целом кодобазу контроллируешь. выглядит так, что configure что-то конфигурирует в зависимости от конфигурации, логично предположить, что второй запуск в данном случае можно представить как изменение в конфигурации. соответсвенно что-то может эту конфигурацию менять после первого запуска