Бізнес-результат

<aside> 💡

Проблема: digital-companion-core це TypeScript-бібліотека для AI-персон, які пам'ятають розмови, мають настрій і розвиваються з часом. Але зберегти і відновити такого персонажа повністю було неможливо: частина стану губилась, дати поверталися рядками, а повторний імпорт дублював пам'ять.

Як було раніше: export()/import() переносили стан частково. Помилка в даних могла залишити персонажа наполовину відновленим. withMood() взагалі ігнорував переданий настрій.

Що ми зробили: Версіонований формат SoulSnapshot, який переносить увесь стан персонажа, та імпорт у два етапи: спочатку повна перевірка даних, потім зміна стану. Плюс тести, приклад і документація.

Результат: Pull request пройшов code review у мейнтейнера (AI Systems Architect, засновник Contentsaurus) і змерджений у main. CI зелений на Node 16, 18 і 20.

</aside>


Внесок у реальний open-source проєкт на GitHub: від обговорення дизайну з мейнтейнером до змердженого pull request.

Pull request: github.com/Ahmed-KHI/digital-companion-core/pull/3

Репозиторій: github.com/Ahmed-KHI/digital-companion-core



Деталі проєкту

Контекст:

Проблема:


Рішення