배치 200건이 직렬 처리로 30분 초과해 매시 1회로 후퇴, 일 4,800건 처리에 그쳐
일 신규 5,500건 유입을 못 따라잡고 백로그 16K가 정체 상태.
asyncio.Semaphore(4)로 병렬화(OLLAMA_NUM_PARALLEL=4와 매칭) → 한 배치 6분 20초,
스케줄러를 minute="*/30"으로 복원 (max_instances=1로 중첩 방지).
일 처리 용량 9,600건 → 백로그 자연 소화.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
LLM 공통 코딩 실수 감축 가이드 4섹션 (Think Before Coding /
Simplicity First / Surgical Changes / Goal-Driven Execution) 원문 영문 보존.
기존 한국어 "Claude 행동 원칙"과 보완 관계.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
us-market/main.py:
1) /signal/latest 라우트 순서 버그 수정
- 기존: /signal/{kr_code} 가 먼저 선언되어 'latest'를 코드로 매칭 → 항상 []
- 수정: /signal/latest 를 path-param 라우트보다 위로 이동
2) pair beta 재계산이 stock_prices(7~10일치)에서 데이터 부족으로 32건 전부 skip
- stock_ohlcv(81일치) 우선 조회, 폴백으로 stock_prices 유지
- 결과: updated 0→32, 베타·상관 정상 산출
dashboard-api/index.html:
- 미증시 시그널 카드 필드명 수정 (signal_score → total_adj/sector_adj/pair_adj)
- 절대값 큰 순 정렬 + 섹터/페어 기여도 분해 표시
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>