# Продуктовый контракт KT AI Единый контракт, из которого собирается прототип. **Один источник, один рантайм.** Это ключевой механизм северной звезды (`GOAL.md`): *прототип === фронтенд продакшна*. ## Зачем Раньше форма «входного контракта» дублировалась в четырёх местах и неизбежно дрейфовала: `archive/kt_ai_atomic_product_system.md` (yaml) · JSON-конфиг в `kt-ai-app-shell.html` · `kt-ai-shadcn/.../kt-ai-product-input-contract.md` · вывод дизайнера Төре `[[APP]]`. Теперь каноническая форма одна: **`product.schema.json`** (JSON Schema). Все остальные описания — производные от неё. ## Контур ``` Паспорт агента ─┐ ├─► Төре (дизайнер [[APP]]) ──► product.config.json ──► kt-ai-app-shell.html ──► кликабельный прототип Интервью Төре ──┘ выдаёт контракт ▲ проверяет потребляет контракт (владелец кликает, комментирует) │ scripts/validate_product.py (структура по схеме + lint правил ДС) │ └──► handoff: тот же контракт читает kt-ai-prototype-handoff.md ``` - **Төре выдаёт** контракт по `product.schema.json` (Төре не трогаем — он уже эмитит эту форму). - **`kt-ai-app-shell.html` потребляет** его из `