vignette/docs/ops/backlog-2026-06-26.md
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

6.1 KiB

Vignette 백로그 — 열린 항목만 (현행본)

SSOT는 docs/dev_dashboard.html이다. 상태·검증 증거·결정·로드맵의 권위 기준은 대시보드다. 이 파일은 대시보드와 일치하는 아직 열린 작업(외부/환경 게이트) 만 얇게 유지한다. 완료된 작업의 변경 로그·검증 기록(구 "최신 동기화 추가"·"이번 세션에 닫은 것"·B1~B3 [x] 상세)은 docs/archive/ops/backlog-2026-06-26-full-history.md로 냉동 보관했다. 필요할 때만 이력용으로 본다.

운영 원칙: 가짜 증거로 DONE 표기 금지. 실증 불가·외부 의존·소유자 결정 항목만 여기서 추적한다. 분류: B1 비차단 폴리시 · B2 환경 제약(증거 생산 불가) · B3 소유자 결정 · B4 외부 거버넌스

B0. 원천문서 갭 — 한신대 산학협력 원천문서 갭(critical/high/medium)은 SSOT 대시보드 "원천문서 갭 분석" 섹션과 상세 근거 docs/ops/source-docs-gap-analysis-2026-06-26.md에서 추적한다. C1~C3/H·M 구조는 코드로 선제 구축했고, 임상 문안·평가기준·골든셋 콘텐츠는 임상팀(구훈정·어유경) 외부 정의로 받는다.


B1. 비차단 코스메틱/후속 폴리시

  • 운영 티켓 자동 분류·처리 후속 — Claude Recipe headless 자동 수정 후보, 관리자 승인 후 이슈 등록·PR/작업 스레드 생성, 처리 결과 audit trail 확장은 아직 설계/승인 필요. 담당 그룹 자동 배정·우선순위 escalation·raw/rollup 보존기간 같은 운영 정책은 B3에서 이미 결정됨(수동 승인·미도입 고정). 자동 수정은 운영자 승인 전까지 실행하지 않는다.

B1 완료 항목(셸 구분선, 세션 종료 UX/다크테마, 아바타 PSD v2, SEO/공유 카드, 레이아웃 정렬, 권한 위임, 메일링, 아카이브 API, TTS voice map, 빈상태 레이아웃, 평가 실패 복구 UX, SSE 저장, live-coach 표면화, 음성 메타, 위기 게이트 UI, 운영 티켓/헬스 샘플러 등)의 상세·검증 로그는 아카이브 full-history 참조.


B2. 환경 제약 — 이 워크스테이션에서 증거 생산 불가

  • vnet.18ka.net 공개 live 전환 — 코드/스크립트는 vnet.18ka.net·api-vnet.18ka.net 허용까지 갱신됨. 남은 블로커: (1) vnet.18ka.net/api-vnet.18ka.net DNS A record 부재, (2) cloudflared 현재 인증 컨텍스트가 18ka.net zone이 아니라 chanpaca.net zone에 route dns 생성, (3) Google Console redirect URI https://api-vnet.18ka.net/auth/callback 등록 필요. 현재 prod API 8001은 db:true/engine:true로 건강. 상세: docs/ops/tailscale-vnet-runtime-2026-06-27.md.
  • 실배포 infra/.env owner-secret fill-in + real preflight — 필수 소유자 비밀값: APP_DB_PASSWORD, OAUTH_GOOGLE_CLIENT_ID, OAUTH_GOOGLE_CLIENT_SECRET, OPENAI_API_KEY, SESSION_SECRET, production-safe engine/voice flags. 로컬 stray 값(ENGINE_MODE=claude_p, prod sample TTS flag 등)은 운영값으로 복사 금지. 실제 secret 주입 후 scripts/check-deploy-preflight.py DB 포함 모드 + 배포지 health를 별도 증거로 닫는다.
  • 공개 Google OAuth 실제 /turn proof — 로그인 가능한 계정으로 storageState 캡처 후 E2E_PUBLIC_AUTH=1
    • chromium-public-auth 1회 통과 필요. (소유자 지시로 보류 중.) 실행 명령은 대시보드 "다음 실행 명령" 참조.
  • 음성 캐스케이드 live — 로컬 API 실제 OpenAI STT/TTS 경로는 live WS smoke 통과. 남은 범위: 실제 Deepgram interim/final WSS, 물리 마이크, 공개 WSS, 50분 양방향 장시간 실측.
  • claude_cli ↔ Messages API 폴백 동일성ANTHROPIC_API_KEY가 있어야 Messages API 경로 동일성 검증 가능. claude_cli 경로는 게이트웨이 probe로 live 실측 완료.
  • 재부팅 후 watchdog smokewatch-public-runtime.ps1 + Scheduled Task가 재부팅 후 엔진/API/터널을 복구하고 public /turn이 통과하는지 실측. 재부팅 불가로 미실행(parser/check-only 경로는 확인). DNS 개통 후 api-vnet.18ka.net-AdditionalPublicHealthUrls로 명시 추가. 상세: docs/ops/public-runtime-watchdog.md.

B3. 소유자(윤찬) 결정 — 전건 확정(2026-06-30)

7건(평가설계 H1 κ/ICC·환각률, s2s 2차 PoC 채택, 페르소나 음성 모델·권리, fast-loop 외부 API 허용, 재귀학습 fine-tuning 범위, 운영 보존기간·에스컬레이션, 추가 축어록 수급 20건/1개월)은 전건 확정됐다. 결정 상세는 대시보드 "윤찬 결정 상세" 탭, ADR은 docs/decisions/(voice-s2s-poc.md, backend-node-transition.md)에 있다. 각 결정의 구현·실측은 후속 build/GATE로 남는다.


B4. 외부 거버넌스 — 한신대/데이터 steward 서면 증거

  • 한신대 데이터/SSO 거버넌스 게이트 — SSO claim mapping, 추가 축어록 수급, 미성년 원본 활용동의, 개인정보 처리방침. 로컬 골격 docs/ops/hanshin-data-governance-gate.md 준비됨, 외부 서면 증거 필요. (소유자 보류 중.)
  • L1 스택 정합성·저작권 등재 문서 반영 — 백엔드는 Node.js 교체 가능성 우선으로 결정됐지만, 신청서/저작권 등재 문서에는 현재 FastAPI 유지 사유와 계약 우선 전환 계획을 반영해야 한다. 로컬 결정 기록은 docs/decisions/backend-node-transition.md; 외부 제출/등재 증거 필요.

Phase 3 파일럿 게이트 (실참여자 필요)

  • 20명 교육용 파일럿 운영 / 효과성·KPI 측정(SUS·자기효능감·κ/ICC·환각률) / 재귀학습 데이터셋 approved 산출 / 개인정보·동의 감사. 문서·checker·dry-run exporter는 준비됨(docs/phase3/*, scripts/check-phase3-artifacts.py, scripts/export-recursive-dataset.py, scripts/export-phase3-kpi.py). 공식 문항 확정, 통계 검정, 실험/통제군 배정, 실제 approved evidence는 파일럿·steward/legal 검수·IAA 통과 시점의 GATE다.