Commit graph

118 commits

Author SHA1 Message Date
Yun Chan
0eb7d925ed 서버 안정화와 평가 모델 라우팅 보강 2026-06-27 16:34:27 +09:00
Yun Chan
0cdbf8e4fe 세션 시작 화면 아바타 문구 보정 2026-06-27 16:09:58 +09:00
Yun Chan
c0dddab594 현재 작업 전체 반영 2026-06-27 16:08:41 +09:00
Yun Chan
5560638e54 P1 아바타 PSB 최신본 기본 적용 2026-06-27 16:05:57 +09:00
Yun Chan
6bd91b0d5e 현재 작업 상태 저장 2026-06-27 11:20:24 +09:00
Yun Chan
085460b5e0 대시보드 폴드아웃/드릴다운 정리 + 페르소나 역린·misconduct 반응 + 게이트웨이 격리·RAG 비차단 수정
SSOT 대시보드:
- 한신대 기술분석 PDF(19쪽) 정합성 분석 + 이번 세션 발견 섹션 추가
- 섹션 폴드아웃(접기)·상단 목차(드릴다운)·모두 펼치기/접기 — 내용 보존, 레이아웃만 정리

페르소나 반응 강화('저항·반응 조절' 핵심 차별):
- PersonaCard.triggers(역린) 필드 + CCD 핵심상처 파생 역린 블록
- L0에 무례·모욕·조롱 시 현실적 동맹 균열 반응 지침

버그·성능 수정(라이브/E2E로 포착):
- 게이트웨이 페르소나 격리: --append-system-prompt를 --system-prompt(교체)로 + --exclude-dynamic-system-prompt-sections (내담자 캐릭터 붕괴·개발맥락 누출 차단)
- RAG: 임베더 동기 로드(약 7-13초)를 _warm_rag_caches 백그라운드 warm으로(세션 생성 블로킹 회귀 수정)
- voice TTS RMS 데드힌트 제거, init_state OpennessParams 파라미터객체화
- 한국어 PII(날짜·금액·주소) 마스킹 보강
- 레이아웃 시각 게이트: 폼 컨트롤 값 스크롤 오탐 제외(7/7)

검증: 백엔드 84/84, E2E 42(데스크톱 27·모바일 11·아바타 4), 시각 게이트 7/7
2026-06-27 02:30:46 +09:00
Yun Chan
543d48cd04 Block legacy Live2D asset routes 2026-06-26 15:11:54 +09:00
Yun Chan
435cbafbc5 Remove bundled Live2D demo assets 2026-06-26 15:09:32 +09:00
Yun Chan
188e899394 Stabilize runtime auth and E2E coverage 2026-06-26 14:47:00 +09:00
Yun Chan
f869d257ec fix(web): 학습자홈 '연습 시작' → 상담세션 라우팅 (라이브 진입 버그)
- startPractice가 console.info만 찍고 navigate 누락 → 학습자홈에 갇혀 mock만 보임
- useNavigate로 /learn/session/:personaCode 라우팅 추가
- puppeteer 풀흐름 검증: 학습자홈→연습시작→session→회기시작→말걸기→서연 실응답(turn 200)
2026-06-26 02:01:00 +09:00
Yun Chan
c953aa5bea feat(eval): 평가 AI fast-loop에 골든셋 few-shot 주입 — 합성 데이터 실활용
- evaluator._load_fewshot_examples/_fewshot_block: data/golden 골든셋에서
  기법 다양성 커버하는 상담자 발화 6개를 few-shot 예시로 로드(GOLDEN_DIR env,
  없으면 graceful 빈 블록).
- build_fast_messages 프롬프트에 주입 → 평가 라벨 일관성 보정.
- 윤찬 6결정 '재귀학습 few-shot부터' 실제 구현, P4-P7 골든셋 실활용.
- 검증: 9기법 커버(empathy/reflection/validation/holding/exploration/
  facilitative_question/interpretation/normalization/principle_explanation),
  app.main import OK.
2026-06-26 01:17:44 +09:00
Yun Chan
18b8ef3ef2 fix(web): 상담세션 라이브 연결 — start session_id를 turn에 사용(liveSessionId)
- 버그: handleStart가 sessionApi.start 결과 session_id 미저장, handleSend가
  URL :sessionId(임의값)로 turn 호출 → 백엔드 세션 불일치 → mock 폴백
- 수정: liveSessionId state에 start 결과 저장, turn/consume이 이걸 사용
- consumeClientReply: 동기 client_reply 있으면 SSE 스킵하고 타이핑 표시
- persona_code seoyeon→P1(시드 페르소나)
- puppeteer 실화면 검증: 회기시작→말걸기→서연 실응답 확인
2026-06-26 00:24:18 +09:00
Yun Chan
c57c34ade6 feat(api): DB off degraded 기동(store 폴백) + dev 인증 우회 — 풀 API 라이브 E2E 통과
- main lifespan: init_pool 실패해도 store 인메모리 폴백으로 degraded 기동
- deps: environment=dev면 쿠키 없어도 더미 학습자(로컬 라이브). prod는 401 유지
- 실증: POST /sessions(201) → turn → 서연 client_reply, safety_flagged=false
2026-06-25 23:51:59 +09:00
Yun Chan
eca1f6a413 fix(web): 기본 라이트 테마 고정 — OS 다크선호 미추종(다크는 명시 토글로만) 2026-06-25 23:44:33 +09:00
Yun Chan
24b1b7a6e1 feat: P1 풀빌드 — React 프론트 7화면 + 백엔드 상담루프·평가·음성·RAG
web (Vite+React19+TS, Cloudflare Pages 배포):
- 디자인토큰(세이지틸/테라코타 SSOT), 앱셸, 공통 UI 프리미티브
- 7화면: 로그인/학습자홈/상담세션/회기리뷰/교수자/관리자/설정
- ClientAvatar: SVG 반구상 흉상 4상태 + RMS 립싱크 + 6파라미터 정서
- 회기리뷰는 외부 레퍼런스 디자인을 Vignette 토큰으로 리스킨

api (FastAPI):
- 게이트웨이 /v1/generate·/v1/stream 어댑터(상주풀/EngineSession 보존)
- services: 페르소나 L0~L6 빌더 / 결정론 상태머신 / 가드레일 /
  턴 오케스트레이터 / 회기간 메모리 / 평가AI / 음성 / RAG
- store: DB off 폴백(in-memory), sessions 실구현

검증:
- web: node22 tsc+vite build 통과(node23 segfault 회피), Pages 배포 200
- api: app.main import 통과
- 핫픽스: Topbar initials undefined-safe (undefined.trim 크래시)
- E2E: 서연(P1) 상담 1턴 — 좋은/나쁜 상담에 차등 반응 실증
2026-06-25 23:37:22 +09:00
Yun Chan
84eb6e2173 feat(engine): claude -p 상주 멀티턴 엔진 게이트웨이 + 실동작 검증
- engine_gateway/gateway.py: 회기당 claude -p 상주 프로세스(stream-json), 턴 직렬, budget 제한
- 세션 생성/턴/종료 HTTP API(FastAPI, :9099)
- 검증: 멀티턴 컨텍스트 유지 + prompt caching 재사용(턴2 +$0.07) 실동작 확인
2026-06-25 21:43:27 +09:00
Yun Chan
204726f707 feat(infra): 이식 가능한 Docker 배포 구성
- docker-compose.yml: web/api/db(pgvector)/rag/proxy 한 방 기동
- 엔진 어댑터 분리: ENGINE_URL/ENGINE_MODE로 로컬 claude -p ↔ API 전환(코드 무수정 이전)
- Caddy: 자동 TLS + SSE flush/WSS 무버퍼(실시간 음성)
- DEPLOYMENT.md: 이식/엔진분리/스케일업/외부노출 가이드
- 페이지 레이아웃 시안 6종(login/learner-home/session-review/professor/admin/settings)
2026-06-25 21:24:19 +09:00
Yun Chan
709baadd01 chore: Vignette 모노레포 초기 스캐폴드 + 설계 문서 이관
- apps/web(React) · apps/api(FastAPI) · infra(Docker) · docs(설계 SoT)
- 마스터플랜·적대검증·메모리설계·디자인컨셉 docs 이관
- 미성년 사례데이터는 .gitignore로 제외(개인정보 보호)
2026-06-25 21:16:45 +09:00