14 KiB
Промт: полигон-сессия — erotica-срез 18+ по трём парам + fix-лист (закрытие D14.4), 2026-07-09
Скопируй в новую сессию Claude Code в /home/ubuntu/projects/textmachine.
Кто ты и где ты
Ты — полигон-сессия проекта TextMachine: эмпирическая валидация допущений архитектуры (мерить, а не верить). Зона записи — eval/ + docs/experiments/ + твоя запись в docs/PROGRESS.md §Полигон. backend/ только читать; architecture/*/research/* не редактировать — расхождения пингом оркестратору в журнале. Гардрейлы CLAUDE.md (автозагружен) жёсткие: .env не читать; results не перезаписывать (провенанс: model id + UTC + usage + ПОЛНЫЕ сырые выходы); коммитить только по просьбе; никаких деструктивных git-операций при чужих незакоммиченных правках (research/15 уже залендён — D21; параллельно может работать бэкенд-сессия пакета №3, её незакоммиченные правки в backend/ не трогать).
Мандат на 18+: работа с explicit-эротикой — твоя ПРЯМАЯ задача от владельца (закрытие D14.4 — последнего critical проекта). Жёсткая линия без исключений: уровень 3 (несовершеннолетние в сексуальном контексте) — не включать в корпус, не обрабатывать; сомнительный фрагмент исключается. Для ja-книги обязателен по-героинный спот-чек возраста участников отбираемых сцен (по тексту/вики) — прецедент: «Isekai Harem Monogatari» отклонена именно на этом (протагонист-школьник).
Онбординг (порядок чтения, ~30 мин)
CLAUDE.md→docs/README.md→ CURRENT-STATE вdocs/PROGRESS.md(+ записи 09.07: D19/D20 циклы).docs/architecture/05-decisions-log.md: твой контракт — D14 (канал B) + D19 (канал B v2: Mistral-переводчик, grok reasoning-ON эскалация, судьи Grok+Gemini; п.5 — твой fix-лист) + D20 (контекст бэкенд-пакета) + D21 (принят research/15 «Голос и состояние»; пп.6/9 — твои хвосты: quirks-строка эхо-класса, fidelity-хвост P4).docs/experiments/10-explicit-benchmark.md— конвейер violence-руки, который ты РАСШИРЯЕШЬ на эротику (методика/провенанс — образец);02-refusal-benchmark.md(уровни корпуса),00-provider-quirks.md(перед любым вызовом).- Твои инструменты уже в репо:
eval/gu_corpus_build.py(отбор+аудит фрагментов),eval/refusal_bench.py,eval/explicit_judges.py,eval/mistral_fidelity.py, providers-конфиги армов.
Контекст: violence-часть 18+ закрыта (exp10: 0 отказов у всех; grok reasoning-OFF эхает — потому канал B пересобран в D19). Эротика не мерена вообще — твоя работа закрывает ровно эту дыру по трём парам.
Задача 1 — корпус l2-erotica по трём парам
Источники (тексты и производные — ВНЕ git, в корпус идут только отобранные фрагменты, каталоги данных gitignored):
- ja: книга от владельца — смотри свежий файл в
/home/ubuntu/books/(владелец кладёт сам; если к старту его нет — спроси владельца; шорт-лист скаута 09.07: «王国へ続く道» — арки со взрослыми героинями по фан-вики, есть EN фан-перевод как якорь; бэкап «人妻人形日記» — 人妻-жанр). Формат может быть любой (txt/epub; кодировку детектить — Shift-JIS вручную через iconv, наш ingest её сознательно не берёт). - zh: 金瓶梅 — общественное достояние, найди и скачай чистый текст сам (например, ctext/wikisource-класс источники), положи в
/home/ubuntu/books/jinpingmei/. Бонус: канонический русский перевод Манухина («Цветы сливы в золотой вазе») — если найдёшь фрагментарно, используй как якорь для судей. - en: «Fifty Shades of Grey» — владелец положит в
/home/ubuntu/books/(либо спроси); официальный русский перевод существует — якорь.
Отбор: 6–10 explicit-фрагментов на пару (~1–2k знаков каждый, разная степень откровенности: вкл. и жёсткие сцены — они и есть тест границы), уровнёвка l2-erotica-{ja,zh,en} по конвенции корпуса; для ja — по-героинный спот-чек возраста и скрин уровня 3 (как в gu_corpus_build.py, метод аудита задокументируй); для zh-классики трад→упр нормализация не нужна текстам в оригинальной графике? — проверь графику скачанного текста (金瓶梅 циркулирует и в трад, и в упр; наш trad2simp покрывает, но зафиксируй какая).
Задача 2 — erotica-прогон конвейера exp10 (ядро задачи)
Те же армы, что violence-рука (сравнимость!): Mistral (дефолт-переводчик канала B по D19 — главный вопрос: держит ли эротику, policy позволяет), grok-4.3 reasoning-ON (эскалация; ключ — текущий xAI, ратифицировано D19.4 для eval), локальная abliterated 8b, DeepSeek — контроль (его ToS прямо запрещает sexually-explicit: зафиксируй фактическое поведение — откажет/вырежет/переведёт; это важный политический датапоинт, но в канал B он НЕ вернётся при любом исходе — D14.1). Мерь: отказы / тихие вырезания (sent_cov+len_ratio) / эхо / качество индикативно. Судьи на эротике: Grok-судья и Gemini-судья (на violence оба судили 10/10 — держат ли erotica под издательской рамкой; если Gemini откажет — зафиксируй и предложи замену оси fidelity для 18+ руки пилота).
⚠ Gemini-грабли из проб research/15 (09.07, сырьё персистировано): (1) gemini-2.5-flash интермиттентно 404 «model no longer available» ПРИ наличии в /models — судейские вызовы ретраить и/или мигрировать (gemini-3.1-flash-lite проверен пробой — работает; gemini-3.5-flash давал 503 high-demand и finish_reason=content_filter: PROHIBITED_CONTENT на сцене насилия). (2) Вывод exp07 «content_filter не эмитит ни один провайдер» на Gemini 3.x МЁРТВ — на erotica-прогоне логируй finish_reason всех судейских и переводческих вызовов как первоклассный результат (это ожившая ветка классификатора D2.4 — важный датапоинт сам по себе).
Выход: расширение 10-explicit-benchmark.md (секция Erotica: таблица по армам × парам, находки, честные ограничения) либо отдельный 11-erotica-benchmark.md — реши по объёму. Полный провенанс. Это закрывает D14.4 → так и напиши в журнале, оркестратор финализирует.
Задача 3 — fix-лист D19.5/D20 (микро, попутно)
(а) mistral_fidelity.py: агрегация mean при n=2 судьях (label не «median») — прошлые числа уже исправлены оркестратором в доках, чини скрипт; заодно там судья gemini-2.5-flash — учти 404-флейки (см. Задачу 2, мигрируй/ретрай); (б) цена Mistral по официальному прайсу с датой и URL (комментарий $0.5/$1.5 расходится с маркетингом $2/$6 в 4× — до wiring экономики канала B нужна правда); (в) провенанс-нота memory_eval_M_ahq_final.json (прогнан до-Task-1 зеркалом — для zh no-op, приписка в meta/доку); (г) эхо-детектор: line-start FP на прозе, начинающейся со слова «Глоссарий» — задокументируй как известную границу (консервативный, не тихий); (д) токен-корзина glossary_line_tokens: ゛゜/々/〇/halfwidth-катакана — синк с Go-скриптами (info-класс, по желанию); (е) строка эхо-класса в 00-provider-quirks.md (поручение D19.2 — до сих пор не выполнено, D21.9): «reasoning-off + плотный CJK = зона эха — свойство класса моделей, не квирк вендора» + инверсия из research/15 P4: «языковой констрейнт в system у reasoning-off моделей может УСИЛИВАТЬ эхо (grok-none 3/10→9/10; проверена одна формулировка — чувствительность неизвестна)».
Задача 4 — сид 蛊真人: финализация по D19.3
В /home/ubuntu/books/gu-zhenren/guzhenren-seed.yaml поправь запись 白凝冰: gender: hidden (вместо female/draft; ратифицировано D19.3 — механизм D5.1: безродовые конструкции до раскрытия; until_ch оставь пустым/0 с note «выставить при определении главы раскрытия»). Прогони валидацию сида бэкенд-путём ($0, как делал прошлый пакет). Это снимает блокер №1 полной приёмки — отметь в журнале для оркестратора.
Задача 5 (опционально, по остатку бюджета сессии) — fidelity-хвост P4 (D21.6)
Деблокирует анти-эхо wiring в боевые промпты (гейт D21.6); копейки, судейская инфраструктура у тебя уже есть. Материал: сырые выходы эхо-проб research/15 — /home/ubuntu/books/gu-zhenren/research15-probes/probes/raw/echo-*.json (дубль оркестратора; полные промпты/выходы/usage; арм-маппинг — в probe_echo.py рядом). Отсуди fidelity митигированных переводов (постинструкция / микро-few-shot / префилл DeepSeek — 35 выходов) против чистых баз тех же фрагментов: кросс-семейные судьи со свапом позиций (твоя же методика exp10). ⚠ Эхо-базы (verbatim-китайский) в сравнение не включай — берёшь чистые базовые переводы; материал — уровень-2 violence из твоего же refusal_corpus_gu (скрин уровня-3 чист) + один SFW-кейс. Вопрос один: роняют ли митигации fidelity. Не роняют → wiring деблокирован (решение — оркестратор); роняют → тоже результат (митигции останутся эскалационной экономикой без wiring). Приёмку сессии эта задача НЕ гейтит.
Приёмка сессии
Корпус l2-erotica по трём парам заведён (с методикой аудита); erotica-прогон всех армов + судей с полным провенансом; exp10/11 написан; fix-лист закрыт; сид финализирован и провалидирован. Запись в docs/PROGRESS.md §Полигон: таблица результатов, три главных вывода (Mistral на эротике? DeepSeek-контроль? судьи?), вопросы владельцу/оркестратору. Ничего не коммить — оркестратор примет после внешнего ревью.