주식 추천 고도화 티켓 목록

의존성 DAG

flowchart LR
    STK9-01["STK9-01\nBackend: signal_snapshots API"]
    STK9-02["STK9-02\nML: TtlCache 제거"]
    STK8-01["STK8-01\nBackend: ManualHolding CRUD"]
    STK8-02["STK8-02\nML: portfolio-forecast endpoint"]
    STK9-03["STK9-03\nAggregator: Redis→DB, refresh"]
    STK8-03["STK8-03\nAggregator: 포트폴리오 분석 API"]
    STK8-04["STK8-04\nAggregator: 추천 종목 강화 API"]
    STK8-05["STK8-05\nFrontend: 포트폴리오 UI"]
    STK8-06["STK8-06\nFrontend: 추천 종목 예측 UI"]
    STK9-01 --> STK9-03
    STK9-02 --> STK9-03
    STK8-01 --> STK8-03
    STK8-02 --> STK8-03
    STK9-03 --> STK8-03
    STK8-02 --> STK8-04
    STK9-03 --> STK8-04
    STK8-03 --> STK8-05
    STK8-04 --> STK8-06

Wave 분포

Wave티켓너비
1STK9-01, STK9-02, STK8-01, STK8-024
2STK9-031 (불가피한 병목)
3STK8-03, STK8-042
4STK8-05, STK8-062

Wave 2가 너비 1인 병목이지만, Aggregator 핵심 캐시 전략 변경(Redis → DB)이 STK8-03/04 모두에 선행 필요하므로 불가피하다.

파일 교집합 검증

Wave충돌 위험대응
1STK9-02, STK8-02 모두 ml/app/main.py 수정STK9-02 먼저 머지(캐시 제거), STK8-02 이후(forecast 추가)
3STK8-03, STK8-04 모두 MlAggregatorApiController.kt 수정 가능STK8-04는 STK8-03 머지 후 시작 권장
4STK8-05(frontend/portfolio), STK8-06(frontend/recommendations)교집합 없음

베이스 브랜치 전략

티켓베이스비고
STK9-01main
STK9-02mainml/main.py — STK8-02보다 먼저 머지
STK8-01main
STK8-02mainml/main.py — STK9-02 머지 후 시작
STK9-03mainSTK9-01, STK9-02 머지 후 시작
STK8-03mainSTK8-01, STK8-02, STK9-03 머지 후 시작
STK8-04mainSTK8-02, STK9-03 머지 후 시작. MlAggregatorApiController 충돌 방지 위해 STK8-03 이후 권장
STK8-05mainSTK8-03 머지 후 시작
STK8-06mainSTK8-04 머지 후 시작

티켓 목록

티켓제목Wave상태
STK9-01Backend: signal_snapshots API 신설1
STK9-02ML: TtlCache 제거1
STK8-01Backend: ManualHolding CRUD1
STK8-02ML: portfolio-forecast endpoint 신설1
STK9-03Aggregator: Redis→DB 교체 + refresh 로직2
STK8-03Aggregator: 포트폴리오 분석 API3
STK8-04Aggregator: 추천 종목 강화 API3
STK8-05Frontend: 포트폴리오 UI4
STK8-06Frontend: 추천 종목 예측 UI4