d73ad9b851
docs(screener): node canvas mode implementation plan (15 tasks)
...
15-task TDD plan. 의존성 + 테스트 환경 셋업 → 상수/hooks/카드/캔버스 →
Screener.jsx 통합 → 수동 검증 + 배포. 단위 테스트 20개 (4 파일),
react-flow lazy import로 모바일 번들 보호.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 21:29:22 +09:00
fdf5ef6ce8
docs(screener): node canvas mode design spec
...
n8n 스타일 노드 캔버스 모드 설계 문서. 폼 모드와 토글로 전환,
같은 settings state 공유. 11 노드 + 16 엣지 고정 토폴로지, react-flow
기반 시각화. 백엔드 변경 없음.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 21:22:57 +09:00
ca248891c2
feat(stock): 스크리너 모바일 카드 레이아웃 + 비교 적용
...
데스크탑은 기존 테이블 유지, <768px에서는 종목별 카드로 전환:
- 카드 헤더: #순위 | 종목명+코드 | 총점
- 비교 모드 ON 시: 순위Δ/점수Δ 두 줄
- 노드 칩 (가로 wrap)
- 진입/손절/익절/위험 2×2 그리드 (라벨 + 원 단위)
- 빠진 종목(OUT)도 카드로 회색 표시
CSS: .screener-mobile-list / .screener-mcard / .screener-result-head /
.screener-warn 추가. useIsMobile 훅으로 분기.
2026-05-13 12:26:16 +09:00
55d2adeaf5
feat(stock): 미리보기 결과 세션 히스토리 + 결과 비교 컬럼
...
- useScreenerRun: 실행 시마다 previewHistory에 누적 (최대 10, 메모리만 —
새로고침 시 사라짐, DB 부하 없음). top_ticker/score 요약 포함.
- RunHistoryList: '이번 세션 미리보기'와 '저장된 실행' 두 섹션으로 분리.
미리보기 항목은 클릭으로 결과 표 로드 + '비교' 버튼으로 비교 대상 지정.
- ResultTable: compareWith prop으로 비교 모드. 순위Δ(▲▼NEW)·점수Δ
컬럼 추가, 이번엔 빠진 종목은 'OUT'으로 별도 섹션에 회색 표시.
- 헤더에 'vs HH:MM:SS (통과 X)' 라벨로 비교 대상 명시.
2026-05-13 08:16:21 +09:00
6fd70dd802
feat(stock): 스크리너 노드/컬럼 hover 설명 추가
...
- ScoreChips: 아이콘 제거, 풀 라벨 표시 (외국인/거래량급증/20일모멘텀/
52주신고가/RS레이팅/이평선정배열/VCP수축). title에 노드 의미 + 70점
강조 안내.
- ResultTable: 각 컬럼 헤더에 ⓘ 마커 + 의미 hover 설명. 진입/손절/익절
컬럼명에 '(원)' 명시. 상단에 hover 가이드 한 줄 추가.
2026-05-13 07:52:14 +09:00
9f4363cdbb
fix(deploy): PowerShell single-quote literal로 path 전달
...
기존 replace(/\/g, "\\\\") + double-quote escape 패턴이 PowerShell
-Command 컨텍스트에서 한 번 더 escape돼 백슬래시가 두 개씩으로
부풀려져 Test-Path가 실패하던 케이스 fix. single-quote로 raw literal
전달 — env override(NAS_FRONTEND_DEST_WIN)가 의도대로 그대로 적용됨.
2026-05-13 07:31:48 +09:00
295972e0cb
Merge feature/stock-screener-board: Stock Screener Board MVP (frontend)
...
- /stock/screener 라우트 + 페이지 골격 + hooks 4 + 컴포넌트 7
- NodeCard 자동 폼 (param_schema), ScoreChips (노드 70점 강조)
- 모바일 적층 + 표 가로 스크롤
- API 헬퍼 7개 + CLAUDE.md 갱신
- Stock 페이지 nav 링크
2026-05-13 07:23:17 +09:00
e6659a416a
style(stock): 스크리너 모바일 적층 + 표 가로 스크롤
2026-05-12 14:23:16 +09:00
3abd46c0fd
docs(stock): CLAUDE.md 스크리너 API 표 추가 + Stock 페이지 링크
2026-05-12 14:22:18 +09:00
c42d3fe8d4
feat(stock): ResultTable 본구현 + ScoreChips (노드 칩 + 70점 강조)
2026-05-12 14:21:05 +09:00
1e8542f6c7
feat(stock): GatePanel 자동 폼 + GlobalControls (TopN/ATR/RR + 3버튼)
2026-05-12 14:19:36 +09:00
a11475db57
feat(stock): NodeCard 자동 폼 (param_schema 기반) + NodePanel 통합
2026-05-12 14:18:22 +09:00
bc2c020f71
feat(stock): /stock/screener 페이지 골격 + hooks 4개 + 컴포넌트 stub 6개
2026-05-12 14:15:36 +09:00
cd6072727f
feat(stock): /stock/screener 라우트 + 임시 placeholder
2026-05-12 14:13:26 +09:00
42ebd5a87c
feat(stock): screener API 헬퍼 7개
2026-05-12 14:11:51 +09:00
3b66a47316
docs(plan): 데이터 소스 pykrx → FDR + 네이버 스크래핑 (Task 0.1/0.3)
...
실측 결과 pykrx의 시장 전체 함수 (get_market_ticker_list,
get_market_cap, get_market_ohlcv_by_ticker)가 모두 KRX 인증
요구로 깨짐. Task 0.1 의존성을 finance-datareader + bs4 + lxml
로 교체하고 Task 0.3 snapshot.py는 FDR + 네이버 frgn 스크래핑
방식으로 재작성 (implementer dispatch 시 인라인 안내).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 04:03:31 +09:00
f7323a5b72
docs(plan): Stock Screener Board MVP 구현 plan
...
6 Phase × 35 task. Phase 0(백엔드 기반)·Phase 1(노드 8개 TDD)·
Phase 2(엔진/사이저/텔레그램)·Phase 3(라우터)·Phase 4(프론트)·
Phase 5(agent-office 통합)·Phase 6(백필·검증·배포).
모든 task에 TDD step + 코드 + 명령 명시. 로컬 venv 기반
실행으로 메모리 규약(로컬 docker 금지) 준수.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 03:48:20 +09:00
ccf6d4e551
docs(spec): Stock Screener Board MVP 설계 문서
...
KRX 강세주 발굴 노드 기반 분석 보드의 첫 슬라이스 설계.
pykrx 일봉·수급 캐시 + 위생 게이트 1 + 점수 노드 7
(외국인 누적 매수·거래량 급증·20일 모멘텀·52주 신고가 근접도·
RS Rating·이평선 정배열·VCP-lite) + 가중합 + ATR 포지션 사이징.
평일 16:30 KST agent-office 자동 잡으로 텔레그램 전송.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 03:33:35 +09:00
a20315ce34
feat(stock): 포트폴리오 현재가에 NXT 시간외 거래 뱃지
...
백엔드 응답의 price_session에 따라 NXT 프리마켓/애프터마켓 거래 중인
종목에 작은 'NXT' / 'NXT 프리' 뱃지를 표시. 툴팁에 거래 시각 노출.
정규장 마감 후에도 평가금액이 자연스럽게 이어지는 흐름을 시각적으로 보강.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 19:32:26 +09:00
3fa4dbda3c
Merge feature/lotto-curator-evolution: Lotto Curator Evolution (frontend)
...
7 commits for Phase F + G:
- api.js: getLatestReview / getReviewHistory / bulkPurchase 헬퍼
- useReview 훅 + useBriefing 4계층 normalize
- DecisionCard + RetrospectiveBox + TierModeToggle + TierSection + PickCard + BulkPurchaseButton
- BriefingTab 단일 화면 재구성
- 분석탭 → 자료실 라벨 + 9개 패널 details 접힘
- PurchasePanel 자동 채점 일치수 배지 + 4등↑ 플래그
- 4주 추세 차트(너 vs 큐레이터 평균 일치)
자세한 컨셉/계획: docs/superpowers/{specs,plans}/2026-05-11-*.md
2026-05-11 09:39:08 +09:00
baf34dd7aa
feat(lotto): 구매탭 4주 추세 차트(너 vs 큐레이터 평균 일치)
2026-05-11 09:06:54 +09:00
4ef76f6cce
feat(lotto): 구매탭에 자동 채점 일치수 배지 + 4등↑ 플래그
2026-05-11 09:05:22 +09:00
0bf1233e96
feat(lotto): 분석탭 → 자료실 라벨 + 첫 진입 모든 패널 접힘
2026-05-11 09:03:10 +09:00
ff7ac48c6b
feat(lotto): DecisionCard + BulkPurchaseButton, BriefingTab 단일 화면 재구성
2026-05-11 09:00:59 +09:00
329141c732
feat(lotto): DecisionCard 하위 컴포넌트(Pick/Tier/Toggle/Retro) + 스타일
2026-05-11 08:59:00 +09:00
cd3c538eb7
feat(lotto): useReview 훅 + useBriefing 4계층 정규화
2026-05-11 08:57:14 +09:00
9d2dfad512
feat(api): review + bulkPurchase 헬퍼
2026-05-11 08:56:10 +09:00
42073a5bf3
docs(plan): Lotto Curator Evolution 구현 plan
...
23 task로 분해 (TDD 사이클 + 빈번한 commit):
- Phase A (1-2): weekly_review 테이블 + 4계층 마이그레이션
- Phase B (3-5): 채점 보조 함수 + 통합 잡 + cron
- Phase C (6-8): review/bulk/briefing 라우터
- Phase D (9-12): 큐레이터 4계층 스키마 + 회고 + pipeline
- Phase E (13-15): 텔레그램 알림 + webhook + cron 변경
- Phase F (16-19): api 헬퍼 + 훅 + DecisionCard
- Phase G (20-22): 자료실 강등 + 자동채점 표시 + 추세 차트
- Phase H (23): 1주차 운영 점검
스펙→코드베이스 보정 사항(테이블명/기존 컬럼/기존 자동채점) plan 상단에 명시
2026-05-11 04:26:00 +09:00
6b2fcda2af
docs(spec): Lotto Curator Evolution 설계 문서
...
매주 같은 시간에 큐레이터가 한 번 더 똑똑해지는 컨셉으로
- 회고 컨텍스트(weekly_review + 자동 채점 잡)
- 4계층 위계(코어/보너스/확장/풀, 5~20세트)
- 결정 카드 단일 화면(브리핑 탭 재구성)
- 분석 탭은 자료실로 강등
- 월요일 09:00 큐레이션 + 텔레그램 푸시
2026-05-11 03:19:58 +09:00
acac2cd20e
chore: ignore .superpowers/ (visual companion mockup files)
2026-05-11 03:19:57 +09:00
95edc9d232
feat(web-ui): 배치 장르 목록 동적 fetch (POOLS 추가 시 자동 반영)
2026-05-10 23:53:49 +09:00
ec22321d56
fix(deploy): NAS_FRONTEND_DEST_WIN env로 Z: 매핑 변경 대응
2026-05-10 19:02:49 +09:00
a80b869878
feat(web-ui): Create 탭 배치 생성 섹션 + BatchProgress 폴링
2026-05-10 19:00:42 +09:00
93d5f49cdb
feat(web-ui): PipelineStartModal '원하는 이미지 분위기' 메인 필드로 노출
2026-05-10 16:17:36 +09:00
3f5cd32c77
feat(web-ui): SetupTab visual_defaults 6옵션 확장
2026-05-09 13:36:26 +09:00
120c39a3ef
feat(web-ui): PipelineDetailModal + 카드 mini 미리보기
2026-05-09 13:34:54 +09:00
08fce2d4f6
feat(web-ui): PipelineStartModal Mix 입력 라디오 + 고급 옵션
2026-05-09 13:32:23 +09:00
9c12de4593
feat(web-ui): CompileTab '영상 만들기' 버튼 + createPipeline payload 시그니처
2026-05-09 13:30:31 +09:00
53e9938903
fix(web-ui): PipelineStartModal에 initialTrackId 전달
2026-05-07 17:44:00 +09:00
522b7695aa
feat(web-ui): YouTube 6 서브탭 + Library 영상 파이프라인 트리거
2026-05-07 17:31:37 +09:00
9ffd7889e7
feat(web-ui): PipelineTab — 진행 중 파이프라인 카드 보드
2026-05-07 17:28:14 +09:00
5bba880c23
feat(web-ui): SetupTab — YouTube 자동화 구성 허브
2026-05-07 17:25:53 +09:00
4498124514
feat(web-ui): pipeline/setup/youtube API 헬퍼
2026-05-07 17:23:51 +09:00
b6748ecd27
chore: 하네스 settings.json + CLAUDE.md 깨진 spec 참조 제거
...
- .claude/settings.json: git/npm/npx/node/ls allowlist + 민감파일 deny.
- CLAUDE.md: 삭제된 realestate-targeting-enhancement-design.md 참조 제거.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 15:06:15 +09:00
397257cf3b
docs: STATUS.md — 구현 현황 + 향후 계획 정리
...
페이지·서비스별 완료/예정 항목 인덱스. CLAUDE.md를 보완.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 14:57:12 +09:00
d38ee553c3
fix(stock): 포트폴리오 카드 모바일 금액 줄바꿈 방지
...
천만원 단위 이상에서 '원'이 다음 줄로 넘어가던 문제 해결.
값 길이별 폰트 단계 축소(is-fit-sm/xs) + nowrap 적용.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-06 03:54:20 +09:00
4acdc451c0
feat(music): YouTube 탭 + 컴파일 기능 통합
...
- YouTube 탭 (영상 제작, 수익 추적, 시장 트렌드, 컴파일) 연결
- Create 탭 트랙 제목 직접 입력
- TrendsTab 히스토리 상세 + 메타데이터 수정
- 다중 트랙 FFmpeg concat 컴파일 서브탭 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 17:01:12 +09:00
f3b0b2c109
feat(music): YouTube 탭 컴파일 서브탭 추가 (다중 트랙 FFmpeg concat)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 16:58:40 +09:00
4281c1873f
feat(music): Create 탭 트랙 제목 직접 입력 추가
2026-05-01 15:49:56 +09:00
8a7b5e8a38
fix(music): setTimeout 정리 + useCallback 폴링 deps
...
- TrendsTab: useRef로 타이머 ID 추적 후 언마운트 시 clearTimeout 호출 (stale setState 방지)
- VideoProjectsTab: loadProjects를 useCallback으로 감싸고 폴링 useEffect deps에 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 15:13:04 +09:00