3.5 KiB
3.5 KiB
Модуль: Договор
Ответственность: предоставляет расширяемый каркас договора с преамбулой, произвольными разделами, сторонами, реквизитами, подписанием и приложениями.
Расположение: .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.