vignette/apps/api/app/services/inner_reaction_exposure.py
Yun Chan 29c406d89f Jev 내담자 평가·표현 v2와 속마음 공개
상담자 발화 판정(A)·감정(B)·표현(C) 20문항 질문 세트, 감쇠 없는 이번 턴 반응과 비대칭 기분 전이, 개방도 게이트로 생성 지시를 만들고 ccd.coping_strategy 전달 누락을 고친다.

trace v2와 고정 문구 속마음 요약(migration 24, AI 경로 차단 RLS)을 같은 트랜잭션에 저장하고 피드백 정책이 켜진 경우에만 done·TurnResponse·음성 reply·리뷰로 노출한다. 회기 화면 속마음 보기 토글, 리뷰 접힘 블록, 관리자 감정 관측 v2 표시를 추가한다.
2026-09-30 13:23:09 +09:00

26 lines
892 B
Python

"""속마음 요약(§8.2) 노출 게이트 — stream done·TurnResponse·voice reply 세 경로 공용.
저장 성공과 학습자 피드백 정책이 모두 참일 때만 원문 그대로 넘긴다. 위기·legacy·
실패·취소 턴은 orchestrator가 애초에 inner_reaction을 만들지 않아(None) 여기서도
자연히 None이 된다.
"""
from __future__ import annotations
from ..contracts.client_affect import ClientInnerReactionV1
def expose_client_inner_reaction(
inner_reaction: ClientInnerReactionV1 | None,
*,
stored: bool,
feedback_enabled: bool,
) -> ClientInnerReactionV1 | None:
"""저장 성공 && 학습자 피드백 정책이 켜졌을 때만 속마음 요약을 노출한다."""
if inner_reaction is None or not stored or not feedback_enabled:
return None
return inner_reaction
__all__ = ["expose_client_inner_reaction"]