Files
2026-10-09 04:24:38 +00:00

45 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Модуль: Договор
**Ответственность**: предоставляет расширяемый каркас договора с преамбулой, произвольными разделами, сторонами, реквизитами, подписанием и приложениями.
**Расположение**: `.template/lib/presentation/profiles/contract.typ`
## Публичный интерфейс
| Символ | Тип | Описание |
|--------|-----|----------|
| `contract-profile()` | конструктор `DocumentProfile` | Принимает номер, дату, место, название, стороны и section options |
| `render-contract()` | renderer-функция | Собирает header, preamble slot, body sections, requisites, signing и attachments |
| `contract-section()` | конструктор dictionary | Описывает нумерованный или именованный раздел с body |
| `contract-validators()` | массив functions | Проверяет стороны, номера, даты и уникальность sections |
## Зависимости
| Модуль | Что использует |
|--------|----------------|
| `.template/lib/domain/document.typ` | `DocumentProfile` и context |
| `.template/lib/domain/parties.typ` | Contract parties, representatives и signers |
| `.template/lib/domain/attachments.typ` | Приложения и спецификации |
| `.template/lib/presentation/foundation.typ` | Base typography и signing-copy mode |
| `.template/lib/presentation/components.typ` | Requisites table, multi-party signing, tables и numbering primitives |
## Инварианты
- В v1 поддерживается не менее двух сторон; модель не зашита строго на роли «Заказчик/Исполнитель».
- Section id и display number уникальны.
- Юридический текст sections остаётся пользовательским content.
- Preamble можно передать content или собрать из сторон через явный helper; автоматический текст не является юридической гарантией.
- Requisites берутся из Party/CompanyProfile, а не дублируются внутри renderer.
- Signing-copy может резервировать место без реальных изображений подписи и печати.
- Приложения используют тот же AttachmentSet, что отчёт и ТКП.
## Намеренно НЕ обрабатывает
- Юридическую достаточность и актуальность условий.
- Электронную подпись и криптографию.
- Согласование версий договора и tracked changes.
- Автоматическую генерацию актов, счетов или УПД.
## Заметки для агента
> Не превращайте contract-profile в библиотеку юридических формулировок. Профиль отвечает за типографику и композицию. Чтобы будущие лицензионные, сервисные или смешанные договоры не требовали изменения renderer, sections должны быть открытым массивом с устойчивой numbering policy.