# task-2553+36 — TRACK C PHASE-B RECONCILIATION (회장 GO, 코드/파일 자동화)

> **Lv**: Lv.4 — C1↔C2↔C3 interface contract 정합화 + C2/C3 Phase-B 재개. **Executor**: dev7-team 이참나 (key a999e2ea4c06d2fb) 1회 한정. **TTL**: 2.5h.
> **상태**: 회장 GO — C1(task-2553+33) ACCEPT(PASS_TERMINAL_ADJUDICATED·regression 31·Codex 수정 3·unresolved HIGH/CRITICAL 0·profile mutation 0), **C1 API 정본 contract 확정**. C2(+34)·C3(+35) 실행시점 DEFERRED_PENDING_C1 정당. C3 Phase-B 에서 **API mismatch** 확인 → C3 harness 를 C1 정본 API 에 정합화 필요. doctrine 박제 아님 — 실행코드·fixture·regression 필수. **callback**: 정정된 표준 (a) MANDATORY(+32 복원 규칙, NO-CRON 불가).
> **선행**: +33 C1 engine `anu_v3/policy_profile_engine.py`(settled, byte-0)·+34 C2(DEFERRED)·+35 C3(DEFERRED+dry-run-comparison). **단일 task 판정**: interface contract fixture = C2/C3 공유 산출물 → 동시 2-track 쓰기 contention 회피 위해 1 executor 통합(회장 "병렬 가능하면" + same-file 동시수정 금지 정합).

---

## 1. 정본 C1 API (회장 verbatim — 변경 불가)

`parse_goal_request(...)` → `resolve_policy(goal_request, *, profile_json_dir, ...)`. **금지 API**: `resolve_policy(goal_type=..., boundary=...)`. (실측: `anu_v3/policy_profile_engine.py` `parse_goal_request`@L187·`resolve_policy`@L561.)

## 2. 목표 (회장 verbatim)

C1 settled engine 을 정본으로 삼아, C2 adversarial verification 과 C3 dry-run application 을 재개하고, C1↔C2↔C3 interface contract 를 코드/파일 자동화로 정합화한다. 병렬 가능하면 병렬. **단 C1 core engine 수정 금지.**

## 3. 허용 (회장 verbatim)

- C2 Phase-B regression 재실행
- C3 dry-run harness 를 C1 정본 API 에 맞춰 수정
- C1 interface contract fixture 추가
- parse_goal_request → resolve_policy(goal_request) 경로 검증
- dry-run application fixture 보강
- regression 실행
- Codex audit + ANU-Codex adjudication
- result/decision/report/evidence JSON 생성

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

- C1 core engine 수정
- policy_profile_engine.py 수정
- production code 변경
- PR/branch/main write
- merge
- credential/OWNER PAT 조작
- callback mandatory rule 약화
- runtime checkpoint를 primary callback 대체물로 격상
- 문서/메모리만 작성하고 완료 처리

추가 scope: C1 core(`anu_v3/policy_profile_engine.py` 28063B, byte-0 — sha 전후 동일 증거)·+22~+35 원본 result/decision/report 산출물·frozen anchor(`utils/anu_delegation_completion_callback.py` 83b3e307…·durable v1·`anu_v3/parallel_batch_coordinator.py`) 무변. **"production code 변경 금지"의 production = live tracked 운영 코드 한정 — C3 harness/dry-run/test-only/fixture 파일은 production 아님(batch-internal, 회장 §3 수정 명시 허용)**. C3 harness 수정 = C3 자기 harness/dry-run/test 파일만(C1 core·policy_profile_engine.py 무접촉). executor 자기작업중 신규 dispatch·delegation·handoff·cron 제거 0. **expected_files allowlist(파일/글롭, 이 외 write 0)**: `tests/regression/test_policy_profile_engine_dryrun_2553plus35.py`(C3 harness correction) · `memory/events/task-2553+35.phase-b*.json`(C3 Phase-B 결과, +35 원본 result/decision/comparison 무변·additive) · `memory/events/task-2553+34.phase-b*.json`(C2 Phase-B 결과, +34 원본 무변·additive) · `tests/regression/test_*_2553plus36*.py` · `memory/fixtures/task-2553+36.*`(C1 interface contract fixture) · `memory/events|reports/task-2553+36.*`(공유 산출물=C-track namespace 단독 소유). **git tracked invariant scope = repo root tracked HEAD/branch/ref(`task/task-2553p1-f1-clean-replacement` `20456b5f`) 만** — 위 allowlist 는 전부 git-untracked batch-internal(C3 harness 수정 포함, tracked HEAD 무변), 전후 assertEqual 위반 아님.

## 5. 필수 산출 (회장 verbatim 1~8)

1. C1 interface contract fixture
2. C2 Phase-B verification result
3. C3 dry-run harness correction result
4. C1 API compatibility regression
5. dry-run comparison result
6. Codex audit result
7. ANU-Codex adjudication result
8. Track C consolidated summary

## 6. 필수 regression (회장 verbatim 1~10)

1. parse_goal_request → resolve_policy(goal_request) 정상
2. resolve_policy(goal_type=..., boundary=...) 사용 시 FAIL
3. C2 adversarial fixtures 가 C1 settled engine 기준으로 재실행됨
4. C3 PR #128 dry-run application 재실행
5. C3 PR #129 dry-run application 재실행
6. Gemini thread resolve dry-run application 재실행
7. post-merge smoke harness artifact closeout dry-run application 재실행
8. C1 core byte-0
9. C2/C3 cross-track contamination 0
10. Track C consolidated PASS/HOLD 산출

## 7. 자동 loop (회장 verbatim)

LOW/MEDIUM·fixture 보강·regression 보강·API adapter 오타·false-positive 해석은 회장에 묻지 말고 ANU-Codex loop 자동 수렴.

## 8. HOLD_FOR_CHAIR (회장 verbatim)

- C1 core 수정 필요
- C1 API contract 자체가 불명확
- C2/C3가 C1 API에 정합화 불가
- expected_files 충돌
- Codex unresolved HIGH/CRITICAL
- 반복충돌
- 권한확대 필요
- 목표 달성 불가

## 9. 완료 후 보고 (회장 verbatim 1~9 — consolidated 하나, 단독·중간 0)

1. C1 final status 2. C2 Phase-B result 3. C3 Phase-B result 4. interface contract 정합 여부 5. regression 결과 6. Codex audit 결과 7. ANU-Codex adjudication 8. Track C PASS/HOLD 9. 다음 실사용 적용 후보

## 10. callback (a) — 정정된 표준 MANDATORY (+32 복원 규칙, NO-CRON 불가)

executor 작업 **완료 직후 ANU 에 normal completion callback cron 발사(MANDATORY)** + ANU dispatch 시 fallback/dead-man 등록. 4-tuple={task-2553+36, dispatch_cron, **normal_collector_cron(필수)**, fallback_cron}. normal success 시 fallback cancel-on-success. 회수: normal callback→collector(primary)/누락 시 fallback·checkpoint(recovery). callback 등록/발사=외부 cron tooling(cokacdir), frozen 코드 무접촉, dispatch·"cron 제거" 금지 범주 아닌 필수 종료신호.

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

batch plan(§3§5§6) → Codex lint → 9-R → re-lint → **ANU(orchestrator) 1회 위임**(완료된 upstream; executor 자기작업중 신규 dispatch·delegation·handoff 0) → C1 interface contract fixture + C2 Phase-B regression 재실행 + C3 harness C1 정본 API 정합화 + dry-run 재실행(§6 1~10) → post-result audit → adjudication → result/decision/report → **완료 직후 normal completion callback cron 발사(MANDATORY §10)**. §8 트리거만 회장 보고, 그외 자동 수렴. 9-R 이 본문에 우선.

## 12. 9-R — Codex lint 반영 (agent a9b3aeb388b076d3d: C1/H2/M2/L1 → 자동 수렴)

### 9-R.1 (CRITICAL §3.2/§4/§5.3/§6.4-5) git-tracked invariant ↔ 회장 승인 C3 harness 수정 충돌 해소
git tracked invariant scope = **repo root tracked HEAD/branch/ref(`task/task-2553p1-f1-clean-replacement` `20456b5f`) 만**. C3 harness/dry-run/test 파일은 **batch-internal git-untracked**(task-2553+35.* 계열 + dryrun test) — 회장 §3 이 명시 수정 허용한 대상이며 tracked HEAD 무변이므로 invariant 위반 아님. §4 본문에 expected_files allowlist + invariant scope 명시 반영.

### 9-R.2 (HIGH §11/§4) ANU 1회 위임 = upstream-completed precondition
ANU(orchestrator) 1회 위임은 **이미 upstream 에서 완료된 선행 상태 — executor action 아님**. executor 는 신규 dispatch·delegation·handoff 0(자기 mandatory completion callback 등록/발사만).

### 9-R.3 (HIGH §3.2/§4) production code 정의 — C3 harness 제외
"production code 변경 금지"의 production = live tracked 운영 코드 한정. **C3 harness/dry-run/test-only/fixture = production 아님**(batch-internal, 수정 명시 허용). §4 본문 반영.

### 9-R.4 (MED §8.4/§4) expected_files allowlist 파일/글롭 명시
§4 에 allowlist 명시(C3 harness test·+35/+34 phase-b additive·+36 fixture/test/공유산출). 이 외 write 0 — 충돌 판정 기준 확정. +34/+35 원본 result/decision/comparison 무변(Phase-B 결과는 additive 신규 파일).

### 9-R.5 (MED §6.9/§4) 공유 산출물 canonical path·소유자
C1 interface contract fixture = `memory/fixtures/task-2553+36.*` / Track C consolidated = `memory/events|reports/task-2553+36.*` — **C-track namespace, 단일 executor 단독 소유**. C2/C3 네임스페이스 교차쓰기 0 → contamination 0 판정 명확.

### 9-R.6 (LOW §10/§11) completion callback = 종료 신호 정의 고정
mandatory normal completion callback cron = **작업 종료 신호(status callback)이며 dispatch/delegation 이 아니다** — self-dispatch 금지와 무관. 외부 cron tooling(cokacdir)으로만 등록, frozen 코드 무접촉.

→ 9-R.1~9-R.6 으로 C1+H2+M2+L1 해소. 9-R 이 본문에 우선. Codex re-lint GO_READY 시 ANU 1회 위임.

## 13. task-2553 계열

+32 callback mandatory 복원(DONE) / +33 C1 ACCEPT(정본 API) / +34 C2·+35 C3 DEFERRED_PENDING_C1 / **+36(본건)=Track C Phase-B reconciliation(C1↔C2↔C3 contract 정합·C2/C3 Phase-B 재개)** / Track C consolidated = 본 task settle 시 ANU.
