# Запросы для лицензионной проверки проекта

Два запроса: первый составляет таблицу, второй проверяет её. Второй запускается в новом
диалоге (или у субагента), чтобы проверяющий не видел рассуждений первого. В угловых
скобках – то, что вписывает команда.

## 1. Запрос составителю

```
Задача: лицензионная проверка проекта перед возможной продажей.

Контекст
- Проект: <одно предложение о том, что это>.
- Как продукт попадёт к пользователям: <установщик | сборка игры | веб-сервис на нашем сервере>.
- Исходный код: <закрыт | готовы открыть>.
- Доход: <планируется | не планируется>.

Что сделать
1. Составь опись всего чужого в проекте. Источники: файлы зависимостей
   (<requirements.txt, package.json, Packages/manifest.json>), папки с ассетами,
   шрифтами, моделями и данными, обращения к внешним сервисам в коде.
   Зависимости зависимостей тоже включи.
2. Для каждой позиции установи лицензию той версии, которая стоит в проекте.
   Бери её только из первичных источников: вывод <pip-licenses | license-checker>,
   метаданные реестра пакетов, файл LICENSE в репозитории по тегу версии,
   страница условий на сайте правообладателя. По памяти не отвечай.
3. Отнеси каждую позицию к классу: отказ от прав | разрешительная | слабый копилефт |
   сильный копилефт | сетевой копилефт | только некоммерческое | особые условия |
   не установлено.
4. Запиши, какие обязанности возникают при нашем способе распространения.

Формат ответа
Таблица Markdown: № | Компонент | Версия | Где используется | Лицензия (SPDX) |
Источник (ссылка) | Класс | Обязанности | Проверено по источнику (да | нет).
После таблицы три списка: «Мешает продаже», «Можно при условии», «Не установлено».
В первых двух для каждого пункта – что можно сделать: заменить (на что),
купить лицензию, открыть код.

Правила
- Сначала покажи план: какие файлы прочтёшь и какие команды запустишь.
  Дождись моего согласия.
- Если лицензию установить не удалось, пиши «НЕ УСТАНОВЛЕНО» и что нужно,
  чтобы её установить. Не предполагай.
- Если два источника расходятся, запиши оба значения и не выбирай сам.
- Общий вывод «продавать можно» или «нельзя» не делай: его сделает команда.
- Ничего в проекте не меняй и не устанавливай без моего согласия.
  Читать файлы и запускать перечисленные команды можно.
- В конце приложи список выполненных команд, число пакетов в выводе сканера
  и число строк в таблице (они должны совпасть) и перечисли, что ты не проверял.
```

## 2. Запрос проверяющему

```
Ты проверяешь чужую работу. Ниже таблица лицензий проекта.
Твоя задача – найти в ней ошибки, а не подтвердить её.
Для каждой строки открой указанный источник и проверь:
1) ссылка существует и относится именно к этой версии;
2) идентификатор лицензии совпадает с тем, что написано в источнике;
3) класс лицензии определён верно;
4) у компонента нет второй лицензии и отдельных условий для весов модели или данных.
Выведи только строки с расхождениями и строки, которые проверить не удалось.
Если расхождений нет, перечисли, какие строки и чем ты проверил.

<таблица>
```

## Перед запуском

- Выполните сканер своей экосистемы и приложите его вывод к первому запросу:
  агент должен толковать факты, а не вспоминать их.
- Дайте агенту право читать проект и запускать сканер, но не менять зависимости.
- Сохраните оба запроса и оба ответа: они входят в лицензионный паспорт.
