Skip to content

feat(wp498): Ф15 — T4 «назови понятие» без «?» идёт в Наставника бота, не в Hermes (вариант Д) - #308

Closed
TserenTserenov wants to merge 2 commits into
wp498-f14-cleanupfrom
wp498-f15-t4-concept-naming
Closed

TserenTserenov wants to merge 2 commits into
wp498-f14-cleanupfrom
wp498-f15-t4-concept-naming

Conversation

@TserenTserenov

Copy link
Copy Markdown
Contributor

Что

У участников тира T4 обычные сообщения уходят в Hermes. Событие concept_named (факты мастерства М10/М11/М14 чек-листа РП-522) умеет писать только консультация бота при под-интенте concept_naming. Теперь T4-сообщение без ведущего «?» с якорем «назови понятие» (detect_mentor_intent) идёт в Наставника бота, а не в Hermes.

Стек: поверх #307 (Ф14) — база этого PR wp498-f14-cleanup; после слияния #307 перенацелить на pilot.

Как

  • handlers/fallback.py: _is_concept_naming_request() — тот же детектор, что внутри консультации, списки якорей не копируются. Ветка в T4-блоке стоит ДО вызова Hermes и ПОСЛЕ проверки «SM ждёт ответ». Уважает allow_global: [consultation] из transitions.yaml через check_global_event('?'+text, state) — паритет с «?»-вопросом. Лог с тиром для приёмки.
  • tests/test_role_free_for_all_tiers.py: 11 тестов на реальный предикат. Полный прогон: 564 passed, 10 known pre-existing failures (i18n ES/FR, revoke_consent, pgcrypto, profile_empty).
  • docs/scenarios/02-вспомогательные/scenario-02-04-consultation.md: раздел «T4 и Гермес».

Решение

АрхГейт (варианты А/Б/Б′/В/Г/Д, пир-сессия с Kimi, консенсус на Д с пост-деплойным измерением 2 недели и порогом отката): DS-my-strategy/inbox/WP-498/DRR-f15-hermes-concept-named.md.

Приёмка после выкатки на pilot

С T4-аккаунта, без «?»: «объясни через понятия IWE, что мы сейчас сделали» → в логах [fallback] T4 concept_naming intent → common.consultation … tier 4 и Mentor concept_named: emitting …; ответ от Наставника бота, не от Hermes. Контроль: «Наставник, я застрял» без «?» → по-прежнему Hermes.

🤖 Generated with Claude Code

TserenTserenov and others added 2 commits September 5, 2026 18:03
…, не в Hermes (АрхГейт, вариант Д)

Событие concept_named (факты мастерства М10/М11/М14) умеет писать только
консультация бота при под-интенте concept_naming. У T4 такие сообщения без
ведущего «?» раньше уходили в Hermes и терялись для чек-листа участника.

- handlers/fallback.py: _is_concept_naming_request() поверх того же
  detect_mentor_intent() (списки якорей не копируются); ветка в T4-блоке ДО
  вызова Hermes, после проверки «SM ждёт ответ»; уважает allow_global
  консультации через check_global_event('?'+text, state) — паритет с
  «?»-вопросом; лог с тиром для приёмки (условие пир-сессии с Kimi).
- tests: 11 тестов на реальный предикат (положительные, отрицательные,
  «?»-текст не обрабатывается дважды). 564 passed, 10 known failures.
- docs: сценарий консультации, раздел «T4 и Гермес».

DRR: DS-my-strategy/inbox/WP-498/DRR-f15-hermes-concept-named.md
Пир-сессия: MC-sessions 2026-09-05-22-archgate-hermes-concept-named

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…«?», смоук-тесты самой ветки, оговорка про FSM

- High: «гейт»/«понятие» у разработчика T4 — обиходные слова вне IWE
  («какой гейт сработал: AND или OR», «объясни фотосинтез через понятия»).
  Без «?»/префикса теперь действует только подмножество
  _CONCEPT_NAMING_EXPLICIT_PATTERNS («понятия IWE», «какой гейт мы применили»,
  «назови понятие/гейт»); явный «Наставник, …» — прежний detect_mentor_intent.
  Владелец списков — states/common/consultation.py (is_explicit_concept_naming_request),
  fallback только делегирует. «?»-путь не сужен.
- Medium: три смоук-теста самой ветки on_unknown_message (go_to консультации
  + Hermes не вызван; гейт allow_global закрыт → Hermes как раньше; фраза
  разработчика → Hermes). Проверка гейта — ровно как у «?»-вопроса.
- Medium/Low: сценарий дополнен оговоркой про активный aiogram FSM-стейт
  (passthrough-middleware пропускает только «?»-текст) — известный пробел,
  middleware сознательно не трогали (правило 10.37).

Тесты: 1056 passed, 10 known pre-existing failures.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@TserenTserenov

Copy link
Copy Markdown
Contributor Author

Закрыт без слияния: пилот решил отключить внешний Гермес в чате бота целиком (см. #309), вместо точечного фикса маршрутизации T4→Hermes для события concept_named. Сам T4→Hermes редирект, который этот PR чинил, удалён в #309 — правка становится неприменима.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant