# task-2553+39 — TRACK B: batch coordinator → profile decision output 소비 (회장 GO, 코드/파일 자동화)

> **Lv**: Lv.4 — batch coordinator 가 profile engine output 소비. **Executor**: dev6-team 페룬 (key 1e41a2324a3ccdd0) 1회 한정. **TTL**: 2.5h.
> **상태**: 회장 GO 병렬 4트랙 Track B. batch coordinator 가 policy profile engine 의 decision output(gate/HOLD/allowed/forbidden/packet/evidence)을 직접 소비하도록 결선. doctrine 박제 아님 — 실행코드·schema·fixture·regression·decision/result JSON 필수. **callback: 정정 표준 (a) MANDATORY.**
> **선행**: +33 C1 engine(정본, byte-0)·+30 generic coordinator·+29 registry. **병렬**: A(+38)·C(+40)·D(+41) expected_files disjoint.

---

## 1. 목표 (회장 verbatim)

batch coordinator → profile decision output 소비. batch coordinator 가 policy profile engine 의 decision output 을 직접 소비하여 track 판단·통합에 활용한다.

## 2. 원칙 (회장 verbatim)

실행 병렬 / 각 track goal 까지 ANU-Codex loop / 판단 batch coordinator 통합 / 회장 최종 decision 만 / 문서화만 금지 코드·파일 필수 / normal completion callback mandatory rule 유지 / fallback safety path 유지 / runtime checkpoint 는 recovery layer 유지.

## 3. 구현 방향 (코드/파일 자동화)

1. coordinator-profile binding 모듈(신규, 예 `anu_v3/coordinator_profile_binding.py`): C1 engine output read-only 소비 → generic batch coordinator(+30)/registry(+29) 가 profile decision(gate/HOLD/allowed/forbidden/packet/evidence schema)을 파일레벨 contract 로 소비. **engine·기존 coordinator(parallel_batch_coordinator.py·+30 generic·+29 registry) 원본 무수정**(additive binding 신규 모듈, 파일레벨 contract 만, import 결합·mutation 0).
2. schema/fixture: binding 입출력 schema + fixture(+26~+37 batch 사례 read-only 참조).
3. regression: 정상 소비 / engine 부재·mismatch → 안전(자동확정 0) / coordinator·engine byte-0 / +29/+30 API 무회귀 / **coordinator 가 closeout/merge 자동확정 0**(decision 소비=판단 보조, 확정 권한 아님).
4. decision/result JSON.

## 4. expected_files allowlist (이 외 write 0)

`anu_v3/coordinator_profile_binding.py` · `schemas/coordinator_profile_binding.schema.json` · `tests/regression/test_coordinator_profile_binding_2553plus39.py` · `memory/fixtures/task-2553+39.*` · `memory/events/task-2553+39.{decision,result}.json` · `memory/reports/task-2553+39.md`. policy_profile_engine.py·parallel_batch_coordinator.py·+29/+30 원본·+22~+38 원본 무변.

## 5. 금지 (회장 verbatim — D-SPEC-EXACTNESS 원문 박제)

- PR/branch/main write
- merge
- credential/OWNER PAT 조작
- callback mandatory rule 약화
- fallback safety path 제거
- runtime checkpoint를 primary callback 대체물로 격상
- batch coordinator가 closeout/merge를 자동 확정
- cross-track contamination

추가 scope: policy_profile_engine.py(C1 byte-0)·parallel_batch_coordinator.py·+29 registry·+30 generic coordinator·frozen anchor(anu_delegation_completion_callback.py 83b3e307…·durable v1·anu_v3 frozen)·+22~+38 원본 무변(binding=신규 모듈 additive·파일레벨 contract·import 결합 0). live `/home/jay/workspace`(repo root) git tracked HEAD/branch/ref(`task/task-2553p1-f1-clean-replacement` `20456b5f`) 전후 assertEqual(task-2553+39.*·신규 anu_v3/schemas/tests=untracked, 위반 아님).

## 6. HOLD_FOR_CHAIR (회장 verbatim)

Critical7 / forbidden target / expected_files 충돌 / Codex unresolved HIGH·CRITICAL / 권한확대 / 반복충돌 / 목표 달성 불가. + coordinator/engine byte-0 깨짐 / coordinator 가 closeout·merge 자동확정 필요(불가→HOLD).

## 7. 완료 후 보고 (consolidated 입력 — 단독·중간 0)

`memory/events/task-2553+39.result.json`: Track B PASS/HOLD·binding 위치·engine/coordinator read-only 무변 증거·자동확정 0 증거·regression·Codex audit·adjudication·contamination·HOLD. batch 통합 ANU 사후.

## 8. callback (a) — 정정된 표준 MANDATORY (+32 복원·+37 wired, NO-CRON 불가)

executor 작업 완료 직후 ANU 에 normal completion callback cron 발사(MANDATORY) + ANU dispatch 시 fallback 등록. 4-tuple={task-2553+39, dispatch_cron, normal_collector_cron(필수), fallback_cron}. callback 등록/발사=외부 cron tooling(cokacdir), frozen 무접촉, dispatch·"cron 제거" 금지 범주 아닌 필수 종료신호. ANU 1회 위임=이미 upstream 완료(executor action 아님), executor 자기작업중 신규 dispatch·delegation·handoff 0.

## 9. ANU-Codex loop (자동, 중간보고 0)

batch plan(§3§4) → Codex lint → 9-R → re-lint → ANU 1회 위임 → binding 모듈+schema+fixture+regression → post-result audit → adjudication → result/decision → 완료 직후 normal completion callback cron 발사(MANDATORY §8). §6 트리거만 회장 보고, 그외 자동 수렴. 9-R 이 본문에 우선.

## 10. 9-R — Codex lint 반영 (agent a049adba825bbba92: C0/H2(A/B 동형)/M0/L0 → 자동 수렴)

### 9-R.1 (HIGH §1/§3/§4/§5) "직접 소비" = additive consumable binding seam (frozen 편집 불요)
목표 "batch coordinator → profile decision output 소비" 의 결선 산물 = **신규 additive 모듈 `anu_v3/coordinator_profile_binding.py` 자체가 coordinator-consumable binding seam(파일레벨 contract)**. +37 entrypoint·+29/+30 별도모듈 선례 동일 패턴 — 신규 binding 모듈이 곧 소비 연결점이며 frozen `parallel_batch_coordinator.py`/+29/+30 in-place 편집·import 결합 불요. "직접 소비" 달성 = binding 모듈 존재 + 파일레벨 contract + regression 으로 coordinator→engine output 소비 경로 입증. 기존 coordinator 가 이 binding 을 실 호출하는 in-place adoption 은 별도 운영단계(본 task=binding seam+contract+regression, frozen 편집 0). coordinator=판단보조 소비만, closeout/merge 자동확정 0. §1 scope 명확 — gap 해소.

→ 9-R.1 로 HIGH 해소. CRITICAL0. 9-R 이 본문에 우선. Codex re-lint GO_READY 시 ANU 1회 위임.

## 11. task-2553 계열

+33 C1 engine / +29 registry·+30 generic coordinator / **+39(본건 Track B)=coordinator→profile output 소비** / +38 A·+40 C·+41 D 병렬 / consolidated = 4 track settle 후 ANU.
