# Модуль: Тестирование **Ответственность**: защищает слои библиотеки, единственный root entrypoint, public examples, PDF semantics и визуальную стабильность. **Расположение**: `.template/development/tests/` ## Публичный интерфейс | Символ или файл | Тип | Описание | |-----------------|-----|----------| | `run-tests.py` | CLI | Полный release gate | | `manifest.json` | fixture manifest | Compile, semantic, negative и visual expectations | | `check_architecture()` | static check | Направление Typst imports | | `check_workspace()` | static check | Root surface, docs, VS Code, private settings и public examples | | `snapshots/` | visual baseline | Утверждённые страницы стабильных renderer fixtures | ## Зависимости | Компонент | Что использует | |-----------|----------------| | Typst 0.15.1+ | Компиляция и PDF generation | | Poppler | Text extraction, links и PNG rendering | | Pillow | Pixel diff snapshots | | `docs/examples/` | Public executable documentation | ## Инварианты - Корень не содержит `document.typ`, `draft.typ` и `clean-copy.typ`. - `docs/` видим и содержит обязательную public navigation. - Все четыре документа и formatting guide компилируются. - Generic profile fixtures проверяют `final`, `draft` и `clean-copy` без root entrypoint duplication. - Безопасный private settings example содержит всех сотрудников с отключёнными PNG. - Unit tests проверяют public directory, private offsets и отсутствие подписи. - Public company profiles не содержат настоящих sign/stamp. - Snapshot изменяется только после ручного visual review. ## Намеренно НЕ обрабатывает - Юридическую корректность договоров. - Инженерную достоверность example values. - Установку сторонних extensions. ## Заметки для агента > Public example является production-facing documentation: его compile failure блокирует выпуск так же, как regression renderer. Для layout changes сначала просмотрите rendered pages, затем осознанно обновите snapshots.