Commit graph

150 commits

Author SHA1 Message Date
Yun Chan
4e6b0045e3 관리자 워크스페이스 접근 확장과 소유자 결정 7건 확정 반영
- 관리자(role=admin)가 학습자·교수자·관리자 워크스페이스를 모두 접근하도록
  can_access_role/require_role와 프론트 auth 헬퍼·Sidebar 내비를 정리하고
  admin 워크스페이스 내비 E2E를 추가.
- 소유자 결정 7건 전건 확정(2026-06-30)을 SSOT 대시보드·백로그에 반영하고
  결정 필요 7→0으로 동기화. SSOT drift 게이트 기대 카운트도 갱신.
- 확정된 H1 평가설계(κ≥0.70·ICC≥0.75·환각률≤0.03·t-검정 α=0.05·무작위 배정)를
  approved-export κ 게이트(checker·dataset_export·recursive export)와
  KPI 측정계획·export manifest 문서에 반영.

검증: npm run typecheck, npm run check:api-types, 백엔드 pytest 290 passed,
admin 내비 E2E 1 passed, 레이아웃 시각게이트 9/9, session-layout 4 passed,
SSOT drift 게이트 PASS.
2026-06-30 10:57:46 +09:00
Yun Chan
1274ba9ccc 테스트 메일 수신자 제한 2026-06-29 17:13:34 +09:00
Yun Chan
3bf38c50df 메일 알림 시스템 추가 2026-06-29 17:07:01 +09:00
Yun Chan
ddf12a851c 공개 배포 상태 갱신 2026-06-29 08:17:16 +09:00
Yun Chan
206018b088 런타임 계약과 학습자 흐름 보강 2026-06-29 08:12:14 +09:00
Yun Chan
d18e4b6b4b Phase 3 KPI 계약 상수 분리 2026-06-29 00:01:24 +09:00
Yun Chan
d9458d0e40 다크 UI 시안과 운영 문서 갱신 2026-06-28 23:53:58 +09:00
Yun Chan
391639c1de 평가 및 화면 구조 정리 2026-06-28 21:50:21 +09:00
Yun Chan
1248ae8ca4 백로그 페르소나 경계 반영 2026-06-28 20:17:04 +09:00
Yun Chan
4b2857861c 노드 전환 문서 페르소나 경계 반영 2026-06-28 20:16:31 +09:00
Yun Chan
e634aa0dba 갭 문서 페르소나 경계 반영 2026-06-28 20:15:58 +09:00
Yun Chan
7f1cd0b6fa 아키텍처 문서 페르소나 경계 반영 2026-06-28 20:15:15 +09:00
Yun Chan
2afb4f45c8 상태판 페르소나 읽기 모델 반영 2026-06-28 20:14:37 +09:00
Yun Chan
eb77d7ec7c 운영 문서와 상태판 동기화 2026-06-28 20:13:36 +09:00
Yun Chan
2bbd7053f3 검증 상태 정리 2026-06-28 12:22:43 +09:00
Yun Chan
6ec4a42d90 검증 문서 갱신 2026-06-28 12:20:18 +09:00
Yun Chan
ac7db95542 음성 재생과 운영 배포 정리 2026-06-28 12:18:20 +09:00
Yun Chan
8ed185ce6c 외부 계정 수동 등록 허용 2026-06-28 11:31:07 +09:00
Yun Chan
bd389a97cc 사례개념화 워크시트 저장 추가 2026-06-27 19:27:34 +09:00
Yun Chan
7f4a2d90c7 P4-P7 페르소나와 Tailnet 허용 보강 2026-06-27 19:04:46 +09:00
Yun Chan
17b114f647 세션 계약 SSOT 정리 2026-06-27 18:47:55 +09:00
Yun Chan
1881fe50bd API 계약 CI 추가 2026-06-27 18:42:09 +09:00
Yun Chan
250787cb18 다크 테마 설정 정리 2026-06-27 18:34:36 +09:00
Yun Chan
480fbd543a 계약 DTO SSOT 3차 2026-06-27 18:27:30 +09:00
Yun Chan
1007eaf7d9 세션 종료 UX 정리 2026-06-27 18:09:48 +09:00
Yun Chan
f472883c31 대시보드 이슈 정리 1차 2026-06-27 17:51:54 +09:00
Yun Chan
94cc56592f 배포 검증 문서 갱신 2026-06-27 17:30:14 +09:00
Yun Chan
0ec266a761 동의 게이트와 런타임 안정화 2026-06-27 17:22:38 +09:00
Yun Chan
0eb7d925ed 서버 안정화와 평가 모델 라우팅 보강 2026-06-27 16:34:27 +09:00
Yun Chan
6fa50c52ff 대시보드 검증 수치 정정 2026-06-27 16:09:27 +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
07cc67761e 대시보드: 팀장 협업 커맨드센터로 재설계(KPI·오너보드·관계도·폴드아웃, 내용 보존) 2026-06-27 04:29:46 +09:00
Yun Chan
2877fb0cb7 세션 인계 문서 + API 핫리로드
- docs/ops/handoff-2026-06-27.md: 완료/잔여(위기 안전게이트 109·교수자 성장 UI)·재개 방법·한신대 PDF 핵심·병렬 아바타 세션 주의
- scripts/dev-up.ps1: API --reload(watchfiles) 핫리로드 — app/*.py 저장 시 자동 재기동
2026-06-27 02:41:05 +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
cb2aebd76c docs: restore detailed dashboard tab content 2026-06-26 16:16:07 +09:00
Yun Chan
47c5b97a6d docs: consolidate dashboard details into tabs 2026-06-26 16:05:46 +09:00
Yun Chan
22ee0c6b89 docs: add full phase roadmap to dashboard 2026-06-26 15:38:00 +09:00
Yun Chan
bf6c313027 docs: update Live2D removal deployment status 2026-06-26 15:20:00 +09:00
Yun Chan
435cbafbc5 Remove bundled Live2D demo assets 2026-06-26 15:09:32 +09:00
Yun Chan
a3483067ed docs: record production deployment status 2026-06-26 14:54:20 +09:00
Yun Chan
188e899394 Stabilize runtime auth and E2E coverage 2026-06-26 14:47:00 +09:00
Yun Chan
6a3e3b541c docs: 핸드오프 노트 — 다음 세션 인계(상주인프라/완료현황/다음작업/함정) 2026-06-26 02:07:03 +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
859ab26314 docs: 개발 계획 오버뷰 대시보드(진행현황·로드맵·산출물·리스크) 2026-06-25 22:23:01 +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
d5b86c5f89 feat(docs): 전체 페이지 레이아웃 시안 추가
- login/learner-home/session-review/professor/admin/settings
- session-v2(밝은 에디토리얼 톤으로 재제작, 기존 어두운 stage 대체)
- 전부 동일 디자인 토큰(세이지틸+테라코타), 윤찬 철칙 준수
2026-06-25 21:27:24 +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