Commit Graph

  • 03e50d2be1 fix(task-watcher): _shared를 빌드 컨텍스트에 포함 (heartbeat import 크래시 수정) main gahusb 2026-07-01 02:26:57 +09:00
  • 54fca07d43 feat(ai_trade): NAS Redis heartbeat (trader market_open/closed) gahusb 2026-07-01 01:07:00 +09:00
  • 574b5712c3 feat(task-watcher): heartbeat 발신 (state=mode, paused 이유 노출) gahusb 2026-07-01 00:59:28 +09:00
  • 2ff31b2e76 feat(render-workers): 4 render 워커 heartbeat 배선 + poll_once 카운터 gahusb 2026-07-01 00:52:57 +09:00
  • d1b9ff570d feat(_shared): 워커 heartbeat 모듈 (worker:<name>:heartbeat TTL SET) gahusb 2026-07-01 00:43:01 +09:00
  • 4fb3d12244 merge: co-gahusb AI 클라이언트 배선 gahusb 2026-06-12 23:46:35 +09:00
  • 789a807d50 feat(co-gahusb): AI 클라이언트 배선 (.mcp.json + 역할 블록) gahusb 2026-06-12 23:46:34 +09:00
  • ad141a2887 fix(insta-render): INSTA_MEDIA_ROOT를 insta_cards 하위로 정렬 (nginx 서빙 경로 일치) gahusb 2026-06-11 01:18:09 +09:00
  • 6774067505 fix(insta-render): 큐 연결 socket_timeout=30 (None→30 교정) gahusb 2026-06-08 03:17:34 +09:00
  • c451f5313b fix(insta-render): BLMOVE dequeue가 짧은 socket_timeout으로 깨지던 문제 해결 gahusb 2026-06-06 16:08:43 +09:00
  • 9241b5cd90 fix(insta-render): fonts.ready 대기 + PNG 비어있음 검증 (렌더 known-issue 해결) gahusb 2026-06-06 12:53:07 +09:00
  • 8bfc8e153f polish(insta-render): CSS accent | safe + cover sub clamp gahusb 2026-06-06 12:50:25 +09:00
  • 232aa52adb feat(insta-render): 모던 미니멀 디자인 시스템 템플릿 gahusb 2026-06-06 12:46:19 +09:00
  • d2f7030446 docs: README.md 신설 — ai_trade(V2) + services 워커 개요 gahusb 2026-05-27 00:59:46 +09:00
  • 43ee610780 fix(image-render): F6 ReliableQueue 적용 (F6 part 5) gahusb 2026-05-25 20:17:08 +09:00
  • f79c5c26df fix(video-render): F6 ReliableQueue 적용 (F6 part 4) gahusb 2026-05-25 20:16:01 +09:00
  • 7108e5e4f5 fix(music-render): F6 ReliableQueue 적용 (F6 part 3) gahusb 2026-05-25 20:14:59 +09:00
  • 1e6638a64b fix(insta-render): F6 ReliableQueue 적용 — BLMOVE + ack/fail (F6 part 2) gahusb 2026-05-25 20:13:24 +09:00
  • 32308bede6 feat(services): _shared/reliable_queue 신설 — BLMOVE + processing list + retry (F6 part 1) gahusb 2026-05-25 20:10:47 +09:00
  • ac6409605c feat(ai_trade): poll_loop가 매 cycle 끝에 expired signal purge (F5 part 4) gahusb 2026-05-25 20:01:40 +09:00
  • e4d02b8059 feat(ai_trade): emit signal에 cycle_id + expires_at 부착 (F5 part 3) gahusb 2026-05-25 19:59:35 +09:00
  • 94a034ef38 feat(ai_trade): SIGNAL_TTL_SECONDS env 추가 (F5 part 2) gahusb 2026-05-25 19:54:45 +09:00
  • 2a11d05f4a feat(ai_trade): state.signals에 expires_at + cycle_id lifecycle 추가 (F5 part 1) gahusb 2026-05-25 19:54:18 +09:00
  • c2e77a7310 fix(ai_trade): Chronos confidence를 absolute spread 기반으로 통일 (F4) gahusb 2026-05-25 19:39:15 +09:00
  • bea27a75cf fix(ai_trade): post-close trigger를 상태기반으로 변경 (F3) gahusb 2026-05-25 19:36:10 +09:00
  • 39adfc5fc5 fix(ai_trade): KIS throttle을 asyncio.Lock으로 직렬화 (F2) gahusb 2026-05-25 19:32:50 +09:00
  • 1a848faac4 fix(ai_trade): V1_TOKEN_PATH default를 legacy/signal_v1/ 경유로 수정 (F1) gahusb 2026-05-25 19:31:55 +09:00
  • cb70226f42 feat(image-render): main + Dockerfile + compose entry (port 18714) gahusb 2026-05-23 12:10:29 +09:00
  • de24bae984 feat(image-render): Redis BLPOP worker + 3 provider dispatch gahusb 2026-05-23 12:06:24 +09:00
  • 0e6c893b4e feat(image-render): flux (ComfyUI 로컬) provider + GPU 장중 가드 gahusb 2026-05-23 12:03:23 +09:00
  • fb80973e38 feat(image-render): nano_banana (Gemini Flash Image) provider gahusb 2026-05-23 12:00:06 +09:00
  • 31b0e7dbc4 feat(image-render): gpt_image provider + media helper (SP image) gahusb 2026-05-23 11:56:50 +09:00
  • 6169f48eb8 feat(image-render): nas_client webhook adapter (video-render 복제) gahusb 2026-05-23 11:53:41 +09:00
  • 27a6df6cff docs(task-watcher): NSSM_SETUP.md — SP-9 자동 시작 안내 gahusb 2026-05-22 01:46:56 +09:00
  • 803fdb6278 feat(task-watcher): services/docker-compose entry (SP-10) gahusb 2026-05-22 01:45:40 +09:00
  • 77e21b54e6 feat(task-watcher): main.py + Dockerfile + requirements + env (SP-10) gahusb 2026-05-22 01:44:48 +09:00
  • 4d0c89ce79 feat(task-watcher): watcher.py — 30초 loop + queue:paused 토글 (SP-10) gahusb 2026-05-22 01:43:48 +09:00
  • 4b60ab34c3 feat(task-watcher): mode.py — 시간대+휴장일 판정 (SP-10) gahusb 2026-05-22 01:42:36 +09:00
  • 53a0657027 fix(video-render): Veo durationSeconds str → int (T10 follow-up 2) gahusb 2026-05-21 01:25:22 +09:00
  • 91f01d126b fix(video-render): Veo numberOfVideos 무조건 추가 → optional (T10 follow-up) gahusb 2026-05-20 08:45:13 +09:00
  • 0702cf052f fix(video-render): Kling PiAPI → Native KlingAI (T11 follow-up) gahusb 2026-05-20 02:40:01 +09:00
  • 8aa3f1c3b2 fix(video-render): Veo Vertex AI → Gemini API (T10 follow-up) gahusb 2026-05-20 02:32:11 +09:00
  • 4db0551d33 feat(video-render): main.py + services/docker-compose entry (SP-7) gahusb 2026-05-19 08:42:34 +09:00
  • 4d837fdd31 feat(video-render): worker.py — Redis BLPOP + 4 job_type dispatch (SP-7) gahusb 2026-05-19 08:41:15 +09:00
  • 2567a6f10b feat(video-render): providers/seedance.py — Seedance 2.0 BytePlus client (SP-7) gahusb 2026-05-19 08:39:54 +09:00
  • 17ed1943f1 feat(video-render): providers/kling.py — Kling AI via PiAPI gateway (SP-7) gahusb 2026-05-19 08:38:51 +09:00
  • 8d246b5b32 feat(video-render): providers/veo.py — Veo 3.1 Vertex AI client (SP-7) gahusb 2026-05-19 08:37:45 +09:00
  • b4bec9d51b feat(video-render): providers/sora.py — Sora 2 client (SP-7) gahusb 2026-05-19 08:36:27 +09:00
  • f32792e4a9 feat(video-render): scaffold + nas_client webhook adapter (SP-7) gahusb 2026-05-19 08:35:20 +09:00
  • f152545d3b feat(music-render): services/docker-compose에 music-render 서비스 (SP-5) gahusb 2026-05-19 05:06:48 +09:00
  • bf3d6ee694 feat(music-render): main.py — FastAPI + lifespan + sync endpoints (SP-5) gahusb 2026-05-19 05:04:56 +09:00
  • 44bc065796 fix(music-render): handle AttributeError on dispatch typo (T8 follow-up) gahusb 2026-05-19 05:03:48 +09:00
  • 9127616669 feat(music-render): worker.py — Redis BLPOP + 12 job_type dispatch (SP-5) gahusb 2026-05-19 05:01:26 +09:00
  • 900f45c2ff feat(music-render): providers/sync_ops.py — sync Suno helpers (SP-5) gahusb 2026-05-19 04:58:23 +09:00
  • eb34cbc0f7 fix(music-render): raise_for_status on MusicGen MP3 download (T6 follow-up) gahusb 2026-05-19 04:57:14 +09:00
  • 0de09613d2 feat(music-render): providers/local.py — MusicGen client (SP-5) gahusb 2026-05-19 04:55:09 +09:00
  • a5274a4fa7 fix(music-render): drop secondary webhook_add_track (T5 follow-up) gahusb 2026-05-19 04:53:27 +09:00
  • 4e72f8ca2e feat(music-render): providers/suno.py — 13 Suno API 함수 이식 (SP-5) gahusb 2026-05-19 04:48:55 +09:00
  • 44c6811352 test(music-render): assert caplog in webhook network-error test (T4 follow-up) gahusb 2026-05-19 04:42:40 +09:00
  • 9eef2c5015 feat(music-render): nas_client webhook adapter (SP-5) gahusb 2026-05-19 04:39:31 +09:00
  • b05e5714e3 feat(music-render): Dockerfile + requirements + env.example (SP-5) gahusb 2026-05-19 04:36:04 +09:00
  • c8793cc3cf fix(insta-render): _build_pages tolerates dict/list from NAS API gahusb 2026-05-19 02:36:44 +09:00
  • 11e73f6960 test(services/insta-render): worker unit tests (3 cases) gahusb 2026-05-19 02:09:55 +09:00
  • f1fc3e1102 feat(services): docker-compose for insta-render worker (SP-3) gahusb 2026-05-19 02:08:26 +09:00
  • e0e56090ee feat(services/insta-render): FastAPI entry + lifespan (SP-3) gahusb 2026-05-19 02:07:31 +09:00
  • e0269bae39 feat(services/insta-render): Redis BLPOP worker + NAS webhook (SP-3) gahusb 2026-05-19 02:06:45 +09:00
  • bee0add9dd feat(services/insta-render): card_renderer.py + templates (SP-3) gahusb 2026-05-19 02:05:33 +09:00
  • 1adf91a19b feat(services/insta-render): Dockerfile + requirements + env.example (SP-3 scaffold) gahusb 2026-05-19 02:02:58 +09:00
  • 26ef660c75 chore(web-ai): move signal_v1 to legacy/signal_v1/ gahusb 2026-05-19 01:37:45 +09:00
  • 139e4e3382 refactor(web-ai): rename signal_v2→ai_trade, deprecate signal_v1 gahusb 2026-05-19 01:31:47 +09:00
  • bb03cc4525 perf(signal_v2): raise stock_client TTL for NAS load relief (SP-A1) gahusb 2026-05-18 21:37:49 +09:00
  • 71ef959310 docs(web-ai): rewrite CLAUDE.md with Phase 0-4 complete context gahusb 2026-05-17 14:00:52 +09:00
  • 2aa9f48ea3 feat(signal_v2-phase4): add emit/skip logging to signal_generator gahusb 2026-05-17 13:35:29 +09:00
  • cc6310d72f feat(signal_v2-phase4-task3): integrate signal_generator into poll_loop gahusb 2026-05-17 13:24:47 +09:00
  • e574074ca8 fix(signal_v2-phase4-task2): code review fixes — sell-first ordering + anomaly test + defensive .get gahusb 2026-05-17 13:18:22 +09:00
  • b9def06993 feat(signal_v2-phase4): signal_generator + 9 unit tests gahusb 2026-05-17 13:03:29 +09:00
  • 05ab2846bb feat(signal_v2-phase4): foundation — 6 env thresholds + state.signals gahusb 2026-05-17 12:55:15 +09:00
  • 760f914d3b fix(signal_v2-phase3b): force FP32 + predict_quantiles positional args gahusb 2026-05-17 09:12:10 +09:00
  • 8eefe9d79d fix(signal_v2-phase3b): ChronosBolt predict_quantiles API support gahusb 2026-05-17 09:07:11 +09:00
  • 91de16675b fix(signal_v2-phase3b): use BaseChronosPipeline for new model architectures gahusb 2026-05-17 08:57:22 +09:00
  • 44888d6ede feat(signal_v2-phase3b): main.py lifespan loads ChronosPredictor gahusb 2026-05-16 18:11:50 +09:00
  • 9e5fecb369 feat(signal_v2-phase3b): post-close cycle + minute momentum update gahusb 2026-05-16 18:04:32 +09:00
  • 28f9c8c3a6 feat(signal_v2-phase3b): chronos_predictor + 4 mock tests gahusb 2026-05-16 18:00:46 +09:00
  • c5a88fab66 feat(signal_v2-phase3b): momentum_classifier + 6 unit tests gahusb 2026-05-16 17:55:34 +09:00
  • 7056cf2fa6 feat(signal_v2-phase3b): kis_client.get_daily_ohlcv (60 daily bars) gahusb 2026-05-16 17:49:06 +09:00
  • 4ac7da8670 feat(signal_v2-phase3b): foundation — config + state + requirements gahusb 2026-05-16 17:46:09 +09:00
  • b690900cfc fix(signal_v2-phase3a): V1 KIS env pattern + test isolation fix gahusb 2026-05-16 10:25:58 +09:00
  • d85512d036 feat(signal_v2-phase3a): main.py lifespan integrates KIS client + WS gahusb 2026-05-16 05:21:55 +09:00
  • 3ebe95ba29 feat(signal_v2-phase3a): pull_worker KIS minute cycle + WS callback gahusb 2026-05-16 05:19:24 +09:00
  • 163c9fb690 feat(signal_v2-phase3a): kis_websocket + 4 integration tests gahusb 2026-05-16 05:16:20 +09:00
  • 27bf360b01 feat(signal_v2-phase3a): kis_client REST + 4 integration tests gahusb 2026-05-16 05:12:45 +09:00
  • eafa73edb1 feat(signal_v2-phase3a): scheduler NXT windows (20:00-23:30 / 04:30-07:00) gahusb 2026-05-16 05:09:27 +09:00
  • 68eb7b073c feat(signal_v2-phase3a): config + state extensions for KIS data gahusb 2026-05-16 05:06:40 +09:00
  • 8342d38935 chore(signal_v2): sync holidays.json from stock + start.bat launcher gahusb 2026-05-16 03:55:41 +09:00
  • e47947fb69 fix(signal_v2): await cancelled poll_task + public cache_size gahusb 2026-05-16 03:52:45 +09:00
  • 94c684bab8 feat(signal_v2): pull_worker + FastAPI app + 2 integration tests gahusb 2026-05-16 03:49:50 +09:00
  • 1a6d9fcb39 feat(signal_v2): rate_limit + 3 unit tests gahusb 2026-05-16 03:46:59 +09:00
  • 6cb5085118 test(signal_v2): add scheduler boundary tests at exact transitions gahusb 2026-05-16 03:45:55 +09:00
  • fdabc69004 feat(signal_v2): scheduler + 5 unit tests gahusb 2026-05-16 03:44:24 +09:00
  • 90235497ae refactor(signal_v2): narrow stock_client exception catch + remove dead code gahusb 2026-05-16 03:43:09 +09:00