virtual-insanity
← 리포트 목록

어제 수정 3건 실효성 검증 + 알림센터 토픽 pinned 정리

2026-04-24 yesterday [ops, drift-recovery, filtered-ideas, sessionlog, telegram, pinned-cleanup]

결론

  • DB integrity 오탐: PASS — 2026-04-24 12:00 drift-recovery가 HEALTHY (이슈 0건)로 통과했다.
  • filtered-ideas: PASS + 보강 — 04-24 산출물은 존재했고, Hermes scheduler에도 별도 job을 등록해 다음 자동 실행을 보장했다.
  • 세션로그: PASS + 보강 — 오늘 context_20260424_1308.md260424_session.md 생성 확인. Hermes 09/22 job 등록 및 수동 tick 검증 완료.
  • 알림센터 pinned: 정리 완료 — 시장/발견/산업/리포트/운영/General topic pin 전체 해제 API 성공. global/channel pin은 조회 결과 없음.

Part A — 어제 수정 3건 실효성 검증

1. DB integrity / drift-recovery

항목 결과 증거
ops_multiagent.db integrity PASS PRAGMA integrity_check;ok
04-24 00:00 cycle 부분 PASS 아직 agentfirm authorization denied가 이슈 1건으로 잡힘
04-24 12:00 cycle PASS HEALTHY (이슈 0건)
gateway 오탐 PASS 12:00 report에서 gateway RUNNING, PID 55997

실측:

sqlite3 ~/.openclaw/data/ops_multiagent.db "PRAGMA integrity_check;"
ok

12:00 drift-recovery 핵심 로그:

[2026-04-24 12:00:02] [WARN] DB 점검 건너뜀 (agentfirm, optional): authorization denied
[2026-04-24 12:00:02] [INFO] DB integrity issues: 0
[2026-04-24 12:00:02] [INFO] DB warnings (non-critical): 1
[2026-04-24 12:00:02] [INFO] === drift-recovery 완료 (점검 완료: 이슈 0건, 복구 0건 (성공 0)) ===

보고서:

  • /Users/ron/.hermes/workspace/reports/recovery/recovery_20260424_1200.md
  • 상태: HEALTHY (이슈 0건)

판정: 어제 수정은 00:00 전에는 완전히 반영되지 않았고, 12:00 cycle에서는 의도대로 optional DB 권한 문제를 비치명 warning으로 낮춰 오탐이 사라졌다.

2. filtered-ideas 복구

항목 결과 증거
04-24 신규 파일 PASS filtered_2026-04-24_0928.json
레코드 수 PASS JSON list 150건
크론 트리거 보강 완료 Hermes job 신규 등록 + 수동 run status ok
다음 자동 실행 PASS next_run_at=2026-04-24T18:00:00+09:00

산출물:

/Users/ron/.openclaw/workspace/memory/filtered-ideas/filtered_2026-04-24_0928.json
size: 13,285,639 bytes
records: 150
mtime: 2026-04-24 09:28:21

보강 조치:

  • Hermes에 누락되어 있던 filtered-ideas 실행 job을 추가했다.
  • 백업: /Users/ron/.hermes/cron/jobs.json.bak-filtered-ideas-followup-20260424131030

등록 job:

{
  "id": "ocRESTORE-intelligence-discovery-filter",
  "schedule": "0 */6 * * *",
  "enabled": true,
  "command": "python3 /Users/ron/.openclaw/workspace/scripts/pipeline/discovery_filter.py"
}

검증:

Triggered job: intelligence-discovery-filter filtered-ideas 복구
last_run_at: 2026-04-24T13:10:44+09:00
last_status: ok
next_run_at: 2026-04-24T18:00:00+09:00

3. 세션로그 자동화

항목 결과 증거
오늘자 session 파일 PASS 260424_session.md
오늘자 context 파일 PASS context_20260424_1308.md
09/22 자동 job PASS Hermes job 등록, next_run_at=2026-04-24T22:00:00+09:00
수동 트리거 PASS Hermes cron run 후 13:08 파일 생성

생성 확인:

/Users/ron/knowledge/800 운영/850 실행/세션로그/context_20260424_1308.md
/Users/ron/knowledge/800 운영/850 실행/세션로그/260424_session.md

보강 조치:

  • OpenClaw jobs.json에는 daily-context-snapshot이 활성화되어 있었지만, Hermes 쪽에는 없었다.
  • 현재 실질 scheduler가 Hermes gateway이므로 Hermes에도 동일 job을 등록했다.
  • 백업: /Users/ron/.hermes/cron/jobs.json.bak-sessionlog-followup-20260424130826

등록 job:

{
  "id": "ocRESTORE-daily-context-snapshot",
  "schedule": "0 9,22 * * *",
  "enabled": true,
  "command": "python3 /Users/ron/.openclaw/workspace/scripts/pipeline/daily_context_snapshot.py"
}

검증:

last_run_at: 2026-04-24T13:08:43+09:00
last_status: ok
next_run_at: 2026-04-24T22:00:00+09:00

Part B — 알림센터 모든 토픽 pinned 정리

권한 / 조회

Bot API 기준:

{
  "username": "RONforMAC_Bot",
  "status": "administrator",
  "can_pin_messages": true,
  "can_manage_chat": true,
  "can_manage_topics": true
}

getChat 결과 channel/global pinned message는 없었다.

"before_global_pinned": null,
"after_global_pinned": null

주의: Telegram Bot API는 forum topic 내부 pinned message 본문을 직접 조회하는 API를 제공하지 않는다. 그래서 로컬 로그에서 intentional pin 근거를 먼저 찾고, 별도 보존해야 할 정상 pin 흔적이 없어서 topic별 unpinAllForumTopicMessages를 실행했다.

토픽별 처리 결과

토픽 topic_id 조치 결과
General 0 unpinAllGeneralForumTopicMessages PASS
시장 / market 5 unpinAllForumTopicMessages PASS
발견 / ideas 6 unpinAllForumTopicMessages PASS
산업 / industry 7 unpinAllForumTopicMessages PASS
리포트 / report 8 unpinAllForumTopicMessages PASS
운영 / ops 9 unpinAllForumTopicMessages PASS
All/global N/A global pin 없음 → skip PASS

실행 결과 저장:

  • /Users/ron/.hermes/workspace/logs/topic_pin_cleanup_20260424.json

핵심 결과:

{
  "topics": {
    "market/시장": {"topic_id": 5, "ok": true, "result": true},
    "ideas/발견": {"topic_id": 6, "ok": true, "result": true},
    "industry/산업": {"topic_id": 7, "ok": true, "result": true},
    "report/리포트": {"topic_id": 8, "ok": true, "result": true},
    "ops/운영": {"topic_id": 9, "ok": true, "result": true}
  },
  "general": {"topic_id": 0, "ok": true, "result": true},
  "global_unpin": {"ok": true, "result": "skipped_no_global_pin"},
  "after_global_pinned": null
}

추가 확인 — Hermes scheduler

✓ Gateway is running — cron jobs will fire automatically
PID: 55997
70 active job(s)

추가된 job 2개 때문에 active job은 68 → 70으로 증가했다.

남은 리스크

  • Telegram Bot API 한계 때문에 topic 내부 pinned message의 “본문 조회 후 선별 해제”는 불가능했다. 다만 global pin은 없었고, 로컬 로그에서 보존해야 할 정상 pinned 운영 메시지 근거는 찾지 못했다.
  • filtered-ideas는 13:10 수동 Hermes run이 ok였지만 신규 입력이 이미 처리되어 13:10 새 JSON 파일은 추가 생성되지 않았다. 09:28 산출물 150건과 다음 18:00 자동 실행 예약을 근거로 정상화로 판정한다.
  • 세션로그는 현재 Hermes job이 OpenClaw workspace의 복구된 스크립트를 호출한다. 장기적으로는 해당 v2 스크립트를 Hermes workspace로 동기화하면 OpenClaw 잔존 의존을 줄일 수 있다.

자체평가

  • 정확성: 4.4/5 — 3건 실효성 및 topic unpin API 결과를 실측했다.
  • 완성도: 4.3/5 — 누락된 Hermes job 2개를 보강하고 수동 run까지 확인했다.
  • 검증: 4.4/5 — DB integrity, drift report, cron state, 파일 생성, Bot API 결과 모두 확인했다.
  • 최소 변경: 4.0/5 — 필요한 Hermes jobs.json 2건만 추가/갱신했다. topic pin은 user 요청에 따라 실행했다.

종합: 4.3/5

DONE