Yun Chan
|
f472883c31
|
대시보드 이슈 정리 1차
|
2026-06-27 17:51:54 +09:00 |
|
Yun Chan
|
0ec266a761
|
동의 게이트와 런타임 안정화
|
2026-06-27 17:22:38 +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
|
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
|
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
|
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 |
|