9c22337647
asyncio.gather 가 단일 AsyncSession 에 동시 execute 를 진입시켜 부하 의존적 'another operation in progress' 비결정 크래시 (정상 순차 경로에서만 검증돼 잠복). 사이트별 처방(균일 처방 회피): - search_with_rewrite._variant_retrieve: variant 마다 독립 async_session() fan-out (사용자 대면 — N variant 병렬 유지) - study explanation_rag / subject_note_rag: 백그라운드 prefetch 라 순차 직렬화 (rerank 도 순차 — DB 순차+rerank gather 분할은 _gather_* 4곳 침습이라 보류, 배경 작업의 rerank 병렬 이득 미미) 추가: rewrite(multi-query) 경로가 axis 필터(material_type/jurisdiction/year)를 single-query path 와 달리 조용히 누락 — search_with_rewrite 에 axis 인자 + _variant_retrieve 가 search_text/search_vector 에 전달. 검증: py_compile 통과. 동시 N variant 부하 테스트(staging)로 크래시 소거 확인 예정. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>