From a3483067ed5347029fd8c517739f77af8db08497 Mon Sep 17 00:00:00 2001
From: Yun Chan
Date: Fri, 26 Jun 2026 14:54:20 +0900
Subject: [PATCH] docs: record production deployment status
---
docs/HANDOFF.md | 10 ++++++++--
docs/dev_dashboard.html | 16 +++++++++++++---
2 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/docs/HANDOFF.md b/docs/HANDOFF.md
index 4d6faf3..6a89b03 100644
--- a/docs/HANDOFF.md
+++ b/docs/HANDOFF.md
@@ -1,6 +1,6 @@
# Vignette Handoff
-> Updated: 2026-06-26 14:43 KST. 새 세션은 이 문서와 `docs/DESIGN_CONCEPT.md`를 먼저 읽고 이어가면 된다.
+> Updated: 2026-06-26 14:53 KST. 새 세션은 이 문서와 `docs/DESIGN_CONCEPT.md`를 먼저 읽고 이어가면 된다.
## 현재 상태
@@ -10,6 +10,8 @@
- 로컬 engine gateway 기본 포트: `http://127.0.0.1:9099`
- 공개 웹: `https://vignette.chanpaca.net`
- 공개 API: `https://api-vignette.chanpaca.net`
+- 앱 배포 소스 commit: `188e899` (`Stabilize runtime auth and E2E coverage`)
+- 최신 Cloudflare Pages production deploy: `b5e22068`, source `188e899`, branch `main`
- Google OAuth 허용 이메일 도메인: `hs.ac.kr`, `twentyoz.kr`
- `frontenddesign` 스킬은 현재 세션의 사용 가능 스킬 목록에 없었다. 대신 `docs/DESIGN_CONCEPT.md`를 SSOT로 사용했다.
- 공개 API 터널은 현재 `C:\Users\encep\.cloudflared\vignette-config.yml`에서 `http://127.0.0.1:8001`을 본다.
@@ -140,6 +142,10 @@
- Public runtime script:
- `powershell -NoProfile -ExecutionPolicy Bypass -File scripts\start-public-runtime.ps1`
- API 8001 health and public `https://api-vignette.chanpaca.net/health` both returned `environment:"prod"`, `db:true`, `engine:true`
+- Public web deployment:
+ - `wrangler pages deploy dist --project-name vignette --branch main --commit-hash 188e899`
+ - Production deployment `b5e22068`
+ - `https://vignette.chanpaca.net/` serves `assets/index-BKpoLhfw.js` and `assets/index-BA9-xxfn.css`
- Public login screen:
- `npx playwright test e2e/auth.spec.ts --project=chromium-desktop --grep "public login"`
- `1 passed`
@@ -171,7 +177,7 @@
- 공개 Google OAuth 실제 `/turn` proof는 아직 없다.
- 이유: `E2E_PUBLIC_STORAGE_STATE=apps/web/node_modules/.tmp/public-auth.json`가 아직 확보되지 않았다.
- 사용자가 Playwright codegen 브라우저에서 Google 로그인 후 storageState를 저장해야 한다.
- - 2026-06-26 14:43 KST 기준 `apps/web/node_modules/.tmp/public-auth.json`은 없다. codegen 창/프로세스가 남아 있으면 로그인 완료 후 창을 닫아 저장을 완료하면 된다.
+ - 2026-06-26 14:53 KST 기준 `apps/web/node_modules/.tmp/public-auth.json`은 없다. codegen 창/프로세스가 남아 있으면 로그인 완료 후 창을 닫아 저장을 완료하면 된다.
- 공개 API `environment:"dev"` 문제는 이번 세션에서 해결했다. cloudflared가 prod API인 `127.0.0.1:8001`을 보도록 변경했고 public gate로 확인했다.
- Google Console 설정은 브라우저 로그인 세션이 필요하다. 막히면 사용자가 로그인해 주기로 했다.
- worktree는 원래부터 매우 dirty이고, 이전 세션/사용자 변경이 많다. 관련 없는 변경을 되돌리지 말 것.
diff --git a/docs/dev_dashboard.html b/docs/dev_dashboard.html
index 902874e..4cccdd7 100644
--- a/docs/dev_dashboard.html
+++ b/docs/dev_dashboard.html
@@ -127,7 +127,7 @@
Vignette 개발 대시보드
- 2026-06-26 14:43 KST
+ 2026-06-26 14:53 KST
@@ -141,14 +141,17 @@
이후 로컬 5175 런타임 재기동, admin 사용자 관리 E2E 안정화, 학습자 홈 0회 기록 UX,
active session 실제 SSE 스트림 전환, 텍스트/음성 실패 턴 미저장, 직접 URL persona 우회 차단, Live2D demo fallback 제거,
AI 운영 fail-closed 보강까지 전체 Playwright로 확인했다.
- 2026-06-26 14:43 KST 기준 공개 API 터널을 복구한 뒤 전체 Playwright 72개가 desktop/mobile/single-run 모두 통과했다.
+ 2026-06-26 14:53 KST 기준 공개 API 터널을 복구한 뒤 전체 Playwright 72개가 desktop/mobile/single-run 모두 통과했다.
+ Cloudflare Pages production 배포 `b5e22068`도 완료했고, 커스텀 도메인이 새 asset을 서빙하는 것을 확인했다.
공개 Google OAuth 실제 `/turn` 증명만 storageState 캡처 후 남아 있다.
Full Playwright72 passed
+
Pages Productionb5e22068
Public APIprod OK
Backend unittest20 OK
+
App Commit188e899
Decision조건부 GO
@@ -166,6 +169,11 @@
로컬 회귀와 공개 prod-safe 게이트 통과
백엔드 unittest 20개, Python compile, 웹 production build, 전체 Playwright 72개가 통과했다. 공개 API도 `environment:"prod"`, `db:true`, `engine:true`로 응답한다.
+
+ deployed
+ 커스텀 도메인 운영 반영 완료
+ Cloudflare Pages production `b5e22068`이 `188e899`로 배포됐고, `https://vignette.chanpaca.net`이 `index-BKpoLhfw.js`와 `index-BA9-xxfn.css`를 서빙한다.
+
conditional
운영 반영 전 남은 증거 1개
@@ -294,6 +302,8 @@
| Backend | python -m unittest app.test_runtime_policy app.test_session_turn_persistence engine_gateway.test_gateway_model | 20 tests OK |
| Compile | python -m compileall app engine_gateway | Passed |
| Web build | npm run build | Passed |
+ | Pages production deploy | wrangler pages deploy dist --project-name vignette --branch main | `b5e22068`, source `188e899` |
+ | Custom domain assets | https://vignette.chanpaca.net/ | `index-BKpoLhfw.js`, `index-BA9-xxfn.css` |
| Compose | docker compose --env-file .env.example config --quiet | Passed with dummy required env |
| Focused E2E | admin + db-persistence + voice-success | 10 passed |
| Admin manage-users | admin.spec.ts --grep manage real server-known users | desktop/mobile 2 passed |
@@ -325,7 +335,7 @@
blocker
public `/turn` proof 없음
- 2026-06-26 14:43 KST 기준 Google 로그인 storageState가 없어 공개 API `/turn` 실제 성공 증거가 아직 없다.
+ 2026-06-26 14:53 KST 기준 Google 로그인 storageState가 없어 공개 API `/turn` 실제 성공 증거가 아직 없다.
ops