magicJar 개발일지 · 2026-05-10 (일) #1 · 16:18 KST
세션 범위: 2026-05-08 ~ 2026-05-10 · v3.1.0 dogfooding 정정 → v3.1.1 hotfix → W2 진입 (T-IND · T-DSL · T-PAT R1+R2)
main HEAD: 21038b3 (PR #259 chore 정리 직후) · 잔재: worktree 0 · agent/* 브랜치 0 · task 잔여 0
머지 PR 11
신규 Flyway V9·V10·V11
sub-agent 호출 12
총 LOC +19,000 추정
릴리즈 v3.1.1 태그
다음 트랙 T-PAT R3 / T-SB
1. 머지 PR 매트릭스
PR 날짜 (KST) 제목 / 트랙 에이전트 모델 비고
#249 05-08 fix(frontend): 종목상세 화면 결함 5건 정정 (PR-31a) frontend sonnet v3.1.1 hotfix
#250 05-08 fix(backend): supportedIntervals 1wk·1mo·1y 추가 (PR-31b) backend-core sonnet v3.1.1 hotfix
#251 05-08 chore(backlog): §24 종목상세 dogfooding 결함 묶음 (v3.2 일괄) orchestrator — v3.2 이월 의제
#252 05-09 spec(arch): W2 T-IND 진입 — 80지표 + Source 추상화 architect opus spec/plan
#253 05-09 feat(W2 T-IND): 80지표 + Native 5종 + REST + Redis + frontend overlay (PR-33 단일) 4 sub-agent mixed +6961/-139, 62 tests
#254 05-09 spec(arch): W2 T-DSL 진입 — DSL 파서 + 평가 엔진 + 자연어 변환 architect opus spec/plan
#255 05-10 feat(W2 T-DSL): KIS DSL 파서 + 평가 엔진 + sandbox + REST + Flyway + 자연어 변환 helper (PR-36 단일) 3 sub-agent mixed +5522/-2, 79 tests
#256 05-10 spec(arch): W2 T-PAT 진입 — 차트 패턴 57종 + DSL stub 1줄 교체 architect opus spec/plan
#257 05-10 chore(meta): task archive 일괄 정리 (T-IND·T-DSL·T-PAT spec) orchestrator — 메타
#258 05-10 feat(W2 T-PAT): JvmPatternRecognizer 57패턴 + R1 active 10 + DSL pattern_detected (PR-39) 2 sub-agent mixed +3416/-79, 64 tests
#259 05-10 chore(meta): task archive 정리 (T-PAT PR-39 사이클) orchestrator — 메타
2. PostgreSQL Flyway 변경
버전 파일 설명 발행
V9 V9__strategy.sqlstrategy 기본 테이블 — id·user_id·name·dsl_text·complexity 등 backend-core (PR #255)
V10 V10__strategy_disabled_reason.sqldisabled_reason · last_disabled_at · eval_metric_summary 컬럼 추가 (auto-disable 정합) backend-core (PR #255)
V11 V11__strategy_eval_metric.sqlstrategy_eval_metric 신규 테이블 — 평가 통계 누적 backend-core (PR #255)
candle 테이블 변경 0건 (T-IND는 read-only). pattern 관련 테이블 0 (Redis 캐시만).
3. Kafka 토픽 · 데이터 흐름 변경
신규 토픽 발행 0건 . T-IND·T-DSL·T-PAT 모두 read-only 트랙 — 캔들 DB read + 지표·DSL·패턴 in-memory 계산 + REST 응답. 기존 토픽 (market.tick.v1·market.orderbook.v1·market.candle.minute.closed.v1 등) 변경 0.
4. Redis 사용처 변경
키 패턴 TTL 도입 PR 용도
indicator:cache:{code}:{interval}:{name}:{paramsHash}분봉 5분 / 일봉 1일 #253 80지표 결과 캐시 (SHA-256 16자리 paramsHash)
pattern:cache:{code}:{interval}:{patternsHash}분봉 5분 / 일봉 1일 #258 57패턴 검출 결과 캐시 (T-IND 패턴 정합)
5. sub-agent 디스패치 내역
에이전트 호출수 모델 주요 산출
architect 3 opus T-IND·T-DSL·T-PAT spec/plan PR (각 5 spec 파일 + CHANGELOG 슬롯 사전 발행)
strategy-engine 3 opus T-IND domain 7 + KIS 80지표 + Native 5종 / T-DSL parser + evaluator / T-PAT 75 files (KIS candlestick.py 1:1 port)
backend-core 3 sonnet T-IND IndicatorController / T-DSL StrategyController + Flyway / T-PAT PatternController + stub 삭제
market-data 1 sonnet T-IND `_workspace/strategy/` 카탈로그 KIS-first 갱신 + cross-check fixture
ai-engineer 1 opus T-DSL 자연어→DSL 변환 helper (사용자 결재 W2 포함, ADR 0026 정합)
frontend 1 sonnet T-IND R3 차트 overlay + IndicatorPanel + 80지표 fixture
이슈/복구 내역
conflict T-IND domain 6파일 add-add → strategy-engine 권위 채택, T-DSL domain 17파일 add-add → strategy-engine 권위, T-PAT domain 7파일 add-add → strategy-engine 권위. 모두 KIS-first 1:1 port 정합으로 메인 sub-agent 채택 일관 정책.
호환성 T-DSL backend-core가 nameKo: String 가정 vs strategy-engine nameKo: String? 정의 미스매치 → orchestrator 자율 정정 (?: "" / takeIf isNotBlank).
force push v3.1.1 hotfix 시점 PR #249 CHANGELOG row 충돌로 force-with-lease 필요 → 시스템 정책 차단 → 사용자 직접 실행 1회.
빌링 v3.1.0·v3.1.1 release Action 모두 FAILURE — GitHub Actions 결제 한도 초과. 코드/태그 push는 정상, ghcr 이미지 + Release draft 미발행. 사용자 독립 처리 필요.
stub 삭제 T-PAT 본 사이클에서 T-DSL PatternRecognizerStub @ConditionalOnMissingBean 삭제 + JvmPatternRecognizer @Component(name="patternRecognizer") 1줄 교체로 활성화. DSL evaluator 코드 변경 0건.
6. sanity / dogfooding 결과
v3.1.0 dogfooding 결과 (PR-31 트리거)
결함 분류 처리
차트 캔들 미렌더 (ISO ts → UTCTimestamp 변환 누락) frontend PR #249
주봉/월봉/년봉 없음 (backend whitelist 5종) both PR #250 / #249
호가창 미표시 (장 마감) frontend PR #249 메시지 분기
"지연 데이터" 배지 / 시간 포맷 / hover 툴팁 frontend PR #249
분봉/15m/30m/90m 적재 부실 (005930 외 60건만) market-data backlog §24 v3.2 W2
getPriceBadge() 로직 (polling을 'live'로 잘못 표시) frontend backlog §24 v3.2
호가 polling fallback 부재 frontend + market-data backlog §24 v3.2 W2
9 컨테이너 상태 (현 시점)
서비스 상태 비고
api-app healthy 43h 가동
batch-app healthy 46h
consumer-app healthy 46h · KIS approval_key 발급 + 10종목 시세 구독 중
kafka / kafka-ui healthy —
postgres healthy —
redis healthy —
dozzle running —
frontend unhealthy nginx healthcheck 미설정 추정 (운영 영향 0)
현 컨테이너 jar는 PR #258 (T-PAT) 머지 이전 시점 — 본 세션 신규 기능 dogfooding은 scripts/build-and-deploy.sh 실행 후 가능.
7. 다음 세션 일정
① T-PAT R3 frontend overlay 우선
~600 LOC
PR-40 단일 PR 권장 (frontend 단독). LWC v4 setMarkers로 차트 패턴 검출 영역 시각화. T-PAT 마무리. T-SB 진입 전 완성 권장.
② T-SB Strategy Builder UI 예정
~3000 LOC
T-IND·T-DSL·T-PAT 결합 UI. frontend 중심 대규모 작업. architect spec/plan + 4 sub-agent 패턴 (T-IND/T-DSL/T-PAT 정합).
③ v3.2.0 release 컷 의제
사용자 결정
T-IND·T-DSL·T-PAT 묶음 minor release 시점. baseline init v3.2.0 + 태그 push. GitHub Actions 빌링 이슈 해결 필요.
④ v3.1.1 dogfooding 선택
로컬
scripts/build-and-deploy.sh 실행 후 80지표·DSL·패턴·자연어 변환 검증. 결함 발견 시 backlog 또는 hotfix 처리.
⑤ backlog §24 v3.2 일괄 이월
3건
결함 7 호가 polling · 결함 8 분봉 backfill 부실 ★ · 결함 9 getPriceBadge() 로직. v3.2 W2 진입 시점에 묶음 처리.
⑥ GitHub Actions 빌링 사용자
독립 처리
v3.1.0·v3.1.1 release Action FAILURE. Settings → Billing & plans 한도 증액 또는 결제 갱신 후 gh run rerun 25557080058으로 재트리거.
현 정책 SoT 요약 (다음 세션 빠른 참조)
운영 헌법 : _workspace/arch/agent-charter.md (7 § 룰 — task.mjs 4단계·머지 후 정리·KIS-first·CHANGELOG 슬롯·rebase·Repository default fun·sub-agent fail 분기)
단일 진입점 : _workspace/INDEX.md (ADR 0053 Living Policy)
현행 권위 정책 : docs/architecture/policies/ (KIS credential·로그 레벨·KIS-first·task cycle·mermaid)
마스터 아키텍처 : docs/architecture/master-architecture.md (ADR 0030 SoT)
트랙 로드맵 : docs/architecture/tracks-roadmap.md (W2 잔여 = T-PAT R3 + T-SB)
backlog : _workspace/backlog.md (§24가 가장 최신 — v3.2 W2 일괄)
spec/plan 산출물 : _workspace/specs/pr-32-* (T-IND) · pr-35-* (T-DSL) · pr-38-* (T-PAT)
ADR 인덱스 : _workspace/arch/adr/README.md (53건 · 본 세션 신규 ADR 0건)
devlog 작성: orchestrator (auto mode) · 2026-05-10 16:18 KST · 다음 세션 진입 시 main HEAD 21038b3·release/v3 분기점에서 시작 가능.