기반 정렬 / 운영 안전장치
+인프라, 인증 경계, fail-closed, 공개 배포, 회귀 테스트 안정화.
+-
+
- 상태: 대부분 완료, 공개 `/turn` proof만 남음 +
- 검증: build + backend 20 + Playwright 72 +
- 운영: prod API 8001, engine 9099, tunnel 1개 +
diff --git a/docs/dev_dashboard.html b/docs/dev_dashboard.html index 8d31b3d..da49fa6 100644 --- a/docs/dev_dashboard.html +++ b/docs/dev_dashboard.html @@ -103,6 +103,38 @@ .list { display:grid; gap:10px; margin:0; padding:0; list-style:none; } .list li { display:grid; grid-template-columns:10px minmax(0,1fr); gap:10px; color:var(--ink-2); font-size:13px; } .list li:before { content:""; width:6px; height:6px; margin-top:8px; border-radius:50%; background:var(--accent); } + .roadmap { + display:grid; + grid-template-columns:repeat(5,minmax(0,1fr)); + gap:12px; + align-items:stretch; + } + .phase-card { + min-width:0; + background:var(--surface); + border:1px solid var(--hair); + border-radius:12px; + padding:16px; + box-shadow:0 1px 2px rgba(28,42,42,.05); + } + .phase-card.current { border-color:color-mix(in srgb, var(--accent) 42%, var(--hair)); background:linear-gradient(180deg, var(--accent-tint), var(--surface) 58%); } + .phase-card.next { border-color:color-mix(in srgb, var(--warn) 35%, var(--hair)); } + .phase-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; } + .phase-id { font:760 13px/1 var(--num); color:var(--accent-deep); } + .phase-card h3 { margin:0; font-size:15px; line-height:1.35; } + .phase-card p { margin:8px 0 0; color:var(--ink-2); font-size:12px; } + .phase-list { display:grid; gap:6px; margin:12px 0 0; padding:0; list-style:none; } + .phase-list li { color:var(--ink-2); font-size:12px; line-height:1.45; } + .phase-list li b { color:var(--ink); font-weight:700; } + .source-note { + margin-top:14px; + padding:14px 16px; + border:1px solid var(--hair); + border-radius:12px; + background:var(--paper-2); + color:var(--ink-2); + font-size:13px; + } code { font-family:var(--num); font-size:12px; background:var(--paper-2); padding:2px 6px; border-radius:6px; } .wide { grid-column:1 / -1; } .commands { display:grid; gap:10px; } @@ -116,6 +148,7 @@ main { width:min(100% - 28px, 1180px); padding-top:28px; } .hero { grid-template-columns:1fr; } .grid { grid-template-columns:1fr; } + .roadmap { grid-template-columns:1fr; } } @media (max-width:520px) { .summary { grid-template-columns:1fr; } @@ -127,14 +160,14 @@
이번 세션은 seed persona 결합 제거, 비개발 fail-closed 설정, compose OAuth 주입, admin 모바일 overflow 수정, persona 인증 경계 보강, 전체 Playwright 재통과, 공개 API prod 전환까지 완료했다. @@ -145,6 +178,7 @@ Cloudflare Pages production 배포 `0fe8f3cc`도 완료했고, 커스텀 도메인이 새 asset을 서빙하는 것을 확인했다. 과거 Mao/Haru Live2D demo 자산은 repo와 번들에서 제거했고, `/live2d/*` 운영 경로는 404로 차단했다. 로컬 프로세스는 prod API 8001, engine gateway 9099, cloudflared tunnel 1개만 남기고 dev API와 임시 Vite preview를 내렸다. + 다만 이 HTML은 지금까지 Phase 0 상태판처럼 쓰였고, 아래에 Phase 1 이후 전체 계획을 보강했다. 공개 Google OAuth 실제 `/turn` 증명만 storageState 캡처 후 남아 있다.
`docs/MASTERPLAN.md`와 `docs/redteam/MASTERPLAN_REVISIONS.md`를 합친 팀장 판단용 단계표
+인프라, 인증 경계, fail-closed, 공개 배포, 회귀 테스트 안정화.
+1 페르소나 상담, 실제 턴 저장, 회기말 피드백, 저항 엔진 검증.
+학습자, 교수자, 관리자 권한 분리와 페르소나 확장.
+STT → 엔진 → TTS 왕복, WSS/터널 안정성, barge-in 로깅.
+수련생 파일럿, 사전사후 효과 측정, 재귀학습 데이터셋 산출.
+