- 누적 작업트리 커밋: 회기 평가 복구·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 |
||
|---|---|---|
| .. | ||
| db/init | ||
| .env.example | ||
| Caddyfile | ||
| docker-compose.yml | ||
| README.md | ||
infra
Docker Compose: web · api · postgres(pgvector) · Caddy proxy.
- API 이미지는 저장소 루트 컨텍스트에서 빌드한다.
data/personas같은 런타임 입력을 컨테이너 안/app기준으로 찾기 때문이다. - 엔진 게이트웨이는 compose 밖 호스트 프로세스로 두고, API는
ENGINE_URL로 호출한다. - RAG 임베딩/리랭커 의존성은 API 이미지 build arg
INSTALL_RAG=true일 때만 설치한다. 기본 이미지는 슬림 모드이며 RAG 모델 미설정 시 앱이 명시적으로 degraded 처리한다. - 배포 전 루트에서
python scripts/check-deploy-preflight.py --env-file infra/.env를 실행한다. DB까지 검증할 때는 API app-roleDATABASE_URL을 넘기고--require-app-role을 붙인다.