← 리포트 목록
4개 analyst 신선도 마커 NO_SEND 렌더링 검증
2026-04-24
freshness
[analyst, freshness, telegram, no-send, render-verify]
4개 analyst 신선도 마커 NO_SEND 렌더링 검증
결론
4개 analyst 모두 실제 발송 없이 NO_SEND/dry-run으로 렌더링했다. 최종 상태는 모두 정상이다.
- macro: 정상 — 본문 2번째 줄에
📊 데이터 기준표시, 길이 2183자, HTML 정상 - fundamental: 정상 — 본문 2번째 줄에
📊 데이터 기준표시, 길이 2291자, HTML 정상 - technical: 정상 — 본문 2번째 줄에
📊 데이터 기준표시, 길이 2484자, HTML 정상 - pm: 정상 — 본문 2번째 줄에
📊 데이터 기준표시, 길이 2455자, HTML 정상
실행 방식
실제 발송 방지:
ANALYST_COMMON_NO_SEND=1 ANALYST_COMMON_PRINT_BODY=1 python3 macro_redesign_report.py --no-send --print-body ...
ANALYST_COMMON_NO_SEND=1 ANALYST_COMMON_PRINT_BODY=1 NO_SEND=1 python3 fundamental_redesign_report.py --no-send ...
ANALYST_COMMON_NO_SEND=1 ANALYST_COMMON_PRINT_BODY=1 python3 analyst_common_sender.py technical ...
ANALYST_COMMON_NO_SEND=1 ANALYST_COMMON_PRINT_BODY=1 python3 analyst_common_sender.py pm ...
stdout/stderr 및 본문 캡처 위치:
/tmp/freshness_marker_verify_260424_r2/
발송 상태:
- macro/technical/pm: JSON 결과
status=dry_run,message_id=null,error=no_send_dry_run - fundamental:
--no-send경로 사용,message_id=null,body_len=2291,blacklist_hits=[]
발견 문제와 수정
초기 렌더링에서 마커가 일관되지 않았다.
- macro: 상단에
📊 데이터 기준:이 없고 하단<i>as-of ...</i>만 존재 - fundamental:
기준:만 있고📊 데이터 기준:문구가 없음 - technical/pm:
날짜:만 있고📊 데이터 기준:문구가 없음
즉 “상단 신선도 마커” 요구와 실제 발송 형태가 어긋났다. 아래 3개 파일을 백업 후 최소 수정했다.
/Users/ron/.hermes/workspace/scripts/macro_redesign_report.py
/Users/ron/.hermes/workspace/scripts/fundamental_redesign_report.py
/Users/ron/.hermes/workspace/scripts/analyst_common_sender.py
백업:
macro_redesign_report.py.bak-freshness-render-20260424
fundamental_redesign_report.py.bak-freshness-render-20260424
analyst_common_sender.py.bak-freshness-render-20260424
수정 후 py_compile 통과.
비교 매트릭스
| analyst | 마커 표시 | 길이 | HTML 정상 | 데이터 기준일 | no-send 상태 |
|---|---|---|---|---|---|
| macro | 정상 | 2183 | 정상 | 2026-04-24 | dry_run |
| fundamental | 정상 | 2291 | 정상 | 2026-04-24 | dry_run |
| technical | 정상 | 2484 | 정상 | 2026-04-24 | dry_run |
| pm | 정상 | 2455 | 정상 | 2026-04-24 | dry_run |
Telegram 4096자 제한:
- 4개 모두 4096자 미만
- 최대 technical 2484자
HTML 검증:
<b>,<i>,<code>등 Telegram HTML 허용 태그만 사용- HTMLParser feed 통과
- unsupported tag 없음
실제 메시지 샘플
macro 샘플
<b>🌍 매크로 브리핑</b>\n📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25 KST</code>\n<b>📌 헤드라인</b> WTI 97.19(2026-04-17 yfinance CL=F) 기준. 호르무즈 기뢰 제거와 우회로 복구가 에너지 프리미엄을 낮췄다.\n전일 대비: Recovery 유지,
마커: 📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25 KST</code>
fundamental 샘플
<b>📊 펀더멘탈 리포트</b>\n📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25 KST</code>\n\n<b>📌 헤드라인</b>\n• 오늘 신규 공시 6건을 우선 반영한다. 상장폐지·정리매매 같은 노이즈성 시장안내는 본문 판단에서 제외한다.\n• 최근 48시간 지식 입력 7건에서 반복된 산업 논리를
마커: 📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25 KST</code>
technical 샘플
<b>📈 테크니컬 리포트</b>\n📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25:35 KST</code>\n\n<b>📌 한줄 판단</b>\n• 상승 우위: 지수는 동반 상승 쪽이나 주도축 강도 확인이 필요하다 (NDX 1.7%, SPY 1.0%, IWM 2.1%). 자금은 반도체(SOXX) 쪽으로
마커: 📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25:35 KST</code>
pm 샘플
<b>🧭 PM 리포트</b>\n📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25:35 KST</code>\n\n<b>판정</b>\n🟢 <b>선별 적극</b> · 확신도 <b>76%</b>\n• Recovery 유지와 반도체 리더십은 공격을 허용하지만, macro 전환 유보와 이벤트 리스크 때문에 
마커: 📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25:35 KST</code>
원문 캡처 파일
/tmp/freshness_marker_verify_260424_r2/macro.body.txt
/tmp/freshness_marker_verify_260424_r2/fundamental.body.txt
/tmp/freshness_marker_verify_260424_r2/technical.body.txt
/tmp/freshness_marker_verify_260424_r2/pm.body.txt
/tmp/freshness_marker_verify_260424_r2/summary.json
검증 출력 요약
[
{
"analyst": "macro",
"marker": "📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25 KST</code>",
"date": "2026-04-24",
"len": 2183,
"under4096": true,
"html_ok": true
},
{
"analyst": "fundamental",
"marker": "📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25 KST</code>",
"date": "2026-04-24",
"len": 2291,
"under4096": true,
"html_ok": true
},
{
"analyst": "technical",
"marker": "📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25:35 KST</code>",
"date": "2026-04-24",
"len": 2484,
"under4096": true,
"html_ok": true
},
{
"analyst": "pm",
"marker": "📊 데이터 기준: <code>2026-04-24</code> · 전송: <code>2026-04-24 13:25:35 KST</code>",
"date": "2026-04-24",
"len": 2455,
"under4096": true,
"html_ok": true
}
]
자체평가
| 기준 | 점수 | 근거 |
|---|---|---|
| 정확성 | 4.5/5 | 4개 analyst를 실제 NO_SEND 경로로 렌더링하고 마커/길이/HTML을 정량 검증 |
| 완성도 | 4.5/5 | 문제 발견 후 3개 sender 수정, 재검증 완료 |
| 검증 | 4.5/5 | py_compile, body capture, JSON dry_run 결과, HTML check 포함 |
| 최소 변경 | 4.3/5 | 마커 문구/위치만 수정. 발송 로직은 건드리지 않음 |
종합: 4.45/5
DONE