# task-2610 — Track A: batch_hold_adjudicator (회장 6-track 시스템화·독립 task)

> **Lv**: Lv.4. **Executor**: dev1-team 헤르메스 (key c38fb9955616e24d) 1회 한정. **TTL**: 3h. **상태**: 회장 BATCH_LEVEL_HOLD_ADJUDICATION 시스템화 Track A (preflight SAFE_PARALLEL). 문서-only 금지. **callback: 반드시 독립 ANU key c119085addb0f8b7(executor self key c38fb9955616e24d 절대 금지·+49 코드 정본).**
> **preflight 정본**: `memory/events/task-2610-batch-hold-system-preflight-decision_260519.json`. **+N 아님 — 독립 task.**

## 1. 목표 (회장 verbatim)

병렬 작업 중 Codex HIGH/HOLD가 발생해도 개별 track만 보고 회장에게 멈추지 말고, batch 전체 context를 모아 Critical7인지 non-critical remediation인지 자동 분류하고, Critical7이 아니면 ANU-Codex loop로 자동 remediation하여 all-settled까지 진행하는 구조를 py/schema/test/fixture/runtime path로 구현한다.

## 2. 구현 (회장 verbatim — Track A)

`anu_v3/batch_hold_adjudicator.py` · `schemas/batch_hold_adjudication.schema.json`. 역할: 모든 track 상태를 모은 뒤 consolidated adjudication 으로 `AUTHORITATIVE_PASS / HOLD_CANDIDATE / AUTO_REMEDIATION_HOLD / CHAIR_HOLD / WAITING_FOR_DEPENDENCY / NOT_STARTED_BY_DESIGN / DISPATCH_NOT_RECEIVED` 분류. 개별 collector 는 HOLD_CANDIDATE 만 기록, 최종 분류는 본 batch-level adjudicator. Track B classifier 결과(Critical7 여부)를 입력으로 CHAIR_HOLD vs AUTO_REMEDIATION_HOLD 확정.

## 3. 공통 원칙 (회장 verbatim)

Critical7만 회장 보고 · non-Critical HOLD는 AUTO_REMEDIATION_HOLD로 자동 수렴 · 개별 collector는 HOLD_CANDIDATE만 기록 · 모든 track 상태 모은 뒤 consolidated adjudication · 문서-only 금지(py/sh/yaml/schema/test/fixture/result 필수) · executor self-* 금지 · independent ANU collector만 authoritative · fallback/dead-man/fixed-time 진행 트리거 금지 · PR/merge/credential/branch/main write 금지.

## 4. expected_files allowlist (DISJOINT — Track B/C/D/E/F 와 0 overlap)

`anu_v3/batch_hold_adjudicator.py` · `schemas/batch_hold_adjudication.schema.json` · `memory/events/task-2610.{decision,result}.json` · `memory/reports/task-2610.md`. 이 외 write 0. **기존 task-2553·task-2604 multitrack 산출물·frozen anchor byte-0(read-only consume)**. git HEAD·branch 전후 EQUAL.

## 5. 금지 (회장 verbatim 공통)

기존 산출물 변조 · 문서-only 완료 · executor self-callback/self-collector/self-adjudication/self-dispatch · independent ANU authoritative 약화 · fallback/dead-man/fixed-time 진행트리거 · PR/branch/main write·merge·credential.

## 6. HOLD_FOR_CHAIR (회장 verbatim)

shared invariant 파손 또는 Critical7 = 전체 CHAIR_HOLD. (그 외 non-Critical 은 AUTO_REMEDIATION_HOLD 자동 수렴 — 회장 보고 0.)

## 7. callback (a) — 독립 ANU key 강제

완료 직후 normal completion callback **ANU key c119085addb0f8b7로만 발사** → 독립 ANU collector 회수·검증·Codex·adjudication. (Codex non-Critical HIGH 잔존 시 AUTO_REMEDIATION_HOLD 자동 수렴·Critical7만 HOLD_FOR_CHAIR.) HIGH/CRITICAL 0 또는 non-critical 자동분류·재lint PASS 후 +53 durable-success write-back → +54·+55 dogfood → {A,B,C,D} all-settled 시 Track E 자연 트리거. executor self key c38fb9955616e24d 절대 금지(+49 정본). ANU fallback=ANU key·안전망 한정·진행 트리거 아님.

## 8. 9-R (확정 — 본 절 본문 우선)

**ANU-Codex lint = GO_READY (HIGH/CRITICAL 0)** — expected_files A/B/C/D/E/F DISJOINT · 분류 taxonomy 정합 · shared invariant 보존(기존 task-2553·task-2604 multitrack byte-0·callback owner=ANU key·no self-*·fallback≠진행트리거·ANU-only authoritative) · 문서-only 금지. re-lint 불요. ANU key 로 dev1 헤르메스 1회 위임.
