feat: implement pre-market planner with Gemini integration (issue #83) #109
Reference in New Issue
Block a user
Delete Branch "feature/issue-83-pre-market-planner"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
src/strategy/pre_market_planner.py: PreMarketPlanner 클래스generate_playbook(market, candidates): SmartVolatilityScanner 후보 기반 DayPlaybook 생성build_cross_market_context(target_market): KR↔US 크로스마켓 L6 scorecard 참조Test plan
Closes #83
리뷰 반영 (
be695a5)Finding 1: ContextLayer ImportError
거짓 양성 (false positive).
ContextLayer는src/context/layer.py에 정의되지만,src/context/store.py에서 re-export합니다:from src.context.store import ContextLayer는 런타임에서 정상 동작 확인. 변경 없음.Finding 2: 날짜/타임존 경계
수정 완료.
generate_playbook()과build_cross_market_context()에today: date | None파라미터 추가:date.today()(기존 동작 유지)markets모듈의 시장별 날짜 계산 결과를 전달 예정)patch("date")제거 →today=date(2026, 2, 8)직접 전달로 간결화Finding 3: 미사용 import + lint
수정 완료.
UTC,datetime,PlaybookStatusimport 제거. 프롬프트 line-too-long 수정.ruff check통과.추가 리뷰 응답
Finding 1: ContextLayer re-export 확인
거짓 양성 맞습니다.
src/context/store.py:10에 다음이 있습니다:Python에서 module-level import된 이름은
__all__없이도 해당 모듈에서 import 가능합니다. 런타임 확인:변경 불필요.
Finding 2: today 호출부 전파
동의합니다. Issue 1-7 (main.py 통합)에서
markets모듈의 시장별 로컬 날짜를today=로 전달하는 코드를 추가할 예정입니다. 플랜에 이미 반영 완료.