7c5ca15b64
feat(agent-office): InstaAgent 자율 발급 경로 + 커버 프리뷰
...
- on_schedule에 autonomous_issue 분기 추가 (eligible 픽만 선별·max_per_day 제한)
- _generate_and_preview 메서드: 슬레이트 생성 → 커버 PNG → 인라인 승인 버튼
- messaging.send_photo 신규 추가 (multipart/form-data, reply_markup 지원)
- insta_get_preferences 실패를 warning으로 격리해 자율 경로 중단 방지
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:36:26 +09:00
9fc764a78c
feat(agent-office): service_proxy insta_ranked/insta_decision
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:32:43 +09:00
83398c8413
fix(insta-lab): 선별 zero-pref 크래시 가드 + judge max_tokens 상향 + 404 테스트
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:31:18 +09:00
7d1857c8a4
feat(insta-lab): GET /keywords/ranked + POST /slates/{id}/decision
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:23:33 +09:00
c3a6e78954
feat(insta-lab): Claude Haiku 카드가치 판단(graceful)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:21:09 +09:00
5d0e80fb49
feat(insta-lab): selection.py 순수 선별 점수(4신호)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:19:32 +09:00
af2fb57760
feat(insta-lab): 발행 상태 컬럼 + set_slate_decision/list_recent_issued_topics
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:14:48 +09:00
4d02d9c321
docs(plan): insta 자율 카드 발급 구현 계획 (9 tasks, TDD)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:11:32 +09:00
c99017e68c
docs(spec): insta 자율 카드 발급 (스마트 에이전트 3번) 설계
...
선별 지능(4신호)+카드별 승인 게이트+상태머신/발행이력. 접근법 A: insta-lab 선별·상태 소유, agent-office 오케스트레이션·텔레그램 승인.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 02:05:51 +09:00
ce6c8d8f7d
docs(CLAUDE): 카탈로그 슬림화(966→484) + 서비스별 메모리 분담 + stale 수정
...
포트/nginx/API 엔드포인트 목록·cross-cutting 규칙만 CLAUDE.md에 유지. DB 스키마 세부·스케줄러·env·운영 히스토리는 service_<name>.md 메모리로 이관(§0 규칙 명시).
코드 대조로 발견한 stale 수정: insta 렌더는 Windows 워커(card_renderer.py DEPRECATED), lotto v3 backtest API 추가, music-lab 워커 위임, internal webhook X-Internal-Key 2중, /media video↔videos 구분 등.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 01:48:15 +09:00
0d1b04d322
fix(insta-lab): webhook이 렌더 PNG를 card_assets로 등록 (cutover 누락 복구)
...
2026-05-19 cutover(렌더를 Windows insta-render 워커로 이관)에서 card_assets 등록 단계가 새 설계에 누락됨. 구 card_renderer.render_slate가 NAS DB에 등록하던 것을, webhook은 task/slate status만 갱신하도록 만들어 card_assets가 영구 빈 상태 → /assets 404, /package 409, get_slate assets=0.
insta_update가 succeeded 시 워커 출력 디렉토리를 스캔해 실제 PNG만 card_assets에 등록(_register_rendered_assets). CARDS_DIR/{id}, INSTA_DATA_PATH/{id} 두 후보를 순서대로 스캔 → 경로 정합 전환기에도 견고. 신규 테스트 2건(등록 성공 / 파일 없으면 미등록).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 01:17:54 +09:00
8b6b251225
merge: 인스타 카드뉴스 품질 고도화 + zip 패키지 (Phase 1-5)
...
모던 미니멀 디자인 시스템 템플릿 + 카피 글자수 가이드 + zip 패키지 다운로드 API.
(렌더 견고화·템플릿 authoritative는 web-ai repo)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 13:39:35 +09:00
1efe3d3a48
test(insta-lab): package 404/409 테스트 + 전체파일누락 409 가드
...
- /package 엔드포인트: asset DB 레코드는 있지만 모든 PNG 파일이
디스크에 없는 경우 written=0 체크 후 HTTPException(409) 반환
- test_package_unknown_slate_404: 존재하지 않는 slate_id → 404 검증
- test_package_no_assets_409: asset 없는 slate → 409 검증 (기존 guard)
- test_package_no_assets_409: 파일 없는 asset만 있는 경우 → 409 검증 (신규 guard)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 13:01:39 +09:00
3a9d6e986e
feat(insta-lab): 슬레이트 zip 패키지 다운로드 API (10 PNG + caption.txt)
...
GET /api/insta/slates/{slate_id}/package 엔드포인트 추가.
렌더된 card_assets PNG들 + suggested_caption + hashtags를
단일 zip으로 번들해 StreamingResponse 반환.
hashtags JSON 문자열/리스트 방어 파싱 포함.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 12:58:32 +09:00
bb0280274e
feat(insta-lab): card_writer 프롬프트에 글자수 가이드(오버플로우 예방)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 12:56:21 +09:00
cd9a73254b
polish(insta-lab): 템플릿 동기화 (CSS | safe + cover clamp)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 12:50:29 +09:00
332525a6f0
feat(insta-lab): default 템플릿 디자인 시스템 동기화(참조용)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 12:46:23 +09:00
11f591e3d4
docs(plan): 인스타 카드뉴스 고도화 구현 plan (6 Phase, 3 repo, TDD)
...
Phase 1 디자인시스템 템플릿(web-ai+insta-lab) → 2 렌더 견고화(fonts.ready+
PNG검증) → 3 카피 글자수 가이드 → 4 zip 패키지 API → 5 web-ui 버튼 → 6 검증.
템플릿 sync open-item 해결(web-ai templates/ authoritative).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-02 10:20:30 +09:00
8788763b3d
docs(spec): 인스타 카드뉴스 품질 고도화 + 업로드 친화 패키지
...
모던 미니멀 디자인 시스템 템플릿으로 카드 품질 격상 + 렌더 견고화
(fonts.ready 대기·1080x1350 정확·오버플로우 clamp로 known-issue 해결)
+ zip 패키지 다운로드(업로드 친화, 반자동). Graph API 미사용.
2 repo: insta-lab(템플릿/카피/zip/web-ui) + web-ai(렌더 워커).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-02 09:50:37 +09:00
b89e92440a
merge: nginx CVE-2026-9256 대응 (1.30.2 상향)
2026-06-01 17:35:40 +09:00
5ad0adf719
fix(security): nginx CVE-2026-9256 추가 대응 — 1.30.1 → 1.30.2
...
CVE-2026-9256(nginx-poolslip, ngx_http_rewrite_module 힙 오버플로우)는
영향 범위가 ~1.31.0으로 넓어 1.30.1은 여전히 취약, stable은 1.30.2+에서 수정.
1.30.2-alpine로 상향해 CVE-2026-42945 + CVE-2026-9256 둘 다 커버.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 17:35:39 +09:00
d98cd9afbe
merge: nginx CVE-2026-42945 패치 버전 고정
2026-06-01 17:33:13 +09:00
4e846a2d5f
fix(security): nginx CVE-2026-42945 대응 — 패치 버전 고정
...
미고정 nginx:alpine → nginx:1.30.1-alpine (NGINX Rift, ngx_http_rewrite_module
힙 오버플로우 CVSS 9.2, 1.30.1/1.31.0에서 수정). 현재 default.conf엔 rewrite
디렉티브가 없어 실 익스플로잇 경로는 미도달이나 defense-in-depth로 패치 stable 고정.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 17:33:13 +09:00
5d9be51dba
merge: 주식 보유종목 인텔리전스 (Phase 1-5)
...
스크리너 엔진을 보유종목에 restrict + 매도/리스크 룰 + 이슈 감지
(급변·거래량·외인·뉴스감성) + 포트 건강 → 매일 advisory 브리핑.
EOD(16:50)+아침(08:30) cron. KIS 실주문 미사용.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:56:00 +09:00
cd4fb27d5a
fix(agent-office): EOD 16:50 stagger(부분일봉 방지)·idle가드 문서화·proxy/import 정리
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:28:12 +09:00
b94b5973d6
feat(agent-office): StockAgent holdings EOD(16:40)+브리핑(08:30) cron
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:22:04 +09:00
f54ade2c0d
feat(agent-office): 보유종목 브리핑 텔레그램 포매터
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:21:58 +09:00
2cbc830004
feat(agent-office): stock holdings run/brief 프록시
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:21:54 +09:00
d0c057358a
test(stock): Phase 4 회귀 (momentum_loss·멱등·non-KRX 경로)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:18:58 +09:00
7d7064ae93
feat(stock): holdings intel API (intel/history/run)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:12:28 +09:00
789785fe3a
feat(stock): compute_and_store + build_holdings_brief
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:11:45 +09:00
c3a3055060
test(stock): Phase 3 커버리지 보강 (volume Z경로·외인매도·severity경계·빈포트)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:09:05 +09:00
3056e8d35f
feat(stock): portfolio_health (집중도·현금·손익)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:03:21 +09:00
4ed3794f71
feat(stock): news_issues (감성 기반 악재 flag)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:02:45 +09:00
241c24943f
feat(stock): market_events (급변·거래량Z·외인순매도)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:02:10 +09:00
c756b20c77
fix(stock): Phase 2 결정엔진 견고화 (빈노드 제외·cur=0 손절·params기본값·NaN MA·테스트)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 22:00:02 +09:00
fba6dbf1fd
feat(stock): decide_action 매트릭스 (sell>trim>add>hold)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:48:52 +09:00
b13c088739
feat(stock): exit_rules (손절·MA이탈·익절·클라이맥스)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:48:37 +09:00
116b2540c2
feat(stock): technical_posture (스크리너 노드 보유종목 적용)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:48:01 +09:00
62169ad33f
refactor(stock): Phase 1 리뷰 반영 (public get_krx_tickers·타입·limit명명·테스트)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:45:19 +09:00
0ef7d414b7
feat(stock): get_holdings (현재가·손익·KRX판별)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:37:01 +09:00
885d52d8f5
feat(stock): holdings_signals 테이블 + CRUD
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:36:27 +09:00
e3088f7cc6
docs(plan): 주식 보유종목 인텔리전스 구현 plan (7 Phase, TDD)
...
Phase 1 데이터모델+get_holdings → 2 기술분석·매도룰·decide_action →
3 이슈(market_events·news·portfolio_health) → 4 compute+brief+API →
5 agent-office EOD·아침브리핑 → 6 web-ui 탭 → 7 검증. 장중 가드는 후속.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:33:55 +09:00
2996cf16d1
docs(spec): 주식 보유종목 인텔리전스 설계
...
스크리너 엔진을 보유종목에 restrict 적용 + 신규 매도/리스크 룰 +
이슈 감지(급변·거래량·외인·뉴스 LLM) + 포트 건강 → 매일 advisory 브리핑.
EOD 일봉 + 장중 경량 가드, KIS 실주문 미사용. 기존 screener/snapshot/
news_sentiment/portfolio 재활용, 신규 데이터소스 0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:25:21 +09:00
03ee5ce147
merge: 로또 자가학습 백테스트 & 캘리브레이션 (Phase 1-5)
...
forward 가상구매(6 engine_w + 6 random_null + coverage) + winner 캘리브레이션
+ evolver lift 학습신호(best-vs-best, ε게이팅) + 일요 회고 텔레그램.
null-model 베이스라인으로 무작위 대비 우위를 정직하게 측정.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 21:04:40 +09:00
11212c4afd
fix(agent-office): 일요 회고 견고화 (dead import 제거·send 가드·부분 payload 방어)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 18:02:01 +09:00
1b8548a73f
feat(agent-office): LottoAgent 일 09:00 sunday_review cron
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 17:53:01 +09:00
c4ba7e81e6
feat(agent-office): 일요 회고 텔레그램 포매터
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 17:51:34 +09:00
e8270c5a63
feat(agent-office): lotto backtest review/run-forward 프록시
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 17:51:29 +09:00
4063f29cd3
fix(lotto): 학습 게이트 정직화 (engine-best vs random-best 6trial·명시적 gated·정체성 일관)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-31 17:47:52 +09:00