Commit Graph

28 Commits

Author SHA1 Message Date
hyowons 76376c0ab0 feat: 태그를 미리보기에서 빼고 펼친 detail에 표시
line2에서 tag_chip 제거, detail 상단에 태그 있을 때만 표시.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:51:19 +09:00
hyowons 56bb822da6 feat: 태그 칩 더 작게(8.5px) + # 글자 제거
_tag_chip_html에서 '#' 접두 제거, .tag-chip 폰트 10→8.5px·패딩 축소.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:49:08 +09:00
hyowons 6a32594268 feat: 계좌명 종목명 옆(작게), 태그 보유 왼쪽, ★ 비중 오른쪽
line1=뱃지+종목명+계좌명(작게), line2=태그+보유+비중%+★. line3 제거(2줄).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:46:26 +09:00
hyowons 639d92c4bd feat: line2에 % + 계좌명(일반/ISA), '비중' 글자·'+' 제거
비중 칩에서 '비중' 라벨 제거(숫자%만), 계좌명을 % 오른쪽 line2로 이동.
계좌명은 owner 접두(가희_) 떼고 유형만 '·'로(중복 제거). line3는 태그만.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:43:21 +09:00
hyowons f146c939c0 fix: 종목명 글씨 자동맞춤 깜빡임 제거(길이기반 CSS) + ★ 보유 왼쪽 이동
JS 폭측정 자동맞춤은 리셋→축소 플래시가 패널 swap/자동갱신마다 깜빡여서 제거.
대신 이름 길이로 글씨크기 클래스(stock-sm 10자+/stock-xs 14자+) 서버 렌더 시 확정 → 깜빡임 없음.
당일거래 마크(★)는 line2 보유 왼쪽으로 이동.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:37:10 +09:00
hyowons 5a5fe3129e feat: 당일거래 마크(★) 비중 오른쪽(line2)으로 이동
line1=뱃지+종목명, line2=보유+비중+★, line3=태그+계좌.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:33:00 +09:00
hyowons 0d9810f2b9 feat: 긴 종목명 글씨크기 자동맞춤(ellipsis 대신)
line1-held .stock 이 잘릴 만하면 폭 실측해 font-size를 0.5px씩 줄여 한 줄에 맞춤(min 10px).
MutationObserver는 행 추가(패널 swap)에만 반응하도록 필터 → 실시간 1초 갱신엔 재측정 안 함(레이아웃 부하 방지). resize도 재맞춤.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:32:21 +09:00
hyowons aaea96ffe3 feat: 보유행 계좌종류를 3번째 줄로 이동
line1=뱃지+당일마크+종목명, line2=보유+비중, line3=태그+계좌종류.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:26:25 +09:00
hyowons c4264a379e feat: 보유행 3줄 재구성 (뱃지·당일마크·이름·계좌 / 보유·비중 / 태그)
line1=뱃지+당일거래마크(★)+종목명+계좌종류(nowrap, 이름 ellipsis), line2=보유+비중, line3=태그.
미사용 .name-head 제거, .line1-held{flex-wrap:nowrap}로 긴 이름도 1줄 유지.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:25:07 +09:00
hyowons af235dca1f feat: 보유행 미리보기 3줄 고정 (뱃지·이름 / 보유·비중 / 태그·계좌)
line1=뱃지+종목명, line2=보유+비중, line3=태그+계좌종류(작게)로 재배치.
기존 line1에 섞여있던 태그·계좌(·star)를 line3로 분리. 각 줄 flex 단일행이라 3줄 고정.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:20:08 +09:00
hyowons f9f43762cf fix: 보유행 긴 종목명 줄바뀜(배지/이름 분리) 방지
line1이 flex-wrap이라 이름 길면 종목명이 다음줄로 내려가 매수등급 배지만 윗줄에 남음(KODEX AI핵심전력설비 등).
배지+이름을 .name-head로 묶고 이름은 min-width:0 ellipsis 처리 → 한 묶음 유지, 길면 잘림.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:09:47 +09:00
hyowons b2fd264690 fix: 보유행 미리보기 '비중 xx.xx%' 줄바뀜 방지
line2 flex 자식인 비중 칩 텍스트가 좁은 폭(삼성전자 등 보유수량 자릿수 큰 경우)에서 내부 줄바꿈됨.
.wt-chip{white-space:nowrap}으로 한 덩어리 유지.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 16:05:36 +09:00
hyowons cb570437aa feat: ADR 수치도 누적분 평균으로 표시(20일 미만)
_compute_adr_ma_latest를 확장 윈도우로 — 20일 미만이어도 가용분 평균 숫자 표시('누적 N/20일 평균').
단 과열/침체 태그·색은 20일 채워질 때까지 보류(짧은 윈도우 임계치 해석 부정확). 차트 정책과 일치.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 15:59:00 +09:00
hyowons ceb9b8565d feat: ADR 추세 차트 20일 미만 누적 구간도 표시(확장 윈도우)
_compute_adr_ma_series를 확장 윈도우로 — window 미만 구간은 가용한 만큼의 평균으로 1일차부터 점 생성.
누적이 20일 도달하면 정식 trailing-20 이평과 동일(steady-state 불변, 검증됨). 누적 중엔 제목에 '누적 N/20일' 표시.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 15:55:19 +09:00
hyowons e01e0b8a62 fix: 당일매매 중복행 비중도 실시간 갱신
updateScopes 비중 갱신을 consolidated(:held) + 당일매매 중복행(바 키)에 적용(같은 전체보유 비중).
계좌별 행(:held:계좌)은 exact match라 자동 제외, scope 한정으로 본인/가희 교차오염 방지.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 15:09:25 +09:00
hyowons 787834f93e feat: 관심·감시 등락률 실시간 + WS 빈응답 가드
- 관심·감시 행 등락률: KRX 기준 = 0B 피드 pct와 동일 → paintPrice가 .rt-wl-daypct를 피드 pct로 갱신 (보유행 NXT기준과 분리)
- realtime_hub: recv 빈응답 5회 연속 시 재연결(이론상 tight busy-loop 차단), 타임아웃은 정상 idle로 카운터 리셋

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 15:07:19 +09:00
hyowons 557f5bd8a5 fix: 메인 보유목록 실시간 갱신 누락 (data-row-key 접미사)
보유행 키가 'CODE:held'(메인)·'CODE:held:계좌'(계좌별)·'CODE'(당일매매)로 갈리는데
paint 함수가 [data-row-key=CODE] 정확매칭이라 :held 메인 목록을 놓쳐 현재가·평가손익·등락률이
라이브 갱신 안 됨(당일매매 중복행·관심종목·KPI만 움직여 작동처럼 보임). selByCode로 바 키+접두 키 함께 매칭.
fill_seq 빈파일('') 엣지도 수정 — 첫 체결 reload 누락 방지.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:58:04 +09:00
hyowons 15df525fb2 feat: realtime_hub 장외 대기 — 다음 영업일까지(6h 상한)
30분 고정 폴링 → 다음 영업일 07:00까지 계산해 자되 6시간 상한.
주말·휴장·연휴 정확히 건너뜀(_next_preopen_dt + _load_holidays). 휴장일 깨우기 48→4회/일.
6h 상한은 날짜계산 오류 시에도 자가교정하는 backstop. 개장 임박(07:00~08:00)은 여전히 60s.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:50:56 +09:00
hyowons 4ae10b50fc feat: realtime_hub 장외 대기 적응형(개장 임박만 촘촘히)
고정 60s 폴링 → 평일 07:00~08:00(NXT 프리마켓 08:00 임박)만 60s,
그 외 장외(밤·주말·휴장)는 30분. 밤새 무의미한 1분 폴링 제거.
30분 상한은 자가교정용(개장 오버슬립 방지). 휴장·주말은 phase!=closed 라 자동 30분.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:42:34 +09:00
hyowons b813d01cfa feat: realtime_hub 장 시간대 게이팅
장외·주말·휴장 시 키움 WS 연결 안 함(재연결 폭주·로그 노이즈 방지).
behive_web._market_phase_state() 지연 import 재사용(active=정규장·NXT만 연결).
장 마감되면 수신 루프가 연결 종료 후 대기 모드(60s 폴링), 개장 시 자동 재연결.
판정 실패 시 보수적으로 연결 유지(fail-open).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:34:48 +09:00
hyowons 925014dfd8 feat: 자산웹 실시간 시세·평가손익 (키움 WebSocket)
- realtime_hub.py: 키움 WS 허브(0B 체결가·1h VI), behive_web 데몬 스레드 + 메모리 상태
- /api/realtime/quotes 엔드포인트 (허브 메모리만, 키움 호출 0)
- 보유행 현재가·평가손익·평가금액·등락률(NXT종가 기준)·비중 실시간
- KPI 총평가금액·총평가손익·순자산·당일평가손익 실시간 (owner 탭 합계→자산정보 탭 카드 연동)
- fill_watcher 체결 시 fill_signal 기록 → 자산웹 패널 자동 새로고침(수량·예수금·당일정산)
- 감시종목 탭 자동갱신 카운트다운 활성화
- 안전: kill-switch BEHIVE_REALTIME=0, 허브 콜드/실패 시 REST 폴백, 매매 경로 무관

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:30:19 +09:00
hyowons 020ac27bd0 auto: 일일 백업 2026-06-06 02:00
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 02:00:03 +09:00
hyowons a61aad145c auto: 일일 백업 2026-06-05 02:00
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 02:00:02 +09:00
hyowons 5bb059e663 feat: 매일 02:00 git 자동 push launchd 추가
scripts/git_autopush.sh + ai.openclaw.git-autopush.plist (매일 02:00 KST).
변경 있을 때만 add+commit+push, store 헬퍼로 무인 인증.
CLAUDE.md launchd 섹션에 트리거 기재.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 15:50:59 +09:00
hyowons 68a8c7c764 auto: 일일 백업 2026-06-04 15:50
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 15:50:01 +09:00
hyowons 8561afbcd2 chore: 누적 데이터(trade_journal·market_indicators) git 추적 추가
키움 기간조회 API 부재로 복구 불가한 EOD 누적 데이터를 버전관리에 포함.
시크릿·sqlite·logs는 계속 .gitignore 제외 (별도 백업 대상).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 15:45:27 +09:00
hyowons 135d9e463c docs: CLAUDE.md에 git 버전관리 안내 추가
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 15:41:05 +09:00
hyowons fed3526b20 Initial commit: OpenClaw 워크스페이스 버전관리 시작
설정·스크립트·스킬·문서·큐레이션 메모리 추적.
시크릿(credentials/identity)·런타임 상태(state/logs/sessions/sqlite)·
백업(clobbered/bak)·dream 캐시는 .gitignore로 제외.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 15:39:41 +09:00