textmachine/docs/archive/prompts/POLYGON_PACKAGE5_SESSION_PROMPT.md

65 lines
14 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.

# Промт полигон-сессии: ПАКЕТ 5 — ФАКТЫ ToS под content-labels + док-синк хвосты
**Статус: ✅ ПАКЕТ ОТРАБОТАН ЦЕЛИКОМ И ПРИНЯТ (`D39.29` факты · `D39.30` подписи владельца, 25.07) — промт архивный.** Итог: вердикты ToS/AUP 8 вендоров × 2 лейбла добыты первоисточниками (15 цитат, grep-подтверждение); две строки `accepts_labels: [sexually-explicit]` (`xai`, `mistral`) подписаны и применены; по `violence` права нет ни у кого — лейбл не заводится, интерпретация владельца зафиксирована; все 8 док-синк пингов закрыты. Отчёт с ревью-шапкой: `archive/reports/POLYGON_TOS_LABELS_REPORT_2026-07-25.md`; факты — `experiments/00-provider-quirks.md` §«Право по ToS/AUP».
**Статус выдачи: 25.07.2026, оркестратор №8.** Два блока: **A — добыча фактов ToS/AUP по провайдерам (главное, ради него пакет)** и **B — семь док-синк пингов (лёгкий хвост, без церемоний)**. Зона записи: `eval/` + `docs/experiments/`; отчёт — в `docs/archive/reports/`. **Сессия НЕ коммитит.** `backend/` — read-only (чужая зона): данные ты ПРЕДЛАГАЕШЬ строками в отчёте, применяет их оркестратор после подписи владельца.
## Первый деливерабл — эхо-блок (норма 10, ≤10 строк, ДО работы)
«Что я понял: скоуп / инварианты / чего не делать» — расхождение чинится на минуте пять, а не на приёмке.
## Зачем это (контекст, из кода не выводится)
Пак-17 залендён целиком (D39.26 дизайн · D39.27 стройка · D39.28 дельта). В движке **больше нет понятия «18+»**: есть generic-механизм **content-label книги × `accepts_labels` эндпойнта × реестр политик** (`route | allow | terminal`). Флаг `permissive` ОТСТАВЛЕН — его больше нет.
Владелец ратифицировал **вокабуляр из двух лейблов: `violence` и `sexually-explicit`** (D39.27 п.5). Смысл именно в раздельности: D14 п.1 (проверено по первоисточнику) — ToS DeepSeek запрещает *sexually explicit*, но **violence оставляет допустимым**, поэтому violence-тяжёлая книга не обязана терять дешёвого редактора. Единый «adult» это схлопывал.
**Сейчас `accepts_labels` ПУСТЫ у всех провайдеров, и это спроектированное fail-closed состояние:** любая помеченная книга падает громко, называя модель, провайдера и недостающий лейбл. **Между рабочим механизмом и первой помеченной книгой стоит ровно одна вещь — ФАКТЫ, которых у нас нет.** Их и добываешь.
## БЛОК A — факты ToS/AUP: провайдер × лейбл
### «РОВНО ТАК» (ратифицировано; отступление = пинг оркестратору через владельца, НЕ интерпретация)
1. **`accepts_labels` = ПРАВО отправлять такой контент этому эндпойнту по ToS/AUP вендора. Это НЕ предсказание отказа.** Две оси не путать, они эмпирически расходятся в обе стороны: Gemini fail-closed на графичной эротике (D22.6, wire-verified) — это ПОВЕДЕНИЕ фильтра, а не запрет в договоре; DeepSeek в exp11 переводил explicit-фрагменты **против собственного ToS** — то есть готовность модели ответить ничего не говорит о праве. Мы маршрутизируем по ПРАВУ (ToS-гигиена, D39.25), отказ обрабатывается отдельно и причино-агностично.
2. **Ответ даётся ПЕР-ЛЕЙБЛУ, а не пер-провайдеру целиком.** Для каждого вендора два независимых вердикта: `violence` и `sexually-explicit`. Вся выгода ратифицированной пары держится на том, что у одного вендора они могут расходиться.
3. **Три вердикта, третий легитимен:** `ALLOWED` · `FORBIDDEN` · **`UNCLEAR`**. «Не нашёл однозначного пункта» — это честный результат, а не провал: он оставляет fail-closed, что безопасно. **Гадать запрещено** (правило двух направлений, шапка `00-provider-quirks.md`): вердикт без дословной цитаты первоисточника не существует.
4. **Каждый вердикт несёт доказательство:** URL страницы · дата ревизии/версии документа (как её объявляет сам вендор) · **дословная цитата** релевантного пункта · дата твоей проверки · что именно ты искал (какие разделы просмотрел). Пересказ вместо цитаты не принимается.
5. **Ты фиксируешь ФАКТЫ, а не выдаёшь юридическое заключение.** Спорные формулировки («adult content» без определения, отсылки к местному праву, разные правила для потребительского продукта и API) → `UNCLEAR` + явный вопрос владельцу в отчёте. Итоговую подпись под строками данных ставит владелец.
6. **Никаких live-вызовов с 18+ контентом и никаких проб «а откажет ли модель».** Этот пакет — ЧТЕНИЕ ДОКУМЕНТОВ. Поведенческие пробы не нужны и не санкционированы.
7. **`backend/` не править.** Предложенные строки данных — в отчёте, в код-блоке, в формате `accepts_labels: [violence]` под нужным провайдером. Применяет оркестратор.
8. **Гардрейлы проекта в силе:** `eval/data/refusal_corpus/*` НЕ открывать · 18+ уровень 3 не обрабатывать и не анализировать · `.env` никогда не читать · L3-классификатор не проектировать.
### «РЕШИ САМ И АРГУМЕНТИРУЙ»
- **Порядок и глубина.** Приор (опровергается аргументом): сперва те, кто реально стоит в цепочках и армах — **xai, mistral, deepseek, zai**; затем **kimi, gemini, openai**; **local** — особый случай (вызовов наружу нет; релевантны лицензия/условия использования самой модели, а не вендор-API) — зафиксируй этот статус явно, вердикт по нему может быть «н/п, решает владелец».
- **Какие документы считать первоисточником** (ToS · Acceptable Use / Usage Policy · Content Policy · API-специфичные приложения) и как поступать, когда потребительские правила расходятся с API-правилами — реши и объясни.
- **Форма секции** в `00-provider-quirks.md` (таблица + блок цитат — приор), где её разместить, как пометить дату следующей пере-проверки.
- Полный перечень провайдеров возьми сам из `backend/configs/models.yaml` (код-факт, у тебя он точнее моего пересказа).
### Мандат самопроверки ИСПОЛНЕНИЕМ (обязателен, решение владельца 12.07)
Типовой провал этого класса работы — **не выдумка, а ОВЕР-АТРИБУЦИЯ: верная цитата приписана не тому вендору, не тому пункту или не той ревизии документа.** Поэтому после того, как таблица написана: **вернись к КАЖДОМУ источнику и перечитай каждую цитату на месте**, сверив (а) вендора, (б) документ и его дату, (в) что цитата действительно поддерживает записанный вердикт, а не соседний. Расхождение цитаты и вердикта фиксируй как найденную ошибку в отчёте — это ожидаемо и ценно.
### Деливераблы блока A
1. Новая секция в `docs/experiments/00-provider-quirks.md` — таблица `провайдер × лейбл → вердикт` + блок доказательств (цитата/URL/дата).
2. Отчёт `docs/archive/reports/POLYGON_TOS_LABELS_REPORT_2026-07-XX.md`: метод · таблица · **предложенные строки для `backend/configs/models.yaml`** (только `ALLOWED`; `UNCLEAR`/`FORBIDDEN` строк не порождают) · явный список `UNCLEAR` с тем, чего не хватило · вопросы владельцу.
3. Явная строка о том, что применение строк требует подписи владельца (18+/юридическая ось — его решение, не наше).
## БЛОК B — семь док-синк пингов (лёгкий хвост; правки в твоей зоне, тела доков не переписывать)
1. `docs/experiments/00-provider-quirks.md:13,73` — катовер `deepseek-chat``deepseek-v4-flash` (24.07.2026) **прошёл**, а пост-катоверный факт не внесён: жив ли алиас, какие цены сейчас. Проверь live-пробой `/models` + вендор-докой, обнови обе строки.
2. `docs/experiments/00-provider-quirks.md:69` — оговорка про mistral-editor-арм **superseded D39.20** (mistral исключён как несущий редактор). Саму оговорку сними, **цифры rate-limit ОСТАВЬ** — mistral остаётся переводчиком под лейблом.
3. `docs/experiments/09-pilot-protocol.md:3` — ⚠-указатель застрял на D31/glm-5. Продли до пост-D39.22 (dspro-интерим · планка ≤2 не пройдена на rerun2 · авто-QA слепыми метками D39.20 · стайл-каноны D39.21). **Тело протокола не трогать.**
4. `docs/experiments/15-segmentation-empirics.md:6-7` — статус-блок до сих пор «ждёт подписи/коммита», хотя эксперимент залендён в REV.2 (D39.7/D39.8, $12.79 потрачены). Переверни статус.
5. `docs/experiments/16-bank-mining.md:3` — допиши финал: «ИСПОЛНЕН И ЗАЛЕНДЁН (D39.10); gender-тачпойнт §7 закрыт (D39.19); продолжение — Go-майнер, парити EXACT».
6. `docs/experiments/README.md` — индекс застрял на D38.2, нет строк exp15/exp16. Досведи.
7. `eval/README.md` — не тронут с 19.07 (до rerun2). Освежи статус под пост-D39.22: эксперимент закрыт · судейский риг-стандарт D39.7 · экстракция только через `tmctl export`.
**Плюс восьмое, следствие пака-17** (делай в том же проходе): в `00-provider-quirks.md` слово `permissive` как флаг конфига больше не существует — заменено на `accepts_labels` пер-лейблу. Если флаг где-то упомянут как живой, поправь.
## Приёмка и дисциплина
- **Заявление = команда** (норма 7): каждое фактическое утверждение отчёта — с командой/URL, которым получено; приёмка ре-ранит.
- Сессия **НЕ коммитит** (исключение прежнее — пре-рег фризы перед платными вызовами; здесь платных вызовов нет). `git mv` декларировать.
- **Канал вопросов:** непонятно / промт конфликтует с кодом или доками → **пинг оркестратору через владельца, НЕ тихая интерпретация.** Аддендумы доезжают только релеем — подтверди получение явной строкой в отчёте.