Initial commit

This commit is contained in:
malysheva committed 2026-10-09 04:24:38 +00:00
commit c534d5ce80
163 files changed
+11500

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
# Модуль: Тестирование
**Ответственность**: защищает слои библиотеки, единственный 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.