a08b620894
DS-Mac-mini-26B-Priority-Gate-1 — 사용자-facing 7 + worker 3 = 10 site 의 `async with get_mlx_gate():` → `async with acquire_mlx_gate(Priority.*):` 교체. Foreground 6 (user-facing path): - app/services/search/evidence_service.py:315 (/ask evidence stage) - app/services/search/classifier_service.py:103 (/ask classifier stage) - app/services/search/synthesis_service.py:299 (/ask synthesis stage) - app/api/documents.py:1306 (수동 analyze API) - app/api/study_topics.py:1183 (subject note 동기 생성) - app/api/study_questions.py:1560 (study explanation 동기 API) Background 4 (worker queue / fire-and-forget): - app/services/search/query_analyzer.py:240 (V0 grep 확인: fire-and-forget only, search_pipeline.py:179 trigger_background_analysis 만, docstring rule "analyze() 동기 호출 금지" 부합 → BACKGROUND 확정) - app/workers/deep_summary_worker.py:110 (classify-escalate worker) - app/workers/study_explanation_worker.py:149 - app/workers/study_session_analysis_worker.py:237 Cleanup: - query_analyzer._get_llm_semaphore() 제거 — self-only, unused, signature 거짓말 (이제 get_mlx_gate 가 Semaphore 아닌 context manager 반환) 기존 get_mlx_gate() legacy wrapper 는 보존 (BACKGROUND 매핑). user-facing path 잔재 0 — closure gate grep 검증 통과 (별 commit 에서).