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
08981a292a
feat(youtube-tab): MusicStudio YouTube 탭 연결 + CSS + Library 버튼
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 15:08:15 +09:00
ed95f6678f
fix(music): TrendsTab 리포트 이력 메타데이터 장르/추천수 표시
...
리포트 목록 행의 메타 정보를 insights 미리보기에서 장르/추천 개수로 교체.
이제 list 응답에 top_genres·recommended_styles가 포함되므로 클릭 시
장르 차트와 Suno 프롬프트가 정상 표시됨.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 15:03:34 +09:00
1847771ad2
fix(music): TrendsTab 로딩상태·에러피드백·메타데이터 수정
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 15:01:38 +09:00
0f0ca8610d
fix(music): TrendsTab 리포트 selected_styles 표시 + created_at 시간 포맷
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 14:56:47 +09:00
3f2fdb095c
feat(youtube-tab): TrendsTab 시장 트렌드 서브탭
2026-05-01 14:51:10 +09:00
3e54b2c98d
feat(youtube-tab): RevenueTab 수익 추적 서브탭
2026-05-01 14:48:47 +09:00
16b8cc59ae
feat(youtube-tab): VideoProjectsTab 영상 제작 서브탭
2026-05-01 14:46:27 +09:00
a89de57b79
feat(youtube-tab): YoutubeTab 서브탭 shell 컴포넌트 + 스텁 탭 추가
2026-05-01 14:44:21 +09:00
413dccb655
feat(api): video-project / revenue / market-trends API 함수 추가
2026-05-01 14:42:15 +09:00
d1526af32c
feat(subscription): 청약 일정 캘린더 뷰 추가
...
공고 목록 탭에 📅 캘린더 토글 버튼 추가.
캘린더 모드: 월간 그리드, 접수 시작일 기준 도트 표시 (상태별 색상).
날짜 클릭 시 해당일 공고 목록 패널 표시, 항목 클릭 시 상세 뷰로 전환.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 10:35:44 +09:00
abd8762b5c
feat(subscription): 프로필 완성도 힌트 배너 추가
...
소득·면적·예산·자치구 티어 중 미입력 항목이 있으면
프로필 패널 상단에 입력 권장 안내 배너 표시.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 10:31:37 +09:00
8514232775
feat(subscription): 소득 기준 힌트 표시 + input 범위 제한
...
income_level 입력 필드에 특별공급별 소득 기준(%)'을 안내 텍스트로 표시.
미입력 시 검증 생략됨을 명시.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 10:12:34 +09:00
6c1f19e690
fix(deploy): rsync 대신 tar|ssh 방식으로 전환 (Synology rsync --server 차단 우회)
...
Synology가 rsync 바이너리를 패치하여 --server 모드도 데몬 인증을 요구함.
SSH는 정상 동작하므로 tar czf | ssh로 대체하여 배포 가능하도록 수정.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 09:48:37 +09:00
35ce362d20
fix(deploy): -e 인자 단따옴표 변경 + 키파일 존재 검증
...
- -e 'ssh ...' 단따옴표 사용으로 -i 경로의 따옴표 충돌 방지
- 키 파일 없을 때 명확한 에러 메시지 출력 후 종료
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 09:39:27 +09:00
11e4f00ae6
fix(deploy): rsync SSH에 -i 키파일 명시 (macOS Keychain 우회)
...
macOS에서 rsync 서브프로세스는 Keychain 키를 자동 로드하지 못해
비밀번호 프롬프트로 fallback됨. -i ~/.ssh/id_rsa 명시로 해결.
- BatchMode=yes: 비밀번호 프롬프트 차단 (명확한 에러 반환)
- StrictHostKeyChecking=accept-new: 최초 연결 host key 자동 수락
- NAS_SSH_KEY 환경변수로 다른 키 파일 지정 가능
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 09:35:56 +09:00
b11d1c421d
fix(deploy): SSH env값 제어문자 sanitize + 포트 검증
...
- NAS_SSH_TARGET/PORT/PATH에서 \r\n\t 제거 (잘못된 export·copy-paste 대비)
- NAS_SSH_PORT는 숫자만 허용, 잘못된 값이면 명확한 오류 메시지 출력
- SSH deploy 실행 시 cleanTarget/sshCmd 값 콘솔에 출력 (디버그용)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 09:27:11 +09:00
f6d95264c3
fix(deploy): Mac SSH 배포 지원 + .env.local 자동 로드
...
- .env.local 파일에서 NAS_SSH_TARGET 등 SSH 설정 자동 로드
- NAS_SSH_TARGET 설정 시 SMB 마운트보다 SSH 우선 사용
- SMB 쓰기 실패(EIO) 시 스택트레이스 대신 SSH 설정 안내 메시지 출력
- .env.local을 .gitignore에 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 09:21:32 +09:00
7cbdbe6e8b
feat(subscription): 5축 점수 breakdown 시각화 + 알림 대상 카운트
...
- AnnouncementDetail: 5축(지역/유형/면적/가격/자격) progress bar 추가
- MatchesTab: 카드마다 미니 5축 비례 바 추가 (색상 구분)
- ProfileTab: 마운트 시 dashboard도 함께 fetch → pass_count 취득
- NotificationSettings: passCount prop → "현재 N건 대상" 인라인 표시
- Subscription.css: .ns-pass-count 스타일 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 08:56:36 +09:00
573c0364bb
style(subscription): 5티어/드래그/토글/슬라이더 다크 네온 테마 정렬
...
- 5티어 뱃지: light pastel → 페이지 accent 팔레트 + neon glow
S=rose / A=orange / B=mint / C=cyan / D=purple (모두 반투명 bg + bright text + glow)
- DistrictTierEditor: surface-card glass + rose dragOver glow
- 자치구 칩: surface-raised + rose hover lift/glow
- sub-toggle: 다크 호환 + rose 활성 glow
- ns-slider: custom thumb (rose + glow + scale on hover)
- 매칭 분석: surface-card + rose 사이드 그라데이션 + 점수 text-shadow
- 모든 텍스트는 --text/--text-bright/--text-dim/--text-muted 토큰
- font-family: --font-display(--font-body)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 08:36:01 +09:00
7f42ff3594
Merge branch 'feat/realestate-frontend-targeting'
...
청약 페이지 자치구 5티어 + 알림 설정 UI — 9 task TDD 구현
- DistrictTierEditor: 데스크톱 드래그&드롭 + 모바일 read-only
- NotificationSettings: 임계값 슬라이더 + 알림 토글
- AnnouncementCard / MatchesTab: district + 5티어 뱃지
- AnnouncementDetail: 매칭 분석 섹션 (점수 + 사유 + 자격)
- 백엔드 스펙: web-backend 2026-04-28-realestate-targeting-enhancement
- 빌드 clean, 린트 baseline 유지
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-29 00:37:10 +09:00
1c331f209a
fix(subscription): CLAUDE.md districts shape + dragLeave 정확도
...
preferred_districts 문서 형태를 백엔드 실제 구조(tier-keyed Dict[str, List[str]])로 수정.
onDragLeave가 자식 요소로 커서 이동 시 flicker 발생하던 문제 수정(relatedTarget 체크).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-28 20:31:24 +09:00
c87e764063
docs(web-ui): 청약 5티어 + 알림 설정 문서 업데이트
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-28 20:26:19 +09:00
80fcb07fc0
feat(subscription): MatchesTab 카드에 district + 5티어 뱃지
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-28 20:26:15 +09:00
a9a6808005
feat(subscription): AnnouncementDetail에 매칭 분석 섹션
...
match_score가 있는 공고에 한해 매칭 분석 섹션을 상세 패널 하단에 노출.
점수·매칭 사유·신청 자격 타입을 조건부 렌더링.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-28 11:08:10 +09:00
0a0ab05e41
feat(subscription): AnnouncementCard에 district + 5티어 뱃지
2026-04-28 11:06:32 +09:00
f6e78ac0ca
feat(subscription): 5티어 뱃지 + 드래그영역 + 토글 + 슬라이더 스타일
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-28 11:04:13 +09:00
60f17ff3e0
feat(subscription): ProfileTab에 5티어/알림 설정 통합
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-28 11:01:41 +09:00