_workspace/arch/agent-charter.md) 통합으로 7 sub-agent 운영 룰이 단일 출처로 정리되었고, 9 SKILL은 1줄 참조만 남기는 12.6% LOC 감축 달성. 다음 갈림길은 T-MS1(장 세션·fallback) 진입으로 W1 마감인지, T-IM1 dogfooding 결함 흡수 우선인지, 또는 W2 직진인지의 3 안 선택입니다.
| Wave | 트랙 | 상태 | 비고 |
|---|---|---|---|
| W1 데이터 기반 |
T-ONBOARD (셋업 마법사) | ✅ DONE | PR-6 — 7-step 마법사 + AES-256-GCM + system_config·user_account·user_kis_credential |
| T-W1 (Watchlist CRUD) | ✅ DONE | PR-7~10 — Position Bootstrap 포함 | |
| T-W2 (Ingestion Worker) | ✅ DONE | PR-9 — KIS WS + REST polling fallback + Yahoo cold-start | |
| T-S1 (Symbol Detail) | ⚠️ 부분 | 화면 진입은 OK, 차트·호가·STOMP 내부 동작 backlog §6.4 | |
| T-IM1 (Instrument Master) | ⚠️ 마무리 | PR-11(14컬럼 → KIS-first 위반) → PR-21(70+컬럼 재설계) 머지. ROE sentinel(-36100000) 옆 세션 진행 중 | |
| T-MS1 (Market Session + Fallback) | 미진행 | 장 상태 FSM·KRX 캘린더·last-day-close fallback. W3 모든 트랙 선행 | |
| T-CA1 (Corporate Action) | 미진행 | 액면분할·증자·배당락 보정 + retroactive 재계산. T-BT 선행 | |
| W2 분석 도구 |
T-IND · T-PAT · T-DSL · T-SB | 미진행 | 80지표 → 57패턴 → DSL → GUI 빌더 |
| W3 자동매매 본체 |
T-BT · T-SC · T-SIG · T-RISK · T-O · T-RECON · T-NOTIFY · T-J · T-PERF | 미진행 | 9 트랙 — 룰 only 매매 본체 풀가동 후 W4 진입 게이트 |
| W4 AI + MCP |
T-AI · T-MCP | 미진행 | 사용자 트리거 LLM 코멘트(매매 결정권 0) + MCP 서버 노출 |
| W5 마무리 |
T-LWC · T-LEARN | 미진행 | LWC 자체 overlay layer + 사용자 학습 시나리오 |
| PR | 내용 | 결과 |
|---|---|---|
| PR-21 | instrument 14 컬럼 → KIS-first 70+ 컬럼 재설계 (KOSPI 73 / KOSDAQ 67 헤더 raw 검증, byte-level EUC-KR 파싱) | ✅ |
| PR-22 | task.mjs nowIso() KST 정정 | ✅ |
| PR-23 | Repository upsert wrapper Spring Data 함정 hotfix + batch test 2건 @Disabled | ✅ |
| PR-24 | ktlint format 잔재 정리 | ✅ |
| PR-25 | upsert wrapper → InstrumentSeedRunner.upsertSeed private helper 이동 | ✅ |
| PR-26 | 운영 헌법 통합 — agent-charter.md 7 § 신설 + 9 SKILL 슬림화 + ADR 0051(Spring Data default fun 함정) + task.mjs --force flag 보강 | ✅ |
| ROE NUMERIC overflow → V6 NUMERIC 확장 시도 (KIS-first 위반) | 폐기 |
PR-28 폐기 사유: KIS-first 검증 없이 NUMERIC precision 확장 시도. 옆 세션에서 -36100000이 KIS magic number(ROE 산정 불가)임을 확인하여 sentinel detection으로 정정 진행 중.
roadmap §5-1 기준 총 21주, W1 진척분(T-ONBOARD·T-W1·T-W2 + T-S1·T-IM1 부분) 차감하면 ~18.5주 ≈ 4.5개월 남았습니다.
| Wave | 잔여 트랙 + 사이즈 | 추정 | 사용자 검증 게이트 |
|---|---|---|---|
| W1 마감 | T-MS1(M) + T-CA1(M) + T-S1 잔재(차트·호가·STOMP, S) | ~1.5주 | 휴장일 정합 + 종목 차트 adjusted 정확 + dogfooding 통과 |
| W2 분석 도구 |
T-IND(80지표 XL) → T-PAT(57패턴 M) → T-DSL(L) → T-SB(GUI 빌더 XL) | ~5주 | 80지표 차트 overlay + GUI 블록 빌더 yaml export/import 동작 |
| W3 자동매매 본체 (룰 only) |
T-BT(L) · T-SC(M) · T-SIG(M) · T-RISK(L) · T-O(XL) · T-RECON(M) · T-NOTIFY(M) · T-J(M) · T-PERF(M) | ~6주 | 시그널 → 주문 e2e 1사이클 + reconcile drift 1건 검출 + KillSwitch 5대 행동 + Slack 7 trigger + AI 호출 0 검증 |
| W4 AI 옵션 + MCP |
T-AI(L) → T-MCP(M) | ~3주 | 사용자 클릭 시 AI 응답 + MCP tool 5종 외부 호출 가능 |
| W5 학습 + LWC |
T-LWC(M) + T-LEARN(M, 병렬 가능) | ~3주 | 시스템 투어 완료 + 데이터 정합성 체크리스트 통과 |
| 합계 | ~18.5주 | ≈ 4.5개월 | |
| § | 항목 | 처리 시점 |
|---|---|---|
| §2 | KisRestPort 분리 (Candle / Price / PriceMetrics 3 port) | T-O · T-RECON 진입 시 자연 처리 |
| §3 | CLAUDE.md ADR 인덱스 갱신 (1~40 → 1~51) | 5분 hotfix · 다음 메타 정리 사이클 |
| §4 | worktree-agent-* 누적 fallback 브랜치 | 15건 초과 또는 사용자 명시 시 일괄 |
| §6.5 | 관심종목 한글 종목명 검색 안 됨 / 일부 종목(004090 한국석유) 노출 안 됨 | 다음 dogfooding 사이클 흡수 (T-IM1 마무리) |
| §11 · §18 | SymbolControllerTest + batch test @Disabled 3건 mock 보강 | W1 R3 일괄 테스트 사이클 |
| §16 | instrument fitness gap 91.7% → 13% 축소 (PR-21 + 옆 세션 ROE sentinel) | 옆 세션 마무리되면 ✅ |
| 안 | 내용 | 사유 |
|---|---|---|
| A | T-MS1 진입 (W1 마감) | 장 세션·last-day-close fallback은 W3 모든 트랙 선행. roadmap §5-1 권장 흐름. SimpleMarketSessionResolver stub 정합 보강 |
| B | T-IM1 dogfooding 검증 + 종목명 한글 검색 hotfix | 사용자가 직접 화면에서 fitness 검증, 결함 흡수 후 마감. backlog §6.5 처리 |
| C | W2 직접 진입 (T-IND 시작) | 자동매매 두뇌 본체 빨리 — 단 T-MS1·T-CA1 미정합으로 후속에서 보강 risk |
MAGICJAR_MODE=REAL + MAGICJAR_ALLOW_REAL=true 이중 게이트 해제