# task-2703 운영층 incident 8 → contract 매핑 + P0/P1/P2 우선순위 (★ 회장 verbatim 2026-05-28)

- 작성: 2026-05-28 14:40 KST · ANU chair-facing session
- 분류: **read-only design packet** (구현 dispatch 0 · 코드 수정 0)
- 상위: [[v36_runtime_harness_control_plane]] layer 7 incident-to-fix routing 의 단일 매핑 문서
- 입력: [[anu_operations_layer_incidents_8_post_task2703_260528]] 8 incident
- 출력: 각 incident 의 contract layer 매핑 + Critical 7/사업 차단/명시적 병목 분류 + P0/P1/P2 우선순위 + 즉시 구현/보류/별도 검증 구분

---

## 0. 분류 기준 (★ 회장 verbatim)

- **Critical 7 분류**: 자동 머지 / 충돌 / dispatch 5종 + 토큰·권한 + 데이터 손실
- **사업 차단**: 실제 사업(InsuWiki·InsuRo·보험) 산출물 생산을 즉시 막는가?
- **명시적 병목**: 회장 직접 식별 또는 ANU 본체가 반복 위반하여 사업 복귀 안전벨트가 작동 불능
- **우선순위 P0/P1/P2**:
  - P0 = Critical 7 + 사업 차단 OR 회장 명시 + 본 contract 즉시 적용 없이는 ANU 본체 다음 dispatch 위험
  - P1 = 명시적 병목 + 향후 같은 사고 재발 시 P0 즉위 가능
  - P2 = 운영품질 개선 + 단독으로 사업 차단 0
- **상태 enum**: `IMPLEMENT_NOW_P0` / `IMPLEMENT_NEXT_P1` / `BACKLOG_P2` / `SEPARATE_VERIFICATION_REQUIRED`

---

## 1. Incident #1 — spawn detection false negative

- **연결 contract**: layer 2 (spawn detection) · 9-state machine + 8 source 교차
- **막을 수 있는 메커니즘**:
  - 8 source 교차 강제 → ad-hoc grep 단독 판정 금지
  - 단정 0 → 신호 부족 시 `UNKNOWN` state 강제
- **Critical 7?**: ❌ (직접 사고 아님 · ANU 본체 측정 오류)
- **사업 차단?**: ⚠️ 부분 — ANU 가 fact 측정 오류로 회장 시간 낭비 + 잘못된 결정 옵션 제시 → 사업 결정 지연
- **명시적 병목?**: ✅ 회장 verbatim 영역 #1 직접 지정
- **우선순위**: **P0** — `IMPLEMENT_NOW_P0`
- **이유**: ANU 본체가 같은 패턴(grep 단정)으로 다음 사업 dispatch 검증 시도 시 동일 사고 즉시 재발. v3.6 harness MVP 가 차단 대상 #3 (mtime 단정) 만 cover · spawn 단정 cover 0
- **task-2703 validity 영향**: 없음

## 2. Incident #2 — schedule_history 단일 지표 과의존

- **연결 contract**: layer 2 (spawn detection) — 동일 신호 weighted 알고리즘
- **막을 수 있는 메커니즘**:
  - schedule_history = 1 신호 / 8 (★ 단일 source decisive 금지)
  - schedule_history 부재 + timer/session_id/artifact 신호 = `WORK_STARTED` 가능
- **Critical 7?**: ❌
- **사업 차단?**: ⚠️ #1 과 동일 (cascading)
- **명시적 병목?**: ✅ 회장 verbatim 영역 #1 직접 지정
- **우선순위**: **P0** — `IMPLEMENT_NOW_P0`
- **이유**: #1 과 동일 contract 의 부분집합 — 함께 구현
- **task-2703 validity 영향**: 없음

## 3. Incident #3 — watchdog false stalled alert + chair chat 노출

- **연결 contract**: layer 3 (watchdog) · 6-state machine + chat sendMessage gate
- **막을 수 있는 메커니즘**:
  - alive 신호 OR 집합 7 확장 → false stalled 진입 0
  - chat sendMessage = `ESCALATE_CHAIR` state 한정 → alert-only chat 노출 0
- **Critical 7?**: ❌ 직접 사고 아님 · 회장 chat noise
- **사업 차단?**: ❌ 직접 차단 아님
- **명시적 병목?**: ✅ 회장 사진 2회(task-2702 + task-2703) 직접 지적 + [[feedback_followup_cron_policy_260509]] 위반 반복
- **우선순위**: **P0** — `IMPLEMENT_NOW_P0`
- **이유**: 회장 명시 정책 위반 2회 반복 + 회장 사진으로 직접 지적 = `WATCHDOG_OWNER_DECISION_TERMINAL_STATE_BUG_RECORDED` (task-2702) 보류 후 task-2703 재발 = "추후 필요시" 가 회장 verbatim 금지
- **task-2703 validity 영향**: 없음 (chat noise 만)

## 4. Incident #4 — dispatch marker 누락

- **연결 contract**: layer 1 (dispatch marker)
- **막을 수 있는 메커니즘**:
  - dispatch.py 가 fire 직후 자동 marker 생성 (7 필드 schema)
  - 코드 강제 — ANU manual doctrine 의존 0
- **Critical 7?**: ❌
- **사업 차단?**: ❌
- **명시적 병목?**: ✅ 회장 verbatim 영역 #3 직접 지정
- **우선순위**: **P0** — `IMPLEMENT_NOW_P0`
- **이유**: layer 2 + 3 의 alive 신호 초석 — 본 marker 없으면 #1·#2·#3 모두 false-negative 발생. layer 1 = 다른 layer 의 hard dependency
- **task-2703 validity 영향**: 없음

## 5. Incident #5 — task md sha mismatch (dispatch.py 가 task md 수정)

- **연결 contract**: layer 0 (task md sha)
- **막을 수 있는 메커니즘**:
  - dispatch.py 가 task md write 시 후 sha 재계산 + 봇 prompt 에 dispatch-final sha 전달
  - 봇이 sha mismatch 발견 시 4 marker 필드 (`content_verbatim_match` / `metadata_patch_detected` / `continue_allowed` / `reason`) 박제
  - "괜찮음" 자연어 판단 금지 → enum reason
- **Critical 7?**: ❌
- **사업 차단?**: ❌
- **명시적 병목?**: ✅ 회장 verbatim 영역 #4 직접 지정
- **우선순위**: **P1** — `IMPLEMENT_NEXT_P1`
- **이유**: dispatch.py 의 task md write 자체가 정합성 결함이나 봇이 verbatim 일치 검증으로 회피 가능 (즉시 사고 risk 낮음). 다만 향후 metadata patch 가 의미 변경 시 P0 즉위
- **task-2703 validity 영향**: 없음 (봇이 verbatim 일치 확인 후 진행)

## 6. Incident #6 — finish-task profile 의심 (★ 결과적 정상 + 부수 사건 동반)

- **연결 contract**: layer 5 (finish-task profile · 6 task_mode)
- **막을 수 있는 메커니즘**:
  - task_mode 6 enum 분기 (`code` / `system_hook` / `local_runtime` / `read_only` / `callback_only` / `closeout_marker_only`)
  - L1 smoke / git_evidence / scope guard 의 task_mode 별 PASS/WARN/FAIL/NOT_APPLICABLE
- **Critical 7?**: ⚠️ 부분 — `.external-dirty-blocker.json` + `.g4-soft-warning.json` 동반 = EXTERNAL_DIRTY_BLOCKER 패턴 재발 가능성
- **사업 차단?**: ⚠️ 부분 — 사업 task 가 `code` task_mode 아닌 분류일 때 동일 mismatch 시 종결 path 차단 가능성
- **명시적 병목?**: ⚠️ 회장 incident 명명 "profile mismatch" 의 정확한 의도가 본 fact 인지 별개 사건인지 추가 확인 필요
- **우선순위**: **`SEPARATE_VERIFICATION_REQUIRED`** (회장 의도 확정 전) → 확정 후 **P1** 예상
- **이유**: read-only 진단으로는 회장 incident 명명의 정확한 fact 미확정. 회장 추가 결정 받아 즉시 P1 또는 P0 분류 필요
- **task-2703 validity 영향**: 부분 (.done 정상 생성 · 부수 사건 동반 · OPT1 ACCEPT 기준 invalidate 아님)

## 7. Incident #7 — ANU closeout marker 인지 지연

- **연결 contract**: layer 4 (callback/closeout collector) · 6-state machine + 3 경로 우선순위
- **막을 수 있는 메커니즘**:
  - 회수 우선순위 3 경로 (normal callback / closeout marker watcher / fallback safety-net)
  - closeout marker watcher (★ 2순위) 가 `WORK_CLOSEOUT_STARTED` 시점에 ANU 세션에 즉시 signal
  - ANU 능동 회수 의무 (`ANU_RECEIVED` + `CHAIR_REPORTED` state 강제)
- **Critical 7?**: ❌
- **사업 차단?**: ⚠️ 부분 — 사업 task 의 봇 산출물을 ANU 가 지연 인지 시 다음 사업 결정 지연
- **명시적 병목?**: ✅ 회장 verbatim 영역 #5 직접 지정 + 회장 사진 fact 시각화 2회
- **우선순위**: **P0** — `IMPLEMENT_NOW_P0`
- **이유**: ANU 본체가 progress polling 금지(spec §3.6 차단 대상 #2) 를 준수하면 closeout marker watcher 없이는 idle gap 발생 = 회장 사진 의존. 사업 복귀 시 즉시 P0
- **task-2703 validity 영향**: 없음

## 8. Incident #8 — Hermes "직접 코딩 0" ↔ git log actor 불일치 가능성

- **연결 contract**: layer 6 (actor attribution) · 3 evidence level
- **막을 수 있는 메커니즘**:
  - commit message 강제 prefix `[task-N] [<actor>] ...` (pre-commit hook)
  - Task tool subagent_type / 직접 Edit 시 actor 자동 분류 → JSONL audit
  - 보고서 표현 시 evidence level 명시 강제 (L1 vs L2 vs L3)
- **Critical 7?**: ❌
- **사업 차단?**: ❌
- **명시적 병목?**: ✅ 회장 verbatim 영역 #7 직접 지정 + task-2703 validity 부분 영향
- **우선순위**: **P1** — `IMPLEMENT_NEXT_P1`
- **이유**: 본 case 봇 보고서가 self-attestation only (L1) — verifiable 0. 회장 verbatim 조건 #1 "Hermes 직접 코딩 금지" 위반 여부 단정 불가 → 회장 추가 verification 결정 시 별도 audit 필요
- **task-2703 validity 영향**: 부분 (★ 회장 추가 결정 시 별도 fact 회수 필요)

---

## 9. 우선순위 종합

### P0 (`IMPLEMENT_NOW_P0`) — 5건

- **#1** spawn detection false negative — layer 2
- **#2** schedule_history 단일 지표 과의존 — layer 2 (#1 부분집합)
- **#3** watchdog false stalled + chair chat 노출 — layer 3
- **#4** dispatch marker 누락 — layer 1 (★ 다른 layer 의 hard dependency)
- **#7** ANU closeout marker 인지 지연 — layer 4

### P1 (`IMPLEMENT_NEXT_P1`) — 2건

- **#5** task md sha mismatch — layer 0
- **#8** actor attribution evidence level — layer 6

### SEPARATE_VERIFICATION_REQUIRED — 1건

- **#6** finish-task profile mismatch — layer 5 (회장 incident 의도 확정 후 P0/P1 재분류)

### BACKLOG_P2 — 0건 (★ 8 incident 전부 운영층 결함 — 단순 운영품질 0)

---

## 10. 구현 권장 task 분할 (★ 제안만 · 자동 dispatch 금지)

- **task-2704 후보**: P0 layer 1 + 2 + 3 + 4 통합 MVP (★ 본 4 layer 가 서로 hard dependency · 분리 시 partial 동작)
- **task-2705 후보**: P1 layer 0 + 6 (sha contract + actor attribution evidence level)
- **task-N+M 후보**: #6 회장 의도 확정 후 layer 5 task_mode contract

★ 본 분할은 ANU 의 자의적 제안. **자동 dispatch 금지** · 회장 결정 + chair_authorization_id verbatim 후만 발사.

---

## 11. 완료 기준 매핑 (회장 verbatim 6 vs 본 report)

1. ✅ task-2703 incident 8 건이 모두 contract 로 매핑됨 — 위 8 섹션
2. ✅ ANU 가 다시 spawn 0 오진단을 못 하도록 상태기계 정의됨 — [[v36_runtime_harness_state_machine]] §1 (9-state · UNKNOWN 강제)
3. ✅ watchdog false stalled 발생 사유 + 차단 방법 명확 — [[v36_runtime_harness_state_machine]] §2 (alive 신호 OR 7 + chat gate `ESCALATE_CHAIR` 한정)
4. ⚠️ finish-task profile mismatch 가 task_mode 별로 설계됨 — [[v36_runtime_harness_control_plane]] §6 (6 task_mode + 기준 매트릭스) · 단 회장 incident 의도 추가 확인 필요 (★ #6 `SEPARATE_VERIFICATION_REQUIRED`)
5. ✅ 구현 우선순위 P0/P1/P2 로 나뉨 — 위 §9
6. ✅ 다음 구현 task 후보는 제안만 + 자동 dispatch 0 — 위 §10

★ 회장 verbatim 6 완료 기준 중 5/6 충족 · 1건 (#6 의도 확정) 회장 추가 신호 대기.

---

## 12. 본 report 의 단일 효력

- 본 report 는 **설계 매핑** — 구현 dispatch 0 · 코드 0 · finish-task.sh 수정 0 · watchdog/dispatch.py 수정 0
- 본 매핑 채택 자체는 신규 task 발의 아님 — 회장 결정 후 §10 분할안 별도 dispatch
- "사업 복귀라고 결론" 0 · "추후 필요시" 0 (회장 verbatim 금지)

★ 회장 verbatim 2026-05-28 read-only incident-to-contract routing 매핑. 8 incident · 7 contract layer · P0 5 / P1 2 / SEPARATE 1 / BACKLOG 0. 구현 dispatch 0 · 자동 발사 0.

끝
