From 5560638e54c1d5c2dc33355fe82d625553288e15 Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Sat, 27 Jun 2026 16:05:57 +0900 Subject: [PATCH] =?UTF-8?q?P1=20=EC=95=84=EB=B0=94=ED=83=80=20PSB=20?= =?UTF-8?q?=EC=B5=9C=EC=8B=A0=EB=B3=B8=20=EA=B8=B0=EB=B3=B8=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/src/pages/AvatarPreview.tsx | 8 ++++---- apps/web/src/pages/Session.tsx | 2 +- docs/dev_dashboard.html | 4 ++-- docs/ops/handoff-avatar-seoyeon-2026-06-27.md | 8 +++++--- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/apps/web/src/pages/AvatarPreview.tsx b/apps/web/src/pages/AvatarPreview.tsx index b55a85e..dc6b6ec 100644 --- a/apps/web/src/pages/AvatarPreview.tsx +++ b/apps/web/src/pages/AvatarPreview.tsx @@ -16,7 +16,7 @@ const SEOYEON: AvatarPersona = { outfitColor: "#7C8A92", eyeColor: "#7A5A3C", accentColor: "#6B5E7D", - rasterArtSet: "seoyeon", + rasterArtSet: "seoyeon-live2d-psb", realism: 0.4, expressionBias: "sad", }; @@ -42,8 +42,8 @@ export default function AvatarPreview() { const previewPersona: AvatarPersona = { ...SEOYEON, rasterArtSet: - rig === "psb" - ? "seoyeon-live2d-psb" + rig === "safe" + ? "seoyeon" : rig === "v3" ? "seoyeon-live2d-v3" : SEOYEON.rasterArtSet, @@ -53,7 +53,7 @@ export default function AvatarPreview() {

서연 아바타 미리보기 (raster / Live2D식)

diff --git a/apps/web/src/pages/Session.tsx b/apps/web/src/pages/Session.tsx index 8b87f9c..325ab4b 100644 --- a/apps/web/src/pages/Session.tsx +++ b/apps/web/src/pages/Session.tsx @@ -110,7 +110,7 @@ const PERSONA_AVATAR_LOOKS = { outfitColor: "#7C8A92", eyeColor: "#7A5A3C", accentColor: "#6B5E7D", - rasterArtSet: "seoyeon", + rasterArtSet: "seoyeon-live2d-psb", expressionBias: "sad", }, P4: { diff --git a/docs/dev_dashboard.html b/docs/dev_dashboard.html index 461bd1d..0e9eb23 100644 --- a/docs/dev_dashboard.html +++ b/docs/dev_dashboard.html @@ -589,7 +589,7 @@
BLOCK
공개 Google OAuth 실제 /turn proof 확보

로그인 가능한 계정으로 storageState를 저장한 뒤 public-auth-turn E2E를 실행한다.

산출물

apps/web/node_modules/.tmp/public-auth.json, public /turn 성공 로그

검증

E2E_PUBLIC_AUTH=1 + chromium-public-auth 1회 통과

DONE
engine config 운영값 재확인

GET /admin/engine-config로 운영값을 직접 확인했다. engine_mode=claude_cli, engine_url=http://127.0.0.1:9099, model=gateway-default, durable=true, source=database로 의도값과 일치한다.

산출물

config API 응답(durable, db source)

검증

claude_cli / http://127.0.0.1:9099 / gateway-default 의도값 대조 완료

-
DONE
과거 Live2D demo 자산 제거

Mao/Haru 샘플, Pixi/Cubism 런타임, 공개 /live2d/* 캐시 잔여 접근을 차단했다.

산출물

apps/web/functions/live2d/[[path]].js, SVG-only avatar

검증

운영 /live2d/mao/*, Cubism core 404

+
DONE
과거 Live2D demo 자산 제거

Mao/Haru 샘플, Pixi/Cubism 런타임, 공개 /live2d/* 캐시 잔여 접근을 차단했다.

산출물

apps/web/functions/live2d/[[path]].js, P1 PSB raster avatar + SVG fallback

검증

운영 /live2d/mao/*, Cubism core 404

DONE
프로세스 난립 정리

임시 Vite preview와 dev API를 내리고 운영 확인용 프로세스만 유지한다.

산출물

9099 engine, 8001 prod API, cloudflared tunnel 1개

검증

Get-NetTCPConnection에서 8000/517x/5537 비어 있음

GATE
한신대 공문/데이터 거버넌스 게이트 정리

SSO 클레임, 추가 축어록 수급, 미성년 원본 활용동의, 개인정보 처리방침을 P1 진입 전 외부 의존성으로 명확히 둔다. 로컬 문서 골격은 준비됐지만 한신대/데이터 steward의 written evidence는 아직 필요하다.

산출물

docs/ops/hanshin-data-governance-gate.md, 공문 질의 항목, 동의 범위 체크리스트, SSO claim mapping 표

검증

문서 artifact 작성 완료; IRB 게이트가 아니라 데이터/SSO 게이트로 외부 증거 필요 상태 유지

@@ -613,7 +613,7 @@
DONE
음성 실패 턴 미저장

음성 회기도 엔진 응답 생성 성공 후에만 learner/client turn을 저장한다. 실패한 transcript는 pending 상태에서 제거한다.

산출물

voice failure persistence guard

검증

voice + voice-success + session-layout 15 passed

DONE
비영구 상태 문구 정리

admin health와 voice degraded reason은 내부 fallback/seed 표현 대신 비영구 런타임 상태를 사용자용 문구로 표시한다.

산출물

operator-facing copy cleanup

검증

settings/admin focused E2E 통과

DONE
직접 URL persona 차단

/learn/session/:code로 직접 들어와도 DB 원본 persona가 아니면 회기 시작을 막는다.

산출물

route guard, degraded/seed fallback regression

검증

unavailable persona code E2E 통과

-
DONE
demo Live2D 자산 제거

Mao/Haru 샘플과 Pixi/Cubism 런타임을 공개 배포물에서 제거했다. 세션 화면은 SVG persona avatar만 렌더링한다.

산출물

SVG-only avatar, legacy /live2d/* 404 function

검증

Mao/Haru/Cubism core routes 404, no Live2D/Pixi chunks

+
DONE
demo Live2D 자산 제거

Mao/Haru 샘플과 Pixi/Cubism 런타임을 공개 배포물에서 제거했다. 세션 화면은 P1 PSB raster avatar와 SVG fallback을 렌더링한다.

산출물

P1 PSB raster avatar, SVG fallback, legacy /live2d/* 404 function

검증

Mao/Haru/Cubism core routes 404, no Live2D/Pixi chunks