Initial commit: OpenClaw 워크스페이스 버전관리 시작
설정·스크립트·스킬·문서·큐레이션 메모리 추적. 시크릿(credentials/identity)·런타임 상태(state/logs/sessions/sqlite)· 백업(clobbered/bak)·dream 캐시는 .gitignore로 제외. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# 2026-05-07 비하이브 종목분석 메일 분할 발송 사고
|
||||
|
||||
코디가 사용자(관리자님) 점검 요청 받아 대신 기록. 레이 세션 호출은 `openclaw` CLI 설정 깨짐(brave plugin) 때문에 차단 상태였음.
|
||||
|
||||
## 사고
|
||||
|
||||
07:00 cron 실행 중 신규 영상 2건을 처리하는 과정에서 **`email` 명령을 영상별로 따로 호출**해 같은 보고서 형식 메일이 2통으로 분할 발송됨.
|
||||
|
||||
- 영상 1: SK이터닉스 `_o96Mx9QD9o`
|
||||
- 영상 2: 미코 `TX7txAGu32Q`
|
||||
- 각 영상은 단일 종목(태그 1개) 영상이라 save 자체엔 문제 없었으나, Step 4 메일 발송에서 "한 통" 묶음을 어겼다.
|
||||
- 사용자가 "왜 2개왔어"로 인지하고 수정 지시.
|
||||
|
||||
## 수정 (07:25~07:27 KST)
|
||||
|
||||
레이 본인이 텔레그램 세션에서 진행:
|
||||
|
||||
1. 구 cron `747e1013-fae5-4e61-b6d3-479a8c68ca22` 삭제 (`agent:stock:main` 세션키)
|
||||
2. 신 cron `80052b62-1c7a-4f8e-91c9-222ae4c3c045` 등록
|
||||
- sessionKey `agent:stock:telegram:direct:8443122995`
|
||||
- expr `0 7,12,18 * * 1-5 Asia/Seoul`
|
||||
3. 페이로드 검증 게이트 추가 (필수 검증, 하나라도 실패 시 전체 발송 금지):
|
||||
- 영상 title `#태그` 개수 vs 실제 save 종목 수 대조
|
||||
- 자막/제목상 다종목 영상인데 분리 불확실 시 실패 종료
|
||||
- 검증 통과 전 save/email/notify 호출 금지
|
||||
- 부분 save 후 불일치 발견 시 email/notify 호출 금지
|
||||
- "일단 보내고 정정" 명시 금지
|
||||
4. failureAlert 부착 (`{after:1, channel:telegram, to:8443122995, mode:announce, accountId:stock}`)
|
||||
5. Step 5: `email <VID1> <VID2> ...` **한 번 호출** 강조
|
||||
|
||||
## Why
|
||||
|
||||
사용자 명시 요구:
|
||||
- 성공 → 메일 + 텔레그램 발송
|
||||
- 실패 → 발송 차단 + 텔레그램 실패알림
|
||||
|
||||
분할 호출 시 영상 수만큼 메일이 분리 발송돼 사용자 인지 부담·노이즈 발생.
|
||||
|
||||
## How to apply
|
||||
|
||||
다음 신규 영상 처리 시 (cron 페이로드와 동일하지만 핵심만 재정리):
|
||||
|
||||
- **(a)** 영상별 `#태그` 개수와 save 종목 수 정확 대조. 다종목 영상이면 종목별 JSON을 같은 VIDEO_ID로 여러 번 save
|
||||
- **(b)** 검증 통과 후 `email` 호출은 **모든 video_ids를 단일 인자열로 한 번** — `email VID1 VID2 ...`
|
||||
- **(c)** 부분 save 후 검증 실패 → email/notify **절대 호출 금지**
|
||||
- **(d)** 스크립트 레벨 email 멱등성은 아직 없음 — 페이로드 지시 엄수가 유일한 가드
|
||||
|
||||
## 관련 갭 (참고 — 사고 위험 X)
|
||||
|
||||
- `cmd_email`에 video_ids fingerprint 기반 멱등성 락 미구현. 분할 호출 방지는 LLM 페이로드 지시에만 의존. 추후 `state/behive_email_sent.json` 추가 검토 가능 (사용자 결정 필요).
|
||||
- 본 사고 기록은 코디 작업이라 레이 세션 자체엔 회고가 없음. 다음 부팅 시 이 파일을 읽어 같은 실수 반복 차단.
|
||||
|
||||
## 12:00 cron 검증 결과
|
||||
|
||||
같은 날 12:00 cron 실행됨 (`behive_last_fetch.json` mtime `12:00:13`). 신규 영상 0건이라 발송 0건으로 정상 종료. failureAlert 발동 없음.
|
||||
Reference in New Issue
Block a user