много комментов =)
Не знаю как еще при отсутствии связи показать причины выбора тех или иных решений, а так же, что есть альтернативы.
Т.к. в задании речь была про преобразование в словарь - я считаю, что о больших объемах (как например в рамках собеседования) тут речи нет. На всякий - в комментах уточнил вариант оптимизации по памяти (генераторы/чанки). Хотя если в итоге все равно сохранять в файл - то наличие объемов опять отпадает.
Конфиг изначально написан с ииспользованием фильтра с ошибкой (fail_filter) для демонстрации одного из функциональных требований.
data_out/data1.json - добавил в гит, чтобы была папка для выходных данных, т.к. конфиг не валидирую (детали в комментах в коде)