# ADR-0003: Синхронная детерминированная модель сборки **Дата**: 2026-08-26 **Статус**: Принято ## Контекст Сборка документа выполняется локальным Typst compiler: данные читаются из файлов проекта, затем происходит несколько внутренних итераций layout и создаётся PDF. Внешних сетевых сервисов, конкурентной записи или длительных независимых операций в v1 нет. Добавление собственной async-модели не ускорит Typst-layout, но усложнит диагностику, воспроизводимость и тестирование. ## Рассматриваемые варианты 1. **Синхронная сборка одного документа** — простая, воспроизводимая и соответствует модели Typst. 2. **Параллельные renderer-профили внутри Typst** — не поддерживаются как управляемая модель и не дают изоляции layout-state. 3. **Внешний асинхронный build-сервис** — полезен для массовой генерации, но избыточен для локального шаблона. ## Решение Выбрали **синхронную детерминированную сборку одного документа**. Параллельный запуск нескольких независимых fixtures допускается только во внешнем test harness, где каждый процесс получает собственный entry point и output. ## Последствия **Становится проще**: воспроизводимость, порядок diagnostics, изоляция `state` и расследование visual regressions. **Становится сложнее**: массовая генерация большого набора документов должна оркестрироваться внешним скриптом. **Закрывает дверь на**: сетевые и фоновые операции непосредственно внутри шаблона v1.