magicJar devlog — 2026-05-19 #1

발행: 2026-05-19 00:01 KST · 2026-05-18 통합 세션 (KST 17~24시간) 정리
cut 4회 v3.6.13·v3.6.14·v3.6.15·v3.6.16 머지 PR 24건 신규 ADR 4건 (0081·0082·0083·0084) 신규 Flyway V35·V36 worktree leak 0건 (세션 종료 시점) force-push 7~8회 (사용자 직접 의제 → 차회부터 자율)

1. 머지 PR 매트릭스 (2026-05-18 KST 기준)

PR제목 요약트랙·에이전트cut
#482T-O prereq 케이스 5 GREEN evidence + backlog §62·§63orchestratorv3.6.13
#483§62 OrderRouterKafkaListener catch 메시지 분리architect
#484T-O 본 트랙 진입 spec — Phase 매트릭스 + dispatch planarchitect
#485·#486T-O Phase 1 B-2·B-1 (ConsumerOrderExecutionRepositoryAdapter + KisWebSocketBridge wiring)backend-core·market-data
#487ADR 0068 Accepted — T-O 본 트랙 마감 evidence 종합architect
#488v3.6.13 cut 후속 sync (master HTML 3번째 dogfooding)orchestrator
#489·#490결함 1 backend rejectReason + frontend DTO 정합 (직렬)backend-core·frontendv3.6.14 spec
#491·#492T-ACCT spec + Phase 1·2 backend (ADR 0081 Proposed)architect·backend-core
#493·#494README mermaid 시퀀스 + 결함 3 indicator-impl spec (ADR 0083)orchestrator·architect
#495·#496T-MAN spec + B-2-extended 정정 (ADR 0082)architectv3.6.15 spec
#497주문 path 안정성 종합 spec (ADR 0084 P0·P1·P2)architect
#498ADR 0084 P0-1 hashkey 합류 (REAL prereq)market-datav3.6.16
#499T-ACCT Phase 3 CapitalSnapshotProvider (POSITION_LIMIT 활성화)backend-core
#500결함 3 indicator-impl 모듈 신설 + dogfooding GREEN (066570 ema 200)backend-core
#501ADR 0084 P0-4 DLQ (DefaultErrorHandler + 4 DLT)backend-core
#502ADR 0084 P0-3 WS race + 재연결 backfill (pre-insert + V35)market-data
#503ADR 0084 P0-2 PENDING_RECONCILE + reconciliation worker (V36)market-data
#504hotfix P0-4 KafkaErrorHandlerConfig ConsumerFactory DI 결함 (cut 차단 해소)backend-core
#505v3.6.16 cut 후속 sync (master.html 4번째 dogfooding)orchestrator
#506세션 종료 정리 — settings.json force-push 권한 + task archiveorchestrator

2. PostgreSQL Flyway 변경

버전본문PR
V35__order_execution_event_id.sqlorder_executionevent_id UNIQUE 컬럼 (KIS WS 이벤트 멱등성)#502 P0-3
V36__order_request_pending_reconcile.sqlorder_request.status CHECK constraint 확장: + PENDING_RECONCILE + partial index#503 P0-2

3. Kafka 토픽·데이터 흐름 변경

DLT 토픽 4건 신규 retention 7d

  • order.intent.v1.DLT — 자본 ★★★
  • order.requested.v1.DLT — 알림 ★★
  • order.rejected.v1.DLT — 알림 ★★
  • order.filled.v1.DLT — 자본 잠재 ★★★

DefaultErrorHandler 정책

FixedBackOff(1000ms, 3L) — 1초 간격 3회 재시도 후 DLT

Non-retryable: DeserializationException·SerializationException·IllegalArgumentException 즉시 DLT

OrderDltMonitorListener 신규

4 DLT 토픽 listen → NotificationOutbox INSERT (priority=P0, eventType=DLT_RECEIVED) → 즉시 Slack 발송

4. Redis 사용처 변경

key 패턴TTL사용처
account:balance:{userId}30sapi AccountQueryService 쓰기 + consumer KisCapitalSnapshotProviderAdapter 읽기 (POSITION_LIMIT 룰 활성화)

5. sub-agent 디스패치 내역

유형건수비고
architect dispatch9건T-O prereq · T-O 본트랙 · ADR 0068 Accepted · §62 · T-ACCT · T-MAN · T-MAN 정정 · indicator-impl · ADR 0084 종합
backend-core dispatch7건결함 1·T-ACCT Phase 1·2·indicator-impl·T-ACCT Phase 3·P0-4 DLQ·P0-4 hotfix
market-data dispatch5건T-O B-1·P0-1 hashkey·P0-3 WS race·P0-2 (1차 stall fail)·P0-2 재 dispatch
frontend dispatch1건결함 1 frontend DTO 정합
총 dispatch22건1건 stall fail (P0-2 a6e0de6670081bdd1 600s) — 재 dispatch로 회복

운영 부채: worktree git author 결함 다수 — extensions.worktreeConfig 미활성 race. PR #492에서 backend-core author로 architect attribution됨. 차회 검토 의제.

운영 부채: sub-agent root 작업 결함 다수 — architect dispatch 다수에서 cwd LOCK 위반. 사용자 직접 root 정리 1회.

6. sanity / dogfooding 결과

v3.6.16 cut docker logs evidence ALL GREEN

  • 4 모듈 (api·batch·consumer·frontend) ERROR 0건
  • Naver 429 burst 0건 · OPSP8996 0건 · APPLICATION FAILED 0건
  • 9 컨테이너 모두 healthy (infra 5 + app 4)

결함 3 dogfooding curl 200 GREEN

GET /api/indicators?code=066570&name=ema&interval=1d&params=period=20HTTP 200 + source=native + 100+ row

이전 400 Bad Request 회복 — IndicatorEngine sources 2건 등록 (native + kis-strategy-builder)

T-O dogfooding 케이스 5 GREEN

order_request: id=2 · mode=MOCK · status=REJECTED · reject_reason="REAL_GATE_DENIED:CREDENTIAL_NOT_FOUND"

3중 게이트 + Kafka publish + STOMP push 풀체인 정합

KIS WS H0STCNI9 subscribe emit=OK

trId=H0STCNI9 userId=thde**** mode=MOCK — 체결통보 자동 subscribe 실 evidence

7. 다음 세션 일정 (즉시 진입 가능)

우선순위트랙의제cut 후보
HIGHT-ACCT Phase 4frontend Dashboard 격상 (AccountSummaryCard + HoldingsTable) — backend 1·2·3 합류 완료v3.6.17
HIGHT-MAN Phase 1·2·3orderType B-2-extended (1a domain → 1b api·1c consumer 병렬 → 2 frontend)v3.6.17
MEDADR Accepted 격상ADR 0083 indicator-impl + 0084 P0 마감 evidence 종합 → Accepted독립
MEDADR 0084 P1 3건order_event_outbox · STOMP 영속 · MDC traceIdv3.6.17
LOWADR 0084 P2 2건주문 정정 + MarketSessionFsmGate + token mutexW4 묶음

권장 1순위 (사용자 결정 시 즉시 dispatch): T-ACCT Phase 4 + T-MAN Phase 1 병렬 (영역 분리 frontend vs domain/api). 인프라 변경: .claude/settings.json force-push 권한 4건 화이트리스트 — 차회 세션부터 자율 적용. 메모리: project_next_session_dispatch_matrix.md.