1. Это не фреймворк, а скелет обросший жиром.
В отличии от фреймворка, как внешней зависимости другого вендора, ваш скелет - полностью под вендорингом конечного инженера. Плохо то, что обновляя версию скелета риски что-то сломать на много выше, чем для внешней зависимости.
2. В public нету точки входа index.php, я очень надеюсь что это просто ошибка, а index.php в корне проекта просто забыли удалить.
3. Что делать, если нужно 2 разных подключения к БД, а не одно?
4. Если я правильно понимаю, то что вы называете promise - это DTO + Builder. Очень похоже на лишние сущности.
5. Сессии в файлах - это очень странное решение. Как только вам потребуется завести еще один инстанс - все пойдет по ***де. Обычно сессии хранятся в memcached / redis как раз для того, что бы обеспечить горизонтальное масштабирование.
Очень рекомендую почитать на досуге
https://github.com/index0h/php-conventions