2.4 KiB
Записка-план: бэкенд-пак «входная дверь шва» (движковая половина D39.156)
⚠ Записка ОТРАБОТАВШЕЙ сессии (24.08.2026), а не задание: не исполнять. Пак закончен, принят и залендён — D39.158. Что реально построено, чем доказано и что осталось — доказательная база
backend/docs/SEAM_PACK_FINDINGS.md(состав §0, попунктный чек заказа §12, пинги §10). Промт архивирован:docs/archive/prompts/BACKEND_SEAM_PACK_SESSION_PROMPT_2026-08-27.md.
Развилки, которые сессия решала своим доводом
(а) Имена файлов решений — каталог книги, а не сайдкар при базе. Все банк-сайдкары движка висят на
project_db (.bank.json, .auto-bank.yaml, .mined-signature.yaml), но project_db может указывать
КУДА УГОДНО (в т.ч. за пределы каталога книги), а решения пользователя — это его данные, они обязаны
ехать с книгой в бэкапе и экспорте каталога. Отсюда <dir книги>/<book_id>.mined-delta.yaml и
<book_id>.mined-rejects.yaml: префикс book_id повторяет механизм <book_id>.db и не даёт двум
книгам в одном каталоге столкнуться. ⚠ Объявляемые ключи mined_delta/mined_rejects, которые эта
записка ещё предполагала, СНЯТЫ фикс2 — путь стал чистой функцией каталога и book_id (D39.158 п.5);
довод конвенции пережил снятие ключей, форма — нет.
(б) Словарь входа глагола. Ровно словарь УЖЕ публикуемой поверхности банк-экспорта
(id/src/dst/kind/sense/since_chapter/until_chapter/aliases) плюс note. Поля, которого
движок не публикует, во входе нет — в частности gender: ось мертва в производителях, а строить
«на вырост» запрещено заказом.