# task-2613 — Track D: dependency_and_not_started_classifier (회장 6-track 시스템화·독립 task)

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

## 1. 목표 (회장 verbatim)

batch 전체 context에서 upstream gate 미충족으로 아직 dispatch되지 않은 상태를 정확히 분류한다.

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

`anu_v3/batch_dependency_classifier.py` · `schemas/dependency_wait_state.schema.json` · `schemas/not_started_by_design.schema.json`. 역할: 2608 유형처럼 upstream gate 미충족으로 아직 dispatch되지 않은 상태를 `NOT_STARTED_BY_DESIGN` / `WAITING_FOR_DEPENDENCY`로 분류. **`DISPATCH_NOT_RECEIVED`와 혼동 금지**(gate 미충족 정상 보류 vs 봇 미수신 사고는 별개 상태). classifier 출력은 Track A batch_hold_adjudicator 입력.

## 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 A/B/C/E/F 와 0 overlap)

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

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

기존 산출물 변조 · NOT_STARTED_BY_DESIGN/WAITING_FOR_DEPENDENCY ↔ DISPATCH_NOT_RECEIVED 혼동 · 문서-only 완료 · executor self-* · 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 자동 수렴.

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

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

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

**ANU-Codex lint = GO_READY (HIGH/CRITICAL 0)** — NOT_STARTED_BY_DESIGN/WAITING_FOR_DEPENDENCY ↔ DISPATCH_NOT_RECEIVED 명확 분리 · expected_files DISJOINT · shared invariant 보존 · 문서-only 금지. re-lint 불요. ANU key 로 dev3 다그다 1회 위임.
