ActivityTimeline 프론트 NAS 라이브 반영 완료(SSH 직접 배포, Z: 매핑 우회).
56d0f5b 위 새 커밋 — feat/co-gahusb-team-bus가 56d0f5b를 base로 의존하므로
amend 대신 신규 커밋.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8.3 KiB
8.3 KiB
web-backend CHECK_POINT
NAS Docker (Synology Celeron J4025 2C 2.0GHz, 18GB). 16+ 컨테이너(14 서비스 + Redis + frontend + deployer). 2026-06-12 갱신 — 5/18 CPU 진단·NAS↔Windows 분산부터 6/12 음악 파이프라인 신뢰성까지 반영. 운영 세부(DB·스케줄러·env·함정)는
memory/service_<name>.md가 authoritative. 이 파일은 무엇이 끝났고 다음에 뭘 하나의 보드.
✅ 완료 타임라인 (5/18 → 6/12)
5/18~22 — CPU 진단 + NAS↔Windows 분산 + 로또 자율화
- CPU 폭주 즉시 5건: 09:00 cron 5분 스태거링(insta/lotto/youtube/realestate) · lotto Monte Carlo 08:30 이동 · insta Playwright Semaphore(1) · healthcheck 60s · uvicorn
--workers 1· realestate 수집 병렬화 - Redis 분산 (박재오 7결정): Redis 컨테이너 신설(7-alpine 256MB AOF) · insta/music/video-lab을
queue:*-renderpush 게이트웨이로 전환(렌더는 Windows web-ai 워커) · internal webhook + nginx 3-layer 차단 · stock webai_cache TTLCache - video-lab 신설 (18801) — Windows video-render의 NAS 짝 (sora/veo/kling/seedance)
- 로또 능동 시그널 v1 — lotto_signals/baselines, z-score, urgent/digest 텔레그램, cron 4종
- weight-evolver 자율 학습 v2 — weight_trials/auto_picks, 주간 generate→apply→evaluate 루프
5/25~26 — tarot/saju 분리·신설 + UI
- tarot-lab 분리 (18250) — agent-office에서 독립, Claude 3-card
- saju-lab 신설 (18300) — saju-web TS→Python 포팅, lunar↔solar 내장, 궁합 포함
- saju UI v1 + v2 리디자인 + fortune_scores/lucky/monthly_flow 추가
- image-lab public gateway +
/media/image/정적 서빙 · tarot max_tokens 2800 truncation fix
5/28 — 공유 로그 인프라
_shared/access_log공용 모듈 (lotto/stock/music/insta/realestate 5종) — ring buffer + middleware +/logs/recent- agent-office
/agents/{id}/logs가 서비스 로그 merge · 매일 03:00 agent_logs 90일 retention
5/31 — 자율 인텔리전스 2종 (스마트에이전트 1·2번)
- 로또 자가학습 백테스트·캘리브레이션 v3 — backtest_runs/winner_calibration, forward 가상구매 3전략, ε-게이팅 lift 학습, 일요회고 cron. 역대 캘리브레이션 백필 1197/1197 (6/11)
- 주식 보유종목 인텔리전스 — holdings_signals, market_events/news_issues/portfolio_health, decide_action 매트릭스, EOD(16:50)+브리핑(08:30) cron
6/01~06 — 보안 + 인스타 카드뉴스
- nginx CVE 대응 (CVE-2026-42945 · CVE-2026-9256 → 1.30.2)
- 인스타 카드뉴스 품질 고도화 v2 + zip 패키지(10 PNG + caption.txt) + 글자수 가이드
6/11 — 자율 발급 + 오버사이트 (스마트에이전트 3번)
- 인스타 자율 카드 발급 — 4신호 선별(selection.py) + Claude Haiku 카드가치 판단 + 승인 게이트 + 발행 상태머신. 텔레그램 issue_approve/reject/regen 콜백. autonomous_issue 기본 OFF
- 에이전트 횡단 오버사이트(백엔드) —
GET /api/agent-office/activity통합 피드 + 필터(agent_id/type/status/days). main2c2828c배포 - CLAUDE.md 카탈로그 슬림화(966→484, 서비스별 메모리 분담) · packs jti SQLite 영속화 · lotto deep CuratorError fallthrough fix
6/12 — 음악 파이프라인 신뢰성·복구 (직전 작업)
- 자동 재시도: orchestrator step 3회 backoff 재시도(publish 제외 — 업로드 비멱등)
- 수동 재개:
POST /api/music/pipeline/{id}/retry— 실패 step 판별·재개, retrying 레이스 가드, publish+업로드완료 시 409 - 실패 알림: agent-office youtube_publisher가 신규 failed 감지 → 텔레그램
⚠️실패+[🔄재시도]인라인 버튼 → music-lab retry 프록시 - 커밋·push·자동배포 완료 (main = origin/main)
스마트에이전트 3종 전부 가동: stock(보유종목) · insta(자율발급) · lotto(진화). CEO 오버사이트(통합 활동 피드) 백엔드 완료.
🔴 즉시 — 진행 중 / 대기
1. ✅ agent oversight 프론트 NAS 배포 — 완료 (2026-06-12)
- web-ui
ActivityTimeline(AgentOffice 우측 기본 패널) main 머지(d0bf5fd) → NAS 라이브 반영·검증 완료 (index.html 갱신 + AgentOffice 번들 nginx 200) - 배포 방법: Z: 매핑이
!TTY로 안 돼서 SSH 직접 배포(bgg8988@gahusb.synology.me:2300, tar +scp -O→ assets 교체). Synology SFTP off라scp -O필수, images/videos는 불변이라 미러 제외. 상세 →memory/feedback_windows_frontend_ssh_deploy.md
2. 운영 검증 (분산·자율 학습)
- Redis 분산 E2E (NAS push → Windows 워커 → webhook 전체 흐름)
- lotto weight-evolver 주간 사이클(월 generate+apply → 토 evaluate) 정상 동작 + evolution report 텔레그램(토 22:15)
🟡 미완성 큰 기능
Video Studio 프론트 /studio — 백엔드 완료, UI 미구현
- 백엔드 완료·배포: image-lab(NAS 18802) ✅ + image-render(Windows web-ai) ✅ + video-lab(기존) ✅ (
plans/2026-05-23-video-studio-backend.md전부) - 빠진 것: web-ui React Flow 노드 캔버스(ImageGenNode → ImageToVideoNode). 백엔드 plan이 "프론트는 Plan 2"로 미뤘으나 Plan 2 미생성
- spec:
docs/superpowers/specs/2026-05-23-video-studio-node-canvas-design.md(untracked — 커밋 필요) - 목적: 무신사·우리카드 AI 영상 공모전 실전 제작 도구
🟡 후속 (직전 작업 범위 밖)
music 파이프라인 stuck 감지
- 6/12 신뢰성 작업이 명시적으로 남긴 갭:
*_runninghang ·*_pending방치 · retrying 중 컨테이너 재시작 시 stuck(현 retry 가드가 state=failed라 재retry 불가) - 상세:
memory/service_music.md"파이프라인 신뢰성/복구 — 범위 밖"
🟢 백로그 아이디어
- Redis 큐 통합 모니터링 — agent-office에
queue:*-render/queue:paused길이·상태 패널 (NAS↔Windows 작업 흐름 가시화) - weight-evolver 성과 대시보드 — auto_picks 적중 추이 + weight_base 진화 그래프 (자율 학습 실효성 검증)
- lotto-signals 패턴 확장 — adaptive baseline + z-score + urgent 텔레그램을 stock(이상치)·realestate(경쟁률 급변)에 재사용
- nginx internal 차단 표준화 — insta/music/video/image 3-layer 차단을 공통 include로 추출
- agent-office 레거시 정리 — tarot_readings 테이블 잔존(tarot-lab 분리 후), seed "blog" 죽은 에이전트
보류 유지 (박재오 판단 대기)
- stock 뉴스 스크랩 비동기화 — BackgroundScheduler I/O wait라 CPU 미미, 큰 리팩토링 vs 효과 불명확
- lotto Monte Carlo 빈도(6→3회/일) — CPU 50%↓ vs 자율 학습 정확도 trade-off
- 컨테이너 리소스 제한 — ❌ 박재오 금지(J4025 2C throughput 손해) · NAS 업그레이드 ⏸️ 보류(Redis 분산으로 우선순위↓)
🔧 진단 커맨드 (NAS bash)
top -b -n 1 | head -25 # CPU 상위
docker stats --no-stream # 컨테이너별 CPU/메모리
docker exec redis redis-cli PING # Redis 헬스
docker exec redis redis-cli KEYS 'queue:*' # 큐 키 목록
docker exec redis redis-cli LLEN queue:insta-render # 큐 길이
docker logs agent-office 2>&1 | grep -E "APScheduler|executing" | tail -50
docker exec insta-lab ps aux | grep chromium | wc -l # (분할 후 0이어야 정상)
📚 참고
- 메모리 인덱스:
memory/MEMORY.md(14 서비스 ×service_<name>.mdauthoritative) - Windows 워커 짝: web-ai 레포 (insta/music/video/image-render)
- spec/plan:
docs/superpowers/specs|plans/ - docker-compose.yml: 루트
변경 이력
- 2026-05-18: 페이지 신설. CPU 진단 즉시 5건 + 7결정 분산 가이드.
- 2026-05-22: 분산·자율화 구현 반영. Redis 분할·lotto 능동시그널·weight-evolver.
- 2026-06-12: 5/25~6/12 전체 작업 반영 — tarot/saju 분리·신설, _shared 로그, lotto v3 백테스트, stock 보유종목 인텔, nginx CVE, insta 카드뉴스 v2 + 자율발급, 에이전트 오버사이트, music 파이프라인 신뢰성. 미완성 큰 기능(Video Studio 프론트) + 후속(music stuck 감지) + 백로그 재편. 현재 트랙(oversight 프론트 배포) 명시.