5da7a0040b
fix(stock,docs): portfolio total_buy 수량 곱산 + insta-trends spec 변경 이력 (F4 + F6)
...
[F4] /api/portfolio 응답의 summary.total_buy가 종목별 단가 × 수량의 합이
되도록 fix. 기존 인라인 코드가 purchase_price를 수량 미곱산으로 단순
누적해 명세(qty 100 · avg 72000 → 7,200,000)와 어긋났음. API_SPEC.md에
purchase_price 필드 의미 + total_buy 계산식 명시. test 3건 (단가 곱산,
avg_price 폴백, 다종목 합산).
[F6] insta-trends spec/plan 상단에 "google_trends → youtube_trending"
변경 이력 추가. Google Trends endpoint 폐기로 source 교체된 이력이
본문 검색 시 혼란 주는 문제 차단. 사유 cross-ref:
feedback_external_data_sources.md
2026-05-17 14:06:19 +09:00
d6081ba2d3
docs(insta-trends): implementation plan (10 TDD-grouped tasks)
...
trend_collector NAVER+Google+LLM 분류, db migration + preferences CRUD,
extract_with_weights, 4 endpoints + keywords source 필터, InstaAgent
collect_trends action + preferences-aware schedule, web-ui 탭 + 3 패널,
스모크 매트릭스.
2026-05-16 17:39:19 +09:00
10cb3ae1df
docs(insta-trends): 셀프 리뷰 보강 — LLM 분류 캐시 위치, days 쿼리 의미 명시
2026-05-16 17:31:22 +09:00
e3348da642
docs(insta-trends): 외부 트렌드 + 카테고리 가중치 설계
...
NAVER 인기 + Google Trends 두 source 수집, account_preferences로 카테고리
가중치 모델, 가중치 기반 키워드 추출 알고리즘, Insta 페이지 Cards/Trends
탭 분리.
2026-05-16 17:30:45 +09:00
30706e2eb6
docs(insta-agent): add implementation plan (18 TDD tasks)
...
scaffold → db → news_collector → keyword_extractor → card_writer →
card_renderer → main.py FastAPI → docker-compose/nginx 교체 →
agent-office service_proxy/InstaAgent/registry/scheduler/webhook
콜백 → blog-lab 폐기 → CLAUDE.md → 스모크 테스트.
2026-05-15 08:58:15 +09:00
6c25866487
docs(insta-agent): 셀프 리뷰 수정 — 6테이블 표기 일치, auto_select 설정 위치 명확화
2026-05-15 08:42:38 +09:00
6ac7469f26
docs(insta-agent): blog-lab 폐기 및 insta-lab 설계 (1080x1350 카드 피드)
...
뉴스 수집 → 키워드 추출 → 10페이지 카드 카피·PNG 생성 → 텔레그램 푸시 →
사용자 수동 인스타 업로드 파이프라인. blog-lab 디렉토리·DB 폐기, 포트
18700 재활용, agents/blog.py → agents/insta.py, Playwright 기반 카드 렌더.
2026-05-15 08:42:03 +09:00
b792cdb8d5
docs(packs-lab): 운영 검증 결과 반영 — DSM API path 형식 + DSM_VERIFY_SSL 명시
...
5/11 운영 첫 호출 검증 중 발견된 사항을 spec/CLAUDE.md에 반영:
1. DSM API path 형식 차이: Synology DSM은 일반 사용자 권한일 때
/<shared_folder>/... 형식만 인식, /volume1/... 거부 (error 408).
PACK_HOST_DIR 운영 예시값 /docker/webpage/media/packs로 변경.
2. DSM_VERIFY_SSL env 명시: LAN IP + self-signed cert 환경에서 SSL 검증
끄기 위한 환경변수. .env.example 7+3 path로 갱신.
3. DSM 사용자 권한 가이드: File Station + Sharing 둘 다 ON 필요.
4. NAS 디렉토리 준비 명령에서 호스트 OS path와 DSM API path 차이 명시.
운영 검증: HTTP 200 + DSM 공유 URL (gofile.me/...) 발급 확인.
2026-05-11 04:02:36 +09:00
e31bf549a8
docs(spec/plan): packs-lab spec/plan 복구 + PACK_HOST_DIR/평면구조/SERVICES 화이트리스트 반영
...
dc92c3d에서 "완료된 spec/plan 제거"로 함께 정리됐던 두 파일을 복구하고,
이후 적용된 운영 변경사항을 반영해 문서-구현 추적성 회복:
- PACK_HOST_DIR 환경변수 도입 (NAS 호스트 절대경로, DSM·Supabase에 노출)
- 평면 저장 구조 (PACK_BASE_DIR/{filename}, tier 디렉토리 분기 제거 — tier는 filename 규칙으로)
- scripts/deploy-nas.sh의 SERVICES 화이트리스트에 packs-lab 추가 (누락 시 NAS 컨테이너 미등장)
- .env.example 환경변수 6+3 path (DSM 3 / HMAC / Supabase 2 / TTL / DATA_PATH / BASE_DIR / HOST_DIR)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 03:03:00 +09:00
f074cbec2d
docs: 배치 음악 생성 + 자동 영상 파이프라인 spec + plan
2026-05-10 18:49:16 +09:00
ebbfa6299a
docs(plan): Essential Mix 파이프라인 — 17 task 구현 계획
...
DB 마이그레이션 → orchestrator _resolve_input → cover Pexels 분기 →
background.py 신규 → metadata tracks → video.py 파라미터 확장 →
main.py compile_job_id → Windows essential filter (showfreqs+ring+drawtext) →
server.py schema → 통합 테스트 → 배포 → 프론트(api.js, CompileTab,
PipelineStartModal, PipelineCard+DetailModal, SetupTab) → 프론트 푸시 → E2E.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 12:44:02 +09:00
d4fb485931
docs(spec): Essential Mix 파이프라인 설계
...
1시간+ mix 영상(컴파일 → 파이프라인) + essential 시각 스타일(배경 사진 + 중앙 방사형 막대 + 곡명 자막) + 진행 탭 산출물 미리보기 모달.
핵심 결정:
- 입력: track_id XOR compile_job_id
- 시각: single (기존) / essential (신규, default)
- 배경: static(사진) / video_loop(Pexels 영상)
- 배경 소스: AI 기본 + Pexels 폴백
- Mix 메타: 트랙 리스트 자동 챕터화 (YouTube 자동 인식)
- UX: PipelineCard mini 미리보기 + 클릭 시 상세 모달
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 11:55:24 +09:00
bb0b0dff25
docs: GPU 영상 인코딩 오프로드 spec + plan
...
NAS 저성능 CPU(J4025) ffmpeg 5분 타임아웃 → Windows PC RTX 5070 Ti NVENC로
오프로드. 같은 music_ai 서버에 /encode_video endpoint 추가, NAS는 다운 시
즉시 실패 (로컬 폴백 X). LAN 무인증.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 01:52:34 +09:00
e03d074222
docs(plan): Music YouTube 파이프라인 구현 계획 — 16 task
...
스펙 2026-05-07-music-youtube-pipeline-design.md를 16개 task로 분해.
TDD 패턴: 각 task = 실패 테스트 → 구현 → 통과 → 커밋.
태스크 흐름:
1. DB 5개 테이블 + 헬퍼
2. 상태 머신
3. Storage + 커버 (DALL·E + 폴백)
4. 영상/썸네일 (FFmpeg)
5. 메타데이터 (Claude Haiku)
6. AI 검토 4축 (Claude Sonnet + 휴리스틱)
7. YouTube OAuth + 업로드
8. 오케스트레이터 + 13 엔드포인트
9. agent-office 자연어 의도 분류
10. youtube_publisher 에이전트 + 30s 폴링
11. web-ui api.js 헬퍼
12. SetupTab
13. PipelineTab + 카드
14. YoutubeTab 6 서브탭 + Library 트리거
15. docker-compose env + nginx
16. 통합 테스트 + 수동 E2E
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 16:23:46 +09:00
2eeb98a723
docs(spec): Music YouTube 파이프라인 단계별 승인 자동화 설계
...
트랙 → 영상 → 발행까지 단계별 텔레그램 승인 워크플로 설계.
- 6단계 진행 바: 커버/영상/썸네/메타/AI검토/발행
- 자연어 의도 분류 (화이트리스트 + LLM 폴백)
- 반려 시 사용자 피드백 반영 재생성 (5회 한도)
- AI 최종 검토 4축 가중평균 (메타/정책/시청/트렌드)
- music-lab 5개 신규 테이블 + 12개 엔드포인트
- agent-office youtube_publisher 에이전트 + scheduler 폴링
- web-ui SetupTab + PipelineTab 신규 + Library 트리거
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 16:13:29 +09:00
dc92c3d42d
docs: 완료된 spec/plan 제거 + lotto 프리미엄 로드맵 보존
...
운영 중인 기능에 대한 design/plan 문서 일괄 삭제(20개 spec + 14개 plan).
미구현 pet-lab만 보존. lotto-premium-roadmap.md 신규 추가
(Phase 3 구독 모델 미구현 — STATUS.md에서 참조).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 15:06:04 +09:00
80a54d056e
docs(plan): packs-lab 인프라 통합 + admin mint-token 구현 계획
...
9 task TDD 분할:
- Task 1: tests/conftest.py — autouse HMAC secret
- Task 2: admin mint-token (스키마 + 라우트 + 통합 테스트 3건)
- Task 3: 기존 4 라우트 회귀 테스트 (sign-link/upload/list/delete, 8건)
- Task 4: test_dsm_client.py — DSM 7.x mock (4건)
- Task 5: routes 모듈 docstring 정리
- Task 6: Supabase pack_files DDL
- Task 7: 인프라 통합 (compose 18950 + nginx 5GB streaming + env 7개)
- Task 8: CLAUDE.md 5곳 + workspace 1줄
- Task 9: 회귀 검증 + NAS 디렉토리 가이드
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 19:42:41 +09:00
83192eb66c
docs(spec): packs-lab 인프라 통합 + admin mint-token 설계
...
- POST /api/packs/admin/mint-token (Vercel HMAC → 일회성 upload 토큰)
- Supabase pack_files DDL + 활성/삭제 인덱스
- docker-compose 18950 + nginx 5GB streaming + .env.example 6+1 환경변수
- tests: routes 통합 + DSM client mock + autouse HMAC fixture
- CLAUDE.md: web-backend 5곳 + workspace 1곳 갱신
- DELETE 라우트 docstring 정리(자동 만료)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 18:51:24 +09:00
85e5f96379
docs(plan): music YouTube 탭 프론트엔드 구현 플랜
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 14:40:04 +09:00
47a4b1e231
docs(spec): music YouTube 탭 프론트엔드 설계 스펙
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 14:32:32 +09:00
54d67f892c
docs(spec): music-lab YouTube 수익화 고도화 설계 문서 추가
...
시장 조사 자동화 + 영상 제작 파이프라인 + 수익화 추적 전체 설계.
Phase 1(영상 제작) → Phase 2(시장 조사) → Phase 3(YouTube API) 로드맵 포함.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-01 11:14:25 +09:00
71f52e4d59
docs(plan): 청약 타겟팅 프론트엔드 구현 계획
...
9 task TDD 분할 (단위 테스트 인프라 없음, 빌드+린트+수동 시각 검증):
- Task 1: DEFAULT_PROFILE 확장 + extractTier 헬퍼
- Task 2: DistrictTierEditor (드래그&드롭 + 모바일 read-only)
- Task 3: NotificationSettings (슬라이더 + 토글)
- Task 4: ProfileTab 통합 + handleSave
- Task 5: Subscription.css (5티어 + 드래그 영역 + 토글 + 슬라이더)
- Task 6-8: AnnouncementCard / AnnouncementDetail / MatchesTab district + 5티어 뱃지
- Task 9: CLAUDE.md + 수동 시각 검증 12 시나리오
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-28 10:47:20 +09:00
756f280bbc
docs(spec): 청약 타겟팅 프론트엔드 설계
...
- DistrictTierEditor: 데스크톱 드래그&드롭 + 모바일 read-only
- NotificationSettings: 임계값 슬라이더 + 알림 토글
- AnnouncementCard/MatchesTab: district + 5티어 뱃지
- AnnouncementDetail: 매칭 분석 섹션 (점수 + reasons + 자격)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-28 10:40:36 +09:00
0fadc774d8
docs(plan): 청약 타겟팅 고도화 구현 계획
...
12 task TDD 분할:
- realestate-lab: 테스트 셋업 → 스키마 마이그 → 신규 함수 → collector/matcher → profile API → notifier → 흐름 통합
- agent-office: 텔레그램 fmt → on_new_matches + endpoint → cron 폐기 + 콜백 라우팅
- 마지막: docker-compose 환경변수 + 회귀 검증
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-28 03:45:10 +09:00
eef2e3967e
docs(spec): 청약 타겟팅 고도화 설계
...
- 수집 사전 좁힘(30일 윈도우) + 완료 공고 90일 grace 자동 정리
- 자치구 5티어 가중치 매칭 (S/A/B/C/D)
- realestate-lab → agent-office push 기반 즉시 텔레그램 알림
- 데일리 리포트 cron 폐기, 임계값 통과 신규 매칭만 푸시
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-28 03:36:38 +09:00
e3d5eaf6f3
refactor: portfolio → personal 리네이밍 + Blog/Todo 통합
...
- portfolio/ 디렉토리를 personal/로 리네이밍
- lotto-backend의 Blog/Todo 라우트·CRUD를 personal 서비스로 이전
- lotto-backend에서 Blog/Todo 코드 제거 (DB 테이블 스키마는 유지)
- nginx: /api/todos, /api/blog/ 라우팅을 personal로 추가
- docker-compose: portfolio → personal 서비스 변��
- deploy 스크립트: portfolio → personal 반영
데이터 마이그레이션은 배포 후 NAS에서 별도 수행 필요:
1. cp data/portfolio/portfolio.db data/personal/personal.db
2. sqlite3 data/lotto.db ".dump todos" | sqlite3 data/personal/personal.db
3. sqlite3 data/lotto.db ".dump blog_posts" | sqlite3 data/personal/personal.db
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-27 16:32:55 +09:00
b671d275eb
docs: portfolio 서비스 구현 계획 (15 tasks)
...
백엔드 DB/API + 프론트 3탭 + 인프라 + 홈 연동 전체 구현 계획.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-27 14:31:11 +09:00
bb97aa3ec8
docs: portfolio 서비스 설계 스�� 문서
...
백엔드(portfolio 서비스 18850) + 프론트(/portfolio 페이지) 전체 설계.
프로필·경력·프로젝트·기술·자기소개(다중버전) CRUD + 비밀번호 인증 + PDF 내보내기.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-27 14:20:33 +09:00
335ea012cc
docs: Agent Office v2 구현 계획 (24 tasks, 6 phases)
...
캔버스 엔진, 에이전트 시스템, 오버레이, 사이드 패널, 페이지 통합, 최종 검증.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-27 08:21:55 +09:00
c168656fe1
docs: Agent Office v2 pixel office UX 대규모 업데이트 설계 스펙
...
전체 화면 캔버스 중심 UX, BFS 배회, 3테마, 사이드 패널 4탭 구조 설계.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-27 08:13:04 +09:00
8f0b1fbbfa
docs: travel-proxy 성능 개선 구현 계획 — 5 Tasks
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-24 08:57:10 +09:00
e88989d3c1
docs: travel-proxy 성능 개선 설계 — SQLite 인덱스 DB + 앨범 커버 + 썸네일 사전 생성
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-24 08:49:08 +09:00
f38631cdae
docs: Travel 갤러리 리디자인 구현 계획 (10 tasks)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-24 01:10:09 +09:00
b2accba65a
docs: Travel 갤러리 리디자인 설계 스펙
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-24 01:03:23 +09:00
8d92e50009
docs: 반응형 웹 UI/UX 구현 계획 23개 태스크
...
Phase 1a: breakpoint 통일 (Task 1-4)
Phase 1b: 공통 컴포넌트 + 앱 셸 (Task 5-12)
Phase 2: 주요 4페이지 (Task 13-16)
Phase 3: 나머지 페이지 (Task 17-22)
Phase 4: 검증 (Task 23)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 14:24:22 +09:00
bd7875b36a
docs: 반응형 설계 리뷰 피드백 반영
...
- 라우트 경로 수정 (/lab/music→/music, /blog-marketing→/blog-lab 등)
- /realestate/property 미등록 라우트 제외, 실제 14개 뷰로 정정
- breakpoint 예외 목록 명시 (420/520/700px)
- 사이드바→바텀네비 마이그레이션 상세 계획 추가
- react-swipeable 경량 라이브러리 활용 명시
- 미니플레이어+바텀네비 스태킹 사양 추가
- viewport-fit=cover, prefers-reduced-motion, 테스트 뷰포트 명시
- Phase 1을 1a(breakpoint 정리) + 1b(컴포넌트)로 세분화
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 14:17:07 +09:00
5ac5cce0fe
docs: 반응형 웹 UI/UX 전면 개선 설계 문서
...
13개 페이지 모바일 대응 + 공통 모바일 인프라 설계.
바텀 네비, 풀다운 리프레시, 스와이프, FAB, 바텀시트 포함.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 14:10:28 +09:00
adb5cdb54e
docs: lotto AI curator 설계/구현 계획 추가
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-15 03:45:14 +09:00
e691ed9a7d
docs(lotto): AI 큐레이터 설계 스펙 추가
...
- 주간 AI 큐레이터: 월요일 07:00 자동 생성, Claude Sonnet 4.5
- lotto-backend = 엔진·저장소, agent-office = AI 판단 분리
- 브리핑 중심 프론트 재배치(3탭), 토큰·비용 노출
- 최종 미사용 DB/코드 정리 패스 포함
2026-04-15 03:35:29 +09:00
c3b8794621
docs: Agent Office 구현 계획서 작성
...
17개 태스크: 백엔드 scaffold → FSM → 에이전트 → 텔레그램 → 인프라 → 프론트엔드 Canvas → UI
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-11 08:22:49 +09:00
e33219af0b
docs: Agent Office 설계 문서 작성
...
2D 픽셀아트 AI 에이전트 사무실 시각화 기능 설계.
MVP: StockAgent + MusicAgent, 텔레그램 양방향, Canvas 렌더링.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-11 08:10:44 +09:00
c8ee3bb95b
docs: music-lab Suno API 전체 기능 확장 구현 계획
...
10개 Task, 3 Phase 구조의 상세 구현 계획.
Phase 1(생성 강화), Phase 2(후처리), Phase 3(리믹스).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 03:26:40 +09:00
6ffa04f847
docs: music-lab Suno API 전체 기능 확장 설계 스펙
...
Suno API 미사용 기능 분석 후 3단계 점진 확장 설계.
Phase 1(생성 강화), Phase 2(후처리), Phase 3(리믹스) 구조.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 03:13:41 +09:00
9d5583935d
docs: pet-lab 구현 계획서 추가
...
5개 Task: config → eye_tracker → pet_widget → interaction → main
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-07 03:27:41 +09:00
a588a26144
docs: pet-lab 데스크톱 펫 애플리케이션 설계 문서 추가
...
PyQt5 기반 Windows 데스크톱 펫 — 화면 하단 고정, 마우스 시선 추적,
클릭/우클릭 상호작용. 독립 프로젝트(workspace/pet-lab)로 분리.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-07 03:24:00 +09:00
e91a5e6be6
docs: realestate-lab 구현 계획서 작성
...
10개 Task — 스캐폴딩, 모델, DB, 수집기, 매칭, API, 인프라, lotto-backend 정리, 문서, 검증
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-05 22:16:43 +09:00
c4406b9ecd
lotto-lab: 구매 연동 + 전략 진화 시스템 구현 계획 추가
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-05 22:10:16 +09:00
65ffdec7d2
docs: realestate-lab 설계 스펙 문서 추가
...
청약 공고 자동 수집 + 프로필 기반 자격 매칭 서비스 설계.
공공데이터포털 API 연동, 독립 서비스 분리, 매칭 엔진 정의.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-05 20:10:31 +09:00
caeb72d310
lotto-lab: 구매 연동 + 전략 진화 시스템 설계 문서 추가
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-05 20:02:27 +09:00