feat(api): DB off degraded 기동(store 폴백) + dev 인증 우회 — 풀 API 라이브 E2E 통과

- main lifespan: init_pool 실패해도 store 인메모리 폴백으로 degraded 기동
- deps: environment=dev면 쿠키 없어도 더미 학습자(로컬 라이브). prod는 401 유지
- 실증: POST /sessions(201) → turn → 서연 client_reply, safety_flagged=false
This commit is contained in:
Yun Chan 2026-06-25 23:51:59 +09:00
parent eca1f6a413
commit c57c34ade6
2 changed files with 21 additions and 7 deletions

View file

@ -63,10 +63,12 @@ async def get_current_principal(
prod 에선 session_cookie 검증 실패 무조건 401.
"""
if not session_cookie:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="not authenticated",
)
# dev 환경에선 쿠키 없어도 더미 학습자로 통과(로컬 라이브 테스트). prod 는 무조건 401.
if get_settings().environment != "dev":
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="not authenticated",
)
# TODO: Redis 세션 룩업. 아래는 개발 스텁.
return Principal(user_id="dev-user", role=Role.LEARNER, cohort_ids=[])