ProjectFR Night Automation Wiki¶
Updated: 2026-05-27 03:28:35 KST
목적¶
- 야간 자동화 흐름을
TODO 중심 실행으로 고정 - TODO가 모두 비면
리뷰 모드로 자동 전환 - no_agent 크론에서도 footer 표시
- 중복 실행/실패 루프/과도한 docs TODO 추가 방지
현재 크론잡 상태¶
deterministic-scheduler-watch(72ffc62b1370)- state: scheduled
- schedule: every 1m
- script:
deterministic_scheduler.py - no_agent: true
projectfr-night-review(c858ff94ec41)- state: scheduled
- schedule:
*/5 2-7 * * * - script:
projectfr_night_review_claude.sh - no_agent: true
- workdir:
/mnt/f/Agent/hermes/Godot/projects/ProjectFR projectfr-manual-mode-guard(963b927655bc)- state: scheduled
- schedule: every 1m
- script:
projectfr_cron_guard.py - deliver: local
- no_agent: true
적용된 자동화 플로우¶
projectfr_night_review_claude.sh
1) TODO 확인
2) TODO 작업(현재 in_progress 우선 1개)
3) Docs 체크 후 TODO 1개 추가 여부 판단 (토글 가능)
4) open TODO가 0개면 리뷰 실행
변경 파일¶
/home/zooin/.hermes/scripts/projectfr_night_review_claude.sh- TODO->작업->docs->리뷰 단계형 실행
- no_agent footer 직접 출력
- docs 체크 ON/OFF 토글
- docs TODO 추가 쿨다운(24h)
- flock 락(중복 실행 방지)
- 연속 실패 카운트 + 서킷브레이커(기본 3회)
- 전체 실행 타임아웃(기본 300s)
- 실행 이력 JSONL 로그 (
night-pass-runs.jsonl) - Healthchecks dead-man ping 연동(옵션)
/home/zooin/.hermes/scripts/deterministic_scheduler.py- no_agent 경로 메시지에 footer append 반영
/home/zooin/.hermes/scripts/projectfr_cron_guard.py- manual-mode 플래그 기반 auto pause/resume 적용
/home/zooin/.hermes/scripts/projectfr_manual_mode_on.sh- 수동작업 모드 ON(+TTL)
/home/zooin/.hermes/scripts/projectfr_manual_mode_off.sh- 수동작업 모드 OFF
/mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/docs-todo-check.enabled- 현재 값:
on /mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/night-pass-state.jsonconsecutive_failures,docs_todo_last_added_ts상태 저장/mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/night-pass-runs.jsonl- 실행 이력(시작/종료/소요/결과/사유/오픈TODO수)
토글/운영 방법¶
- Docs->TODO 체크 ON/OFF
- 파일 토글:
/mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/docs-todo-check.enabledon|1|true/off|0|false
- 환경변수 override:
PROJECTFR_DOCS_TODO_CHECK=on|off - 전체 타임아웃 조정
PROJECTFR_NIGHT_PASS_TIMEOUT_SEC=300(기본)- 서킷브레이커 확인
- 상태 파일:
/mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/night-pass-state.json - 수동작업 모드 ON/OFF (자동 pause/resume)
- ON:
bash /home/zooin/.hermes/scripts/projectfr_manual_mode_on.sh 120 "manual-work" - OFF:
bash /home/zooin/.hermes/scripts/projectfr_manual_mode_off.sh - 상태 파일:
/mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/manual-work.json - 감시 크론:
projectfr-manual-mode-guard가 1분마다 적용 - Healthchecks dead-man 모니터링 (옵션)
- URL 파일:
/mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/healthchecks-url.txt - 또는 env:
PROJECTFR_HEALTHCHECKS_URL - 동작:
/startping, 성공시 base ping, 실패시/failping - 실행이력 로그 확인
- 파일:
/mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/night-pass-runs.jsonl - 최근 20건:
tail -n 20 /mnt/f/Agent/hermes/Godot/projects/ProjectFR/.hermes/night-pass-runs.jsonl
참고한 고스타 패턴 (벤치마크)¶
healthchecks/healthchecks(★10k+): dead-man ping(시작/성공/실패) 패턴robfig/cron(★14k+): 스케줄러 job wrapper/관측성 강화 패턴go-co-op/gocron(★7k+): 단일실행/락/안정적 job 실행 제어 패턴- 위 3개에서 우리 자동화에 즉시 이식 가능한 부분(락, 상태기록, dead-man ping) 우선 적용
추가된 스킬¶
wiki-ops-log- 위치:
~/.hermes/skills/note-taking/wiki-ops-log/SKILL.md - 용도: 크론/자동화/스킬 변경 내역을 위키 형식으로 정리
최근 작업 타임라인 (요약)¶
- footer 설정/경로 점검 및 no_agent 원인 확인
projectfr-night-review에 footer 직접 출력 반영- TODO 미완료 시 스킵 로직 -> TODO 실행 중심 로직으로 변경
- docs 기반 TODO 추가 단계 도입 + ON/OFF 토글
- flock 락, cooldown, failure circuit breaker 추가
- 두 크론잡 일시정지(paused) 처리
재개 명령¶
hermes cron resume 72ffc62b1370hermes cron resume c858ff94ec41
권장 운영¶
- 수동 작업 중: 크론 paused 유지
- 수동 작업 종료 후: 위 두 resume 명령으로 재개