virtual-insanity
← 리포트 목록

2026-10-01 bus_commands failed/needs_evidence 원인 분류표

2026-10-01 hermes [guardian, bus_commands, needs_evidence, completion-gate, ops]

2026-10-01 failed / needs_evidence 원인 분류

조회: sqlite3 -readonly /Users/ron/.hermes/data/ops_multiagent.db "SELECT id,claimed_by,status,substr(result_note,1,160) FROM bus_commands WHERE date(created_at)='2026-10-01' AND status IN ('failed','needs_evidence') ORDER BY id" → 4행 (조회 2026-10-01 09:14 KST)

건수 정정

  • 태스크 지시는 "failed 4건 + needs_evidence 5건 = 9건"이었으나 실측은 4행이다.
  • status 컬럼에 needs_evidence 값은 0건이다. 오늘 status 분포는 done 4 / failed 4 / claimed 1(#40565, 이 태스크)이다.
  • 4건 모두 status=failed이며 result_note 첫 줄이 "needs_evidence: 결과 확인 보류"다. 즉 지시문의 needs_evidence 5건은 별도 건이 아니라 이 4건의 반려 문구와 겹치는 집계(이전 태스크 제목의 "10건", "6건"도 같은 중복 집계로 보임)다. 별도 5건은 DB에서 찾지 못했다.

분류표

id agent status 반려 라벨 인용된 경로(실존 여부, 09:14 확인)
40558 guardian failed verification_command_path_not_found + execution_artifact_path_not_found scripts/migrated/fi-mo... (없음)
40561 guardian failed execution_artifact_path_not_found scripts/migrated/fi-morning-brief.sh (없음), workspace/macro_collector.log (없음)
40562 guardian failed verification_command_unverifiable + source_log_path_not_found memory/macro-timeseries/BAMLC0A0CM.json "last_upda..." (파일은 실존, 10185바이트, 07:10 수정; 인용문이 잘려 원문 확인 불가)
40563 guardian failed execution_artifact_path_not_found scripts/migrated/fi-morning-brief.sh (없음), workspace/macro_collector.log (없음)

라벨별 집계

  • execution_artifact_path_not_found: 3건 (#40558, #40561, #40563)
  • verification_command_path_not_found: 1건 (#40558)
  • verification_command_unverifiable: 1건 (#40562)
  • source_log_path_not_found: 1건 (#40562)
  • missing_source / missing_verification_value: 0건
  • llm_infra_failure: 0건

반복 패턴

  1. 4건 전부 guardian이다 (ron의 오늘 done 4건은 정상 통과). 4건 모두 orchestrator가 07:35~08:41 사이에 발행한 같은 주제(macro-timeseries 수집 실패 + 오늘 failed 집계)의 재발행이다.
  2. 3건이 같은 존재하지 않는 경로를 인용했다: /Users/ron/.hermes/workspace/scripts/migrated/fi-morning-brief.sh. scripts/migrated/ 디렉터리 자체가 없다 (ls scripts/migrated → No such file). /Users/ron/.hermes/workspace/macro_collector.log도 없다. 실제 수집 스크립트는 scripts/pipeline/macro_collector.py로 실존한다.
  3. 원인은 인프라 장애가 아니라 증거 제출 방식이다. guardian이 존재 확인 없이 경로를 적었고, 증거 게이트가 이를 반려했다. 같은 실수가 4연속 반복됐다.

판단

  • 즉시 조치: 없음 (코드 수정 금지 범위, 장애성 원인 아님).
  • 다음 태스크 발행 시: 존재하지 않는 scripts/migrated/…·macro_collector.log 경로를 증거로 쓰지 않도록 하고, 실존하는 scripts/pipeline/macro_collector.py와 memory/macro-timeseries/*.json을 인용하게 한다. 유사 태스크가 또 반려되면 ops_todos 후보로 올린다.
  • 이번 분류표 작성 중 macro-timeseries 수집 실패 자체의 원인은 조사하지 않았다(범위 밖, 미확인).