textmachine/docs/archive/prompts/POLYGON_PACKAGE5_SESSION_PROMPT.md

14 KiB
Raw Blame History

Промт полигон-сессии: ПАКЕТ 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-chatdeepseek-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 декларировать.
  • Канал вопросов: непонятно / промт конфликтует с кодом или доками → пинг оркестратору через владельца, НЕ тихая интерпретация. Аддендумы доезжают только релеем — подтверди получение явной строкой в отчёте.