Вопрос завис с session f09d1111, никто не двигает.

Контекст

packages/analysis-core/src/data/ содержит lookup-таблицы, нужные LOINC-маппинг- и нормализация-агентам (mastra, loinc-harmonization-pipeline):

  • loinc-lab-codes.json — ~60 MB, ~96K LOINC-кодов
  • normalization-dictionary.json — ~9 MB
  • compound-keywords.json — ~2.7 MB (добавлен в session 82806132)

Сейчас не закоммичены в git (слишком жирные; нормализационный словарь к тому же регенерируется — см. dictionary-creation). Значит, чтобы код собрался / запустился, файлы надо как-то доставить — а как именно, не зафиксировано.

Рассматривали

  • git-lfs — файлы в репо, но через LFS-указатели. Плюс: один источник, версионируется вместе с кодом. Минус: LFS-квоты/настройка на GitHub, git clone тянет blob’ы, CI должен уметь LFS.
  • .gitignore + скрипт скачивания из GCS на билде/деплое. Плюс: репо лёгкий. Минус: ещё один шаг в build/local-setup, нужен доступ к GCS-бакету, версия файла vs версия кода не связаны явно.
  • Бейкать в Docker-образ analysis-worker (файлы кладутся при сборке образа, в репо не лежат вообще). Плюс: рантайм всегда имеет файлы. Минус: где тогда лежит source-of-truth для самих файлов; локальная разработка вне Docker остаётся без них.
  • Регенерировать из исходника на билде (LOINC CSV → JSON; словарь — своим пайплайном). Плюс: в репо только исходник/скрипт. Минус: build дольше, нужен исходный LOINC-датасет под рукой.

Что нужно для разрешения

Выбрать один путь, взвесив: эргономику локальной разработки (нужны ли файлы без Docker), размер образа, время деплоя/билда, и кто owns source-of-truth для этих JSON — генерируются ли они и из чего (LOINC release? наш dictionary-creation пайплайн?). Пока owner неясен, “git-lfs vs download script” — преждевременный выбор.

Связано

  • mastra — агенты, которые от этих файлов зависят
  • loinc-harmonization-pipeline — LOINC-маппинг использует loinc-lab-codes.json + compound-keywords.json
  • dictionary-creation — как собирается normalization-dictionary.json
  • loinc — LOINC как стандарт; release-каденс источника
  • normalization-service — legacy Python-сервис, тоже опирался на словарь

Источники

Источники: 1 2.

Сноски

  1. Сессия ildar/f09d1111, 2026-03-26 — ` (shared package — вопрос поднят.

  2. Сессия ildar/82806132, 2026-04-05 — (LOINC closeout BG-1140 — добавленcompound-keywords.