Commit Graph

426 Commits

Author SHA1 Message Date
970c8164e0 docs: README에 관심종목 탭(실시간 매매 알림 연동) 반영
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzpsZQxKG9hQmNRfZjRS
2026-07-03 11:08:18 +09:00
cb15ae1d24 merge: 관심종목 탭 (watchlist CRUD + 매매 시그널 알림) FE
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzpsZQxKG9hQmNRfZjRS
2026-07-03 10:04:55 +09:00
6bf36f34f0 fix(stock): watchlist 렌더 크래시 가드·성공 시 폼 리셋·정렬 테스트
- watchlistUtils: Object.hasOwn 가드 + Object.freeze (프로토타입 키 → 함수 반환 방지)
- useWatchlist.add: boolean 반환 + 재진입 가드; 성공 시에만 폼 리셋
- byFiredAtDesc 멀티 알림 정렬 테스트 추가

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzpsZQxKG9hQmNRfZjRS
2026-07-03 02:13:59 +09:00
3656ee9a59 feat(stock): 거래 데스크에 관심종목 탭 등재 + API 문서 갱신
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzpsZQxKG9hQmNRfZjRS
2026-07-03 02:03:46 +09:00
e8091a0391 feat(stock): WatchlistTab 컴포넌트 + wl-* 스타일 + 스모크 테스트
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzpsZQxKG9hQmNRfZjRS
2026-07-03 01:58:24 +09:00
a52fd0db8f feat(stock): watchlist API 헬퍼 + useWatchlist 훅(낙관적 CRUD·알림) + 테스트
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzpsZQxKG9hQmNRfZjRS
2026-07-03 01:49:44 +09:00
ae33aa4def feat(stock): 관심종목 탭 순수 헬퍼(watchlistUtils) + 테스트
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzpsZQxKG9hQmNRfZjRS
2026-07-03 01:44:34 +09:00
3e73077b29 docs(stock): 관심종목 탭 설계·구현 계획
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzpsZQxKG9hQmNRfZjRS
2026-07-03 01:43:03 +09:00
6e415b3e45 feat(infra): NAS↔Windows 워커 파이프라인 관측 페이지 /infra (Three.js)
분산 워커 관측 Part C — useNodeStatus 3초 폴링 훅 + statusVisual 색/라벨 매핑
+ 2D 워커 카드 그리드 + raw three.js 파이프라인 시각화(정상=시안 파티클 흐름 /
busy=가속 / paused=앰버 정지 / degraded=주황 / down=빨강 끊김, Redis 끊김=버스 빨강).
GET /api/agent-office/nodes(Part B) 소비. r3f 대신 기설치 three 직접 사용.
WebGL 미지원 시 카드 폴백 + 3D/그리드 토글. vitest 10 passed, build OK.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LV86jBozkNhSFXJA412fq
2026-06-30 10:39:08 +09:00
696c2ade15 merge: co-gahusb FE 클라이언트 배선 (.mcp.json + 역할 블록)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 07:51:34 +09:00
c024087c94 feat(co-gahusb): FE 클라이언트 배선 (.mcp.json + 역할 블록)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 07:34:31 +09:00
d0bf5fdd50 merge: 에이전트 횡단 오버사이트 타임라인 (agent-office 우측 기본 패널)
- agentActivity API 헬퍼 + useActivityFeed 훅 (필터/페이지네이션/WS refresh/stale 가드)
- ActivityItem/ActivityFilters/ActivityTimeline 컴포넌트
- AgentOffice 우측 기본 패널을 횡단 타임라인으로 교체
- 15 테스트 추가 (총 97 통과)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 09:18:47 +09:00
f6b8badd12 style(agent-office): designer 마감 — 타임라인 스파인·신호등 도트·level 색·펄스 강조
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 09:17:32 +09:00
833b590afb fix(agent-office): useActivityFeed stale 응답 무시 (필터 변경 중 in-flight 요청)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 09:14:03 +09:00
ce980b6eff style(agent-office): 횡단 타임라인 baseline 스타일 2026-06-11 09:09:53 +09:00
4dc70a6fc6 feat(agent-office): 우측 기본 패널을 횡단 타임라인으로 교체 2026-06-11 09:09:50 +09:00
57dfb3a3aa feat(agent-office): ActivityTimeline 컨테이너 (필터+무한스크롤) 2026-06-11 09:08:39 +09:00
1dc5bc3391 feat(agent-office): ActivityFilters (agent/type/status/days) 2026-06-11 09:07:17 +09:00
76e6fa5e69 feat(agent-office): ActivityItem (task/log 행 + 상태 뱃지) 2026-06-11 09:06:44 +09:00
ae6454ed37 feat(agent-office): useActivityFeed 훅 (페이지네이션·필터·refresh) 2026-06-11 09:05:01 +09:00
2afcf487a1 feat(agent-office): agentActivity API 헬퍼 추가 2026-06-11 09:04:19 +09:00
0bc2ef3b98 docs: 에이전트 횡단 오버사이트 타임라인 구현 플랜
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 08:48:57 +09:00
726ed77b31 docs: 에이전트 횡단 오버사이트 타임라인 설계 spec
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 08:44:44 +09:00
2a89d52634 merge: 인스타 슬레이트 패키지 다운로드 버튼
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 13:39:49 +09:00
6958714021 fix: 다운로드 버튼 hover 색상 일관성 (a.ic-btn color inherit)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 13:06:52 +09:00
52677c606a feat: 인스타 슬레이트 패키지 다운로드 버튼
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 13:03:43 +09:00
96191b2d7c merge: 주식 보유종목 인텔리전스 탭 (액션·이슈·포트건강·현재가)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 22:56:14 +09:00
5b29854251 feat: 보유종목 탭 현재가 표시 + 빈상태 문구 수정
- HoldingCard 헤더에 h.close 현재가 표시 (null guard, toLocaleString 천단위)
- Stock.css에 .hi-card__close 추가 (#94a3b8, 11px, margin-right 4px)
- !loading && !error && !data 분기 메시지 '데이터를 불러오는 중입니다.' → '데이터가 없습니다.'

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 22:38:11 +09:00
597e6504e1 feat: 주식 보유종목 인텔리전스 탭 (액션·이슈·포트건강)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 22:32:35 +09:00
b15cbbb1b6 merge: 로또 자율학습 탭 — 성적표·캘리브레이션·당첨조합 분석
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 21:09:11 +09:00
dacd01e6b9 feat: 로또 백테스트 탭 UI 폴리시 (1·2등 컬럼·빈 상태·차트 박스 CSS)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:13:32 +09:00
a57ac23064 feat: 로또 자율학습 탭 — 성적표·캘리브레이션·당첨조합 분석
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:07:03 +09:00
ecc1ab0954 fix(agent-office/LogTab): 최신 로그가 보이도록 스크롤을 맨 위로 이동 2026-05-29 07:42:37 +09:00
d8dcf682c4 Migrate saju service UI 2026-05-28 03:16:42 +09:00
86f020182a feat(agent-office/LogTab): source 뱃지 + access 메타데이터 표시 + 5초 폴링 2026-05-28 02:48:56 +09:00
d29fdac4a0 chore(saju-ui-v2): v1 components/ + Saju.css 일괄 삭제 (Phase 6 cleanup) 2026-05-27 07:48:32 +09:00
be762e1ee8 feat(saju-ui-v2): CompatibilityResult.jsx v2 — 점수 + 요약 + strengths/challenges 2026-05-27 07:47:39 +09:00
1664fbda09 feat(saju-ui-v2): Compatibility.jsx — placeholder → 두 사람 입력 폼 + compat API 2026-05-27 07:47:22 +09:00
3c64a4604f feat(saju-ui-v2): match.desktop.jsx — max-width 900 wrapper 2026-05-27 07:47:12 +09:00
29f37a1642 feat(saju-ui-v2): match.mobile.jsx — 두 사람 입력 폼 (PersonForm + IconHeart) 2026-05-27 07:47:07 +09:00
e1804ad181 feat(saju-ui-v2): Today.jsx v2 진입 + 4 state branches 2026-05-27 07:45:13 +09:00
6fdc2593be feat(saju-ui-v2): today.desktop.jsx — max-width 720 wrapper 2026-05-27 07:44:52 +09:00
9bc31d23f5 feat(saju-ui-v2): today.mobile.jsx — FortuneRing + 4 ScoreCard + LuckyBox + signs 2026-05-27 07:44:47 +09:00
0d1e8b3c2d feat(saju-ui-v2): SajuResult.jsx v2 진입 + Empty/Loading/Error state 2026-05-27 07:43:12 +09:00
f8874b2aea feat(saju-ui-v2): saju.desktop.jsx — 4탭 유지 + max-width 900 컨테이너 2026-05-27 07:42:50 +09:00
da694266d4 feat(saju-ui-v2): saju.mobile.jsx — 4탭 (Basic/Chart/Flow/Traits) + 실 schema 매핑 2026-05-27 07:42:03 +09:00
1bf1f1405b feat(saju-ui-v2): Saju.jsx — useViewportMode 분기 + Home v2 진입 2026-05-27 02:12:25 +09:00
e0834b1275 feat(saju-ui-v2): home.desktop.jsx — mt-wash 산수화 + 2-column hero 2026-05-27 02:11:52 +09:00
5acf7db27c feat(saju-ui-v2): home.mobile.jsx — night hero + ActionCard×3 + 입력 폼 2026-05-27 02:10:47 +09:00
76c7bcc62b feat(saju-ui-v2): /saju/me 라우트 + Me 컴포넌트 lazy import 2026-05-27 02:07:24 +09:00