운영 복구 상태를 문서화

This commit is contained in:
Yun Chan 2026-08-28 18:27:02 +09:00
parent 99779a6ab2
commit 391fb9f4d0
4 changed files with 48 additions and 36 deletions

View file

@ -12,8 +12,9 @@
> 섹션과 상세 근거 `docs/ops/source-docs-gap-analysis-2026-06-26.md`에서 추적한다. C1~C3/H·M 구조는 코드로
> 선제 구축했고, 임상 문안·평가기준·골든셋 콘텐츠는 임상팀(구훈정·어유경) 외부 정의로 받는다.
>
> **개선관리 워크북(2026-08-28)** — C-002·C-003과 REQ-001~008은 내부 기술 구현 DONE이며 clean
> `2a396361…89c`/Pages `1f1ddf18…e646`, generic Google callback, 공개 P20 생성→응답→종료→평가 폐루프까지
> **개선관리 워크북(2026-08-28)** — C-002·C-003과 REQ-001~008은 내부 기술 구현 DONE이며 live clean
> `2a396361…89c`/Pages `1f1ddf18…e646`, recovery task `99779a6a…fbc8`, generic Google callback,
> 공개 P20 생성→응답→종료→평가 폐루프까지
> 운영 실증했으므로 열린 백로그에 중복하지 않는다. C-001은 자동 안전 게이트의 기술 사전검증만 완료됐고
> 임상 검토자 이름·소속 기관·검토일·서면 결정이 없어 B4 외부 GATE로 유지한다. 네 값이 모두 기록되기 전에는
> 완료로 닫지 않는다.
@ -66,8 +67,9 @@
내부 토큰 6개, 필수 운영키, DB `current_user=vignette` non-owner app-role preflight와 공개 health를 통과했다.
향후 Compose 패키징 전환 시 `APP_DB_PASSWORD` 등 패키징 비밀과 prod-safe engine/voice flags를 별도 주입하고
compose profile preflight를 다시 닫는다.
- [ ] **공개 Google OAuth 실제 `/turn` proof** — 로그인 가능한 계정으로 `storageState` 캡처 후 `E2E_PUBLIC_AUTH=1`
+ `chromium-public-auth` 1회 통과 필요. (소유자 지시로 보류 중.) 실행 명령은 대시보드 "다음 실행 명령" 참조.
- [x] **공개 Google OAuth 실제 `/turn` proof** — 2026-08-28 기존 Google 세션 callback→관리자 진입과 공개 P20
회기 생성→자기점검 잠금→실제 학습자/AI 내담자 턴→종료→리뷰·평가→다음 회기 버튼 재노출을 브라우저로
확인했다. 신규 Gmail 선택은 별도의 Vignette 계정 생성 행동시점 확인 항목이다.
- [ ] **음성 캐스케이드 live** — 공개 G7 API route와 TLS 1.3 WSS handshake, 비인증 1008 차단, 로컬
synthetic short soak는 통과했다. Deepgram/OpenAI fallback adapter와 운영 기본 `local_whisper`/`melotts`의 interim/final/word timestamp, HMAC word pseudonym,
streaming 중 1초 동의 재검사, 공통 consent transaction lock, bounded queue/10MiB cap, 텍스트 보존·음성 재연결
@ -116,20 +118,22 @@
- [ ] **stable-source 재부팅 후 watchdog smoke** — 2026-08-27 Docker Desktop 4.82.0이 stale
`dockerInference`/`engine.sock` AF_UNIX reparse socket(ERROR 1920)에서 crash-loop한 사건은 두 부모 IPC
디렉터리를 `.stale` 백업명으로 이동한 뒤 정상 복구했다. container·image·volume은 생성/삭제/교체하지 않았고,
기존 `vignette-dev-db`와 recovered volume만 재기동했다. watchdog·로그온 boot는 detached-clean
`bf5f7352…0092`·tree `c39f917b…c88`와 exact commit/tree/script SHA에 재등록했으며, watchdog
`LastTaskResult=0`·failcount `0`, public health 3/3 `status=ok·db=true·engine=true`, 실제 로그인 브라우저
console error/warning 0을 확인했다. 남은 것은 실제 Windows 재부팅 후 엔진/API/터널 복구와 authenticated
public `/turn` 실측이다. DNS 개통 후 `api-vnet.18ka.net``-AdditionalPublicHealthUrls`로 명시 추가한다.
기존 `vignette-dev-db`와 recovered volume만 재기동했다. 2026-08-28 watchdog·로그온 boot는 detached-clean
`99779a6a…fbc8`·tree `57da86aa…6b91`와 exact commit/tree/script SHA에 재등록했다. 두 작업의 60분 상한·
`IgnoreNew`, launcher mutex·bounded readiness/build·process-tree 종료, hard-down 즉시복구를 focused 50/50으로
검증했고 watchdog 18:10:57 KST·boot 18:14:27 KST 수동 실행 `LastTaskResult=0`·failcount 0을 확인했다.
public P20 authenticated `/turn` 폐루프도 완료됐다. 남은 것은 실제 Windows 재부팅 후 엔진/API/터널 복구다.
DNS 개통 후 `api-vnet.18ka.net``-AdditionalPublicHealthUrls`로 명시 추가한다.
상세: `docs/ops/public-runtime-watchdog.md`.
---
## B3. 소유자(윤찬) 결정 — 전건 확정(2026-06-30)
- [ ] **공개 Web 후보 Pages 승격 승인**`00f851a6…c229`·tree `9f78cd16…9486`의 deterministic build와
focused E2E 12/12, 현행/최근 Pages 자산 133개 보존은 완료됐다. 실제 공개와 NAS에는 아직 배포하지 않았다.
승인 시 Pages Web만 승격하고 공개 API/DB·task·NAS runtime은 범위 밖으로 유지한다.
- [ ] **공개 Web 후보 Pages 승격 승인**`99779a6a…fbc8`·tree `57da86aa…6b91`의 production build와
학습자 라포 헤더 desktop/mobile focused E2E 2/2, 현행 포함 최근 production 5세대 자산 보존(최종 dist
714파일·assets 164개)은 완료됐다. 실제 Pages upload는 코드 외부 전송 명시 승인이 없어 중단했다.
`Cloudflare Pages production 배포 승인`을 받으면 Pages Web만 승격하고 공개 API/DB·task·NAS runtime은 건드리지 않는다.
> 7건(평가설계 H1 κ/ICC·환각률, s2s 2차 PoC 채택, 페르소나 음성 모델·권리, fast-loop 외부 API 허용,
> 재귀학습 fine-tuning 범위, 운영 보존기간·에스컬레이션, 추가 축어록 수급 20건/1개월)은 **전건 확정**됐다.