Commit graph

132 commits

Author SHA1 Message Date
Yun Chan
f41066e3e8 배포 소스 문구 정리 2026-07-02 10:54:32 +09:00
Yun Chan
35217c1ca4 배포 상태 문서 갱신 2026-07-02 10:54:07 +09:00
Yun Chan
bd046c4501 관리자 기본 진입 경로 수정 2026-07-02 10:52:12 +09:00
Yun Chan
778e8526d4 세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터
- 누적 작업트리 커밋: 회기 평가 복구·durable 저장, 라이브 코치 이력/근거, 교수자 학생분석, 음성 비언어 메타, PII 마스킹, 운영 티켓/헬스 등
- 문서: 완료 기록 docs/archive/ 냉동 보관, docs/ 단일 인덱스(docs/README.md)+통합 TODO(docs/TODO.md)로 정리
- 리팩터(행위 보존): Stage enum SSOT(taxonomy 소유·state_machine re-export), store recent/masked_turns 중복 제거, speaker_ko_label 단일 헬퍼, _list_sessions N+1 제거(state/turns 배치 + 턴평가 하이드레이션 배치)
- 검증: 백엔드 pytest 352 passed, _list_sessions E2E chromium-single-run 2 passed
2026-07-02 02:50:36 +09:00
Yun Chan
7c41c3ce79 검증 증거 문서 보강 2026-07-01 12:48:26 +09:00
Yun Chan
69fece56bf 학생 분석 목록 펼침 보강 2026-07-01 12:41:17 +09:00
Yun Chan
51053af536 안전 이벤트 대시보드 보강 2026-07-01 12:34:46 +09:00
Yun Chan
fe2796f05a 세션 평가와 교수자 분석 보강 2026-07-01 12:10:52 +09:00
Yun Chan
5c4ac04e06 preview host 허용 회귀 가드 추가 (check:preview-hosts)
배포 도메인 블랭크(vite preview allowedHosts 누락) 재발을 막는 행동 검증
스크립트를 추가. preview를 띄워 공개 Host(vnet/api-vnet/chanpaca) 3종이
200으로 허용되고 임의 Host는 403으로 차단(DNS 리바인딩 보호 유지)되는지
http.request로 직접 Host 헤더를 보내 확인한다. package.json에
check:preview-hosts로 등록.

검증: npm run check:preview-hosts → 공개 3 allowed + unlisted blocked PASS,
exit 0. 대시보드 104차 갱신.
2026-06-30 12:27:46 +09:00
Yun Chan
7b2ceafd68 보드 s2s 행을 결정 확정(DECIDED)으로 일관화
결정 패널은 이미 s2s 유지로 갱신했으나 보드 영역 s2s 행이 DECIDE로 남아
있어 일관화. 채택 여부는 확정(유지), 비교 PoC 구현·실측은 후속 build.
이로써 대시보드 비완료 항목은 외부 의존 GATE 6 + BLOCK 2만 남는다.
2026-06-30 12:19:24 +09:00
Yun Chan
09d3220f68 배포 도메인 관리자 페이지 블랭크 수정 (vite preview allowedHosts)
vnet.18ka.net 공개 배포에서 vite preview 서버가 Host 검증으로 공개 도메인
요청을 "Blocked request. This host is not allowed." 403으로 막아 SPA 전체가
블랭크로 뜨던 문제를 수정. server.allowedHosts와 같은 목록을 preview에도
적용하고 기본 허용 호스트에 vnet.18ka.net/api-vnet.18ka.net/vignette.chanpaca.net 추가.

검증: curl -H "Host: vnet.18ka.net" 127.0.0.1:5174 가 수정 전 Blocked →
수정 후 200+정상 index, 로컬 dev·preview 일반/슈퍼관리자 전 페이지 정상 렌더,
npm run typecheck. 대시보드 104차 기록.
2026-06-30 12:16:51 +09:00
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
f456b8997a 세션 진행 패널 스타일 보강 2026-06-29 00:01:40 +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
30441bd93b 워크시트 검수 UI와 세션 다크톤 정리 2026-06-28 23:53:37 +09:00
Yun Chan
f7aae885b2 Phase 3 KPI 상태값 명시 2026-06-28 23:53:17 +09:00
Yun Chan
1e9f293fda 라이브코치 소스팩 새로고침 보강 2026-06-28 23:52:55 +09:00
Yun Chan
84599bbaa2 한국어 PII 인식기 경계 추가 2026-06-28 23:52:37 +09:00
Yun Chan
2bb052f624 세션 계약과 메모리 경계 보강 2026-06-28 23:52:18 +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
3a9f70a97b 운영 화면과 회기 리뷰 UI 갱신 2026-06-28 20:13:21 +09:00
Yun Chan
e7ebb38177 운영 지표와 지원 요청 저장소 추가 2026-06-28 20:13:06 +09:00
Yun Chan
50fa4ad432 세션 메모리와 비언어 이벤트 저장 2026-06-28 20:12:50 +09:00
Yun Chan
e8e08935ed 페르소나 소스팩 동기화 정리 2026-06-28 20:12:35 +09:00
Yun Chan
6a81ec596c 평가 캐시와 개인정보 마스킹 보강 2026-06-28 20:12:20 +09:00
Yun Chan
f0771db919 엔진 게이트웨이 계약 고정 2026-06-28 20:12:05 +09:00
Yun Chan
ebef20560e 저항엔진 smoke 검증 강화 2026-06-28 12:23:31 +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