vignette/docs/ops/backlog-2026-06-26.md

8 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/다크테마, 아바타 SVG 리그 복귀와 래스터 비활성화, 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_cli, 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와 P1 Higgs 실제 문장 WAV 합성 경로는 live smoke 통과. Higgs는 무참조 synthetic seed·dev-only로 유지한다. 남은 범위: 실제 Deepgram interim/final WSS, 물리 마이크, 공개 WSS, 50분 양방향 장시간 실측과 상업 라이선스가 명확한 운영 TTS provider 통합.
  • claude_cli ↔ Anthropic API live 동일성 — provider 라우팅·Anthropic /v1/models 탐색·지원 추론 강도·관리자 fail-closed 저장 경로는 구현 완료. 남은 범위는 연구팀/기관 ANTHROPIC_API_KEY를 게이트웨이 호스트에 주입한 live 응답·계량·오류 표면화 비교다. Claude CLI·Codex CLI(Terra/Medium)·Agy CLI(Gemini 3.6 Flash/High)는 로컬 live probe를 통과했다.
  • 재부팅 후 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로 남는다.

B3-신규 (2026-07-27 전수 E2E 순회에서 제기 → 2026-07-27 소유자 전건 결정 완료)

소유자(윤찬)가 질문 도구로 7건 전건 결정(2026-07-27). 결정 내용과 구현 상태:

  • 설정 화면 아바타 변경 UI — 결정: 설정에 추가. 구현 완료(RED→GREEN, 대시보드 144차).
  • 동의 관리·철회 UI와 재동의 흐름 — 결정: 전체 흐름 구현(설정 동의 섹션 + 철회 + 재동의 경로). 구현 완료(RED→GREEN, 대시보드 144차).
  • 신규 학습자 첫 추천 난도 — 결정: 기초 우선 추천(회기 기록 없는 신규 학습자는 기초 난도 페르소나를 첫 추천으로). 구현 완료(RED→GREEN, 대시보드 144차).
  • 학생 분석 테이블 — 결정: 지금 가상화 도입. 구현 완료(RED→GREEN, 대시보드 144차).
  • 저작 모드 좌측 레일 잔존 마크업 — 결정: 정리(저작 모드에서 레일 미렌더). 구현 완료(RED→GREEN, 대시보드 144차).
  • dev-login 재로그인 자동 재승인 — 결정: 현행 유지(dev/E2E 편의 의도 확정). 코드 변경 없음.
  • 감정 밸런스 타임라인 차트(결함 로그 #21) — 결정: 지금 구현(평가 데이터 생산→저장→ 리드모델→차트 연결). 구현 완료(RED→GREEN, 대시보드 144차).

근거·상세: docs/ops/e2e-full-sweep-2026-07-27.md 발견 결함 로그 #2·#4·#6·#14·#15·#16·#21.


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다.