작업 #40249 장부 불일치 기록 — server.py 허용목록 수정은 반영됨, 대시보드 서버 재시작 필요
작업 #40249 장부 불일치 기록
결론
- 장부(
bus_commandsid=40249)는failed로 남아 있으나, 수정 내용(guardian·analyst-pm 허용목록 추가)은 코드에 실제로 반영돼 있다. - 그러나 대시보드 서버(PID 46444)는 패치 이전에 기동돼 재시작되지 않았으므로 옛 코드로 돌고 있다. 그 결과 guardian 대상 태스크 생성이 계속 HTTP 400으로 실패한다.
- 조치: 서버 재시작 필요. 재시작은 해리 승인 후 실행(직접 재시작하지 않음). 승인 요청 DM 발송.
1. 장부 상태 (조회 2026-09-28 09:14 KST)
sqlite3 -readonly /Users/ron/.hermes/data/ops_multiagent.db "SELECT id,status,claimed_by,updated_at,title FROM bus_commands WHERE id=40249"
→ 40249|failed|cowork|2026-09-28 08:27:45|server.py create_bus_command 대상 에이전트 허용목록에 guardian·analyst-pm 누락 수정
2. 수정 반영 여부 — 반영됨
/Users/ron/.hermes/workspace/scripts/server.py2917~2925행 (2920행 원문):BUS_COMMAND_AGENTS: tuple[str, ...] = (— 목록에"analyst-pm", "guardian"포함, 2925행BUS_COMMAND_TARGETS = BUS_COMMAND_AGENTS + ("all",)- 사용처: 2940행(create_bus_command), 5573·5650행(claim/agent-status), 5725행(/api/bus/command) 모두 같은 상수 참조.
- 테스트:
python3 -m pytest tests/test_server_bus_command_targets.py -q→4 passed in 0.28s - 서버 실행 파이썬(3.9)으로도 문법 확인:
py_compile scripts/server.py→ OK
3. 시각 비교 — 장부 반려가 파일 생성보다 먼저
| 항목 | 시각 (KST) |
|---|---|
| 대시보드 서버 PID 46444 기동 | 2026-09-27 07:55:09 |
| scripts/server.py 수정 (패치) | 2026-09-28 08:27:41 |
| #40249 failed 처리(updated_at) | 2026-09-28 08:27:45 |
| tests/test_server_bus_command_targets.py 생성/수정 | 2026-09-28 08:27:58 |
- 반려(08:27:45)는 테스트 파일이 생기기 13초 전 → 증거 게이트가 "테스트 파일 없음"으로 판정한 타이밍 불일치. 실제 작업은 완료됨.
- 서버 기동(09-27 07:55:09)이 패치(09-28 08:27:41)보다 약 24시간 32분 앞섬 → 실행 중인 서버에는 패치가 올라가 있지 않음.
4. 재시작 전 실패 증거 — guardian 태스크 생성 HTTP 400
grep -n 'FAIL create task: guardian' logs/orchestrator.log (logs 경로: /Users/ron/.hermes/workspace/logs/orchestrator.log)
요청된 3건 (각 직전 행에 jpost error /api/bus/command-queue/create: HTTP Error 400: Bad Request):
1. 146402행 [07:48:39] 큐 워커 프로세스 기동시각과 agent_queue_worker.py 패치 시각 비교 — 입력 고갈 판정 로직 실제 반영 여부 점검 (400: 146401행)
2. 146411행 [08:04:59] 실패 처리된 #40243·#40244가 실제로는 코드에 반영됐는지 확인하고 장부 불일치 기록 (400: 146410행)
3. 146441행 [08:56:50] BAMLC0A0CM 등 macro-timeseries 파일 실제 갱신 주체 확인 — 수집 크론 2개가 모두 정지인데도 파일이 갱신되는 이유 (400: 146440행)
참고: 오늘 04:28 이후 같은 유형 실패 총 10건(146303·146325·146335·146343·146373·146379·146389·146402·146411·146441행). 08:56 실패는 패치 이후 시각이므로 "코드는 고쳐졌지만 서버가 옛 코드" 판정을 뒷받침.
5. 승인 요청 DM
- 해리 DM(chat_id 492860021) 발송 완료: message_id 14637, 2026-09-28 09:14 KST (Bot API sendMessage ok=True)
6. 후속 조치
- [ ] 해리 승인 후 대시보드 서버(scripts/server.py, PID 46444) 재시작
- [ ] 재시작 후 검증:
ps -o pid,lstart -p <새 PID>기동시각 > 08:27:41, 다음 orchestrator 사이클에서FAIL create task: guardian신규 행 0건, guardian 태스크bus_commands신규 생성 확인 - [ ] #40249 장부 상태는 재시작·검증 후 정정 검토(영구 변경 전 해리 확인)
- 관련: 증거 게이트 타이밍 문제(파일 생성 전 판정) — [[completion_evidence_policy]] 참고
관련
- [[260928_hermes_40243-40244-ledger-mismatch]] (같은 유형 장부 불일치, 존재 여부 미확인)