변경 이력¶
최신 순. 간결하고 의도적으로 불완전 — main의 커밋이 정본이며, 여기는 사람이 읽는 요약본입니다.
2026-04 — P5 (UI v2 + 품질 개선)¶
프론트엔드 재작성¶
- React 18 + Vite 5 + Tailwind 3이 기존 vanilla HTML SPA를 대체. 4탭 내비(대시보드 / 관심종목 / Claw / 설정), 전면 TypeScript, 백엔드 Pydantic 형식을 표시 타입으로 브리지하는 타입 지정 API 클라이언트 + 어댑터 레이어.
- 시그널 카드 재설계 — v1 포맷 픽셀 단위 복원: 헤드라인, 티커별 relevance 바(티어 색상: 빨강 / 금 / 파랑), 중영 병렬 컬럼,
[AGENT]태그로 분리되는 접을 수 있는 reasoning, Impact + Confidence 점수 바, 접을 수 있는 에이전트 분석, 비동기 로드 OG 미리보기, 컴플라이언스 면책. - UserMenu 드롭다운 — 헤더의 아바타 클릭 시 이메일, 설정 바로가기, 로그아웃 표시(설정 페이지 경유 불필요).
- TelegramWizard — 연결 플로우를 번호가 매겨진 3단계 가이드로. 클립보드 복사 기능 포함.
- Ask StockClaw 페이지 — 채팅 트랜스크립트 ≥55vh 확보, 과거 검색은 아래로 이동.
- OS 적응형 라이트 팔레트 — GitHub 스타일 흰색 카드 + 연한 회색 페이지.
- 프리/애프터 마켓 가격 — yfinance가
marketState를 확장 세션으로 보고할 때 관심종목 행에 PRE / POST 배지 + 연장가 + 변동률 표시. - 실시간 상태 바 — "Last updated 8s ago"가 실제 fetch 타임스탬프 기반, 15초마다 tick.
시그널 품질¶
- 긴급도 계층 명확화 — FLASH / ALERT / NOTE / FYI가 4개 독립 배지(빨강 / 주황 / 금 / 회색). 이전엔 FLASH + ALERT를 "BREAKING"으로 합쳤음.
- 중복 시그널 수정 —
RawItem.raw_id가content_hash를 상속해 DB 레벨 중복 제거가 실제로 발동. 이전엔 매 크롤 시 새 UUID4라 중복 제거가 no-op였음.
Ask Claw (RAG) 수정¶
- BM25 토크나이저 —
websearch_to_tsquery의 AND 매칭이 거의 히트하지 않아, 내용 단어를 OR 결합하는 토크나이저로 교체. - 검색 진단 —
[rag] empty retrieval로그에 가시 시그널 수 + 리트리버별 히트 수 표시.
배포 / 운영¶
- Vercel SPA 폴백 —
/:path*→/rewrite. OAuth 콜백 404 문제 해결. - 시장 쿼트 캐시 TTL을 60초 → 30초로 단축.
2026-04 — P4 완료¶
- P4.4 Google OAuth JWKS/ES256 검증으로 완전 작동.
- Web Push — VAPID 인증 브라우저 알림, 시그널 딥링크, FLASH는 스티키.
- Telegram 다중 사용자 — user_settings.telegram_chat_id에서 읽어 사용자별 연결.
- RLS 수정 —
user_scope가SET LOCAL ROLE authenticated로 변경돼 RLS가 실제 발동. - 에이전트 분석 패널 — 시그널별 에이전트 impact / confidence / latency / error.
- 티커별 relevance 바 + Open Graph 미리보기 카드.
- 이메일 매직 링크 Supabase 경유.
- Claw 채팅 구현 — dense + BM25 하이브리드 검색, rag_query_logs 기록.
- 임베딩 파이프라인 — 새 시그널마다 commit 직후 ChromaDB로 임베딩.
- Claw 규칙 CRUD — LLM 자연어 파서(저장만, 트리거는 향후).
- OS 기반 다크/라이트 테마 전체 SPA.
- 실제 시장 데이터 —
/market/quotes,/market/indices를 yfinance + 60초 Redis 캐시. - 관심종목 자동 부트스트랩.
- 로그아웃 UI (아바타 드롭다운).
- 법적 페이지 + 이 문서 사이트.
2026-04 — P3¶
- 쓰기 엔드포인트(관심종목 / 설정 / Telegram 연결 / Claw 채팅).
user_settings테이블.- 티커 추가 시 즉시 크롤.
2026-04 — P2¶
- 읽기 전용 FastAPI (
/signals,/watchlists,/health,/ws/signals). - JWT 인증 + RLS 스캐폴드.
- 프론트엔드 mock 모드 해제.
2026-04 — P1¶
- Supabase Postgres + Redis를 docker-compose로.
- Celery + Beat 오케스트레이션.
- 시그널 영속화.
- SQLite → Supabase 관심종목 이전.
2026-04 — P0¶
- 5 에이전트 합성 엔진, Reflexion과 Pydantic 검증 포함.
- RSS / yfinance 크롤러.
- 관심종목 SQLite DB.
- 프론트엔드 SPA, PWA 매니페스트 포함.
- Telegram 봇 전송(단일 사용자).