# task-2553+53 — NORMAL_COLLECTOR_DURABLE_SUCCESS_WRITEBACK_AND_BATCH_SETTLE_TRIGGER (회장 결정, 코드/파일 자동화)

> **Lv**: Lv.4. **goal_type**: batch_settle_writeback_trigger. **Executor**: dev8-team 라 (key a5dddf38a8c57168) 1회 한정 — clean(+47/+48/+49 tainted chain·+50/+51/+52 track executor 전부 비관여 = 독립). **TTL**: 3h. **상태**: 회장 +50/+51/+52 AUTHORITATIVE_PASS 수용 후, batch DEFER 근인(normal collector durable-success→registry write-back→batch settle trigger 결선 미완) 해소. 문서-only 금지 — 실행 모듈·schema·fixture·regression·result JSON 필수. **callback: 반드시 독립 ANU key c119085addb0f8b7 발사(executor self key a5dddf38a8c57168 절대 금지·+49 코드 강제 정본).**
> **선행**: +44 callback_4tuple_registry(callback_4tuple_index.jsonl)·+47 callback_event_trigger·+49 self_collector_guard/authoritative_verdict_selector / +50·+51·+52 독립 ANU verdict 파일(read-only 근거).

## 1. 목표 (회장 verbatim)

NORMAL_COLLECTOR_DURABLE_SUCCESS_WRITEBACK_AND_BATCH_SETTLE_TRIGGER

## 2. 배경 (회장 verbatim 진단)

+50/+51/+52 normal completion callback collector 가 모두 독립 ANU 로 실행·PASS 산출했으나 +44 durable 4-tuple registry(callback_4tuple_index.jsonl)에 task-2553+50/+51/+52 durable-success(COMPLETED) 0/3건 → batch coordinator all-settled 자동 인식 실패 → last-settle collector consolidated summary 미생성. track 실패 아님 — normal collector durable-success → registry write-back → batch settle trigger 결선 미완.

## 3. 구현 목표 (회장 verbatim 1~10)

1. 독립 ANU collector 가 AUTHORITATIVE_PASS / PASS / ACCEPTED terminal verdict 산출 시 callback_4tuple_index 또는 별도 batch-settle registry 에 durable-success(COMPLETED) write-back.
2. write-back 필드 최소: task_id · track_id · dispatch_id · normal_collector_cron_id · collector_key · collector_role=ANU · authoritative_verdict · terminal_status · completed_at · source_result_path · batch_id.
3. executor self-chain verdict 는 write-back 대상 아님 — independent ANU authoritative verdict 만 durable-success 기록.
4. write-back 이후 batch coordinator 가 batch_id 기준 all tracks settled 여부 즉시 평가.
5. 3 track 전부 AUTHORITATIVE_PASS 면 마지막 settle collector 가 consolidated summary candidate 생성.
6. fallback/dead-man pending 여부는 normal durable-success 이후 batch settle 비차단.
7. fixed-time gate / dead-man fallback 을 batch progress trigger 로 미사용.
8. repeated collector / repeated scan idempotent — 동일 terminal verdict 재기록 = 중복 append 아닌 idempotent skip 또는 동일 레코드 확인.
9. mismatch silent skip 금지 — task_id/track_id/collector_key/dispatch_id/verdict mismatch = WRITEBACK_BINDING_CONFLICT 또는 TRACK_MISMATCH 기록.
10. 기존 +50/+51/+52 산출물 무수정 — 독립 ANU verdict 파일 근거 additive write-back / batch settle result 만 생성.

> 문서화 아님 — 실행 가능 Python 모듈·schema·fixture·regression·result JSON 필수. regression 은 실 entrypoint 직접 호출(mock-only 금지).

## 4. 필수 fixture (회장 verbatim 9)

+50 AUTHORITATIVE_PASS but registry missing · +51 동 · +52 동 · 3-track all-pass→consolidated summary ready · 2/3 settled→defer · self-chain verdict only→no write-back · independent ANU verdict→write-back · fallback pending+normal completed→non-blocking · duplicate collector execution→idempotent.

## 5. 필수 regression (회장 verbatim 1~15, 실 entrypoint 직접 호출)

1 independent ANU AUTHORITATIVE_PASS→durable-success write-back PASS / 2 self-chain PASS→write-back FAIL / 3 collector_role!=ANU→FAIL / 4 collector_key!=configured ANU key→FAIL / 5 duplicate write-back same binding→idempotent / 6 duplicate write-back different verdict→WRITEBACK_BINDING_CONFLICT / 7 +50/+51/+52 all missing registry→before state DEFER / 8 +50/+51/+52 write-back after fix→all-settled / 9 all-settled→consolidated summary candidate 생성 / 10 fallback pending does not block all-settled / 11 fixed-time/dead-man trigger 사용 시 FAIL / 12 +49 self-collector guard 무회귀 / 13 +44 4-tuple registry 무회귀 / 14 +47/+48 event-trigger 무회귀 / 15 profile engine / Track1~3 산출물 무변.

## 6. 허용 (회장 verbatim)

registry write-back 모듈 추가/보강 · batch settle evaluator 추가 · consolidated summary candidate generator 추가 · schema/fixture/regression 추가 · additive write-back result JSON 생성 · additive batch-settle result JSON 생성 · Codex audit + ANU-Codex adjudication.

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

기존 +50/+51/+52 산출물 수정 · executor self verdict를 durable-success로 인정 · fallback/dead-man을 진행 트리거로 사용 · fixed-time cron을 progress trigger로 사용 · registry/checkpoint를 primary executor로 격상 · credential/OWNER PAT 조작 · PR/branch/main write · merge · 문서-only 완료

## 8. HOLD_FOR_CHAIR (회장 verbatim)

independent ANU verdict와 self-chain verdict를 구분할 수 없음 · durable-success write-back을 안전하게 할 수 없음 · batch_id/track_id를 안정적으로 특정할 수 없음 · mismatch를 silent skip해야만 진행 가능 · Codex unresolved HIGH/CRITICAL · 기존 +49/+44/+47 regression 깨짐 · credential/permission expansion 필요

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

`anu_v3/batch_settle_writeback.py`(신규: durable-success write-back + batch settle evaluator) · `anu_v3/consolidated_summary_candidate_generator.py`(신규) · `anu_v3/callback_4tuple_registry.py`(부득이 시 additive patch·byte-0 우선) · `schemas/durable_success_writeback.schema.json` · `schemas/batch_settle_result.schema.json` · `tests/regression/test_batch_settle_writeback_2553plus53.py` · `memory/fixtures/task-2553plus53.*` · `memory/events/task-2553+53.{decision,result}.json` · `memory/events/task-2553.batch-settle-result_260518.json` · `memory/events/task-2553.batch-consolidated-summary-candidate_260518.json` · `memory/events/callback_4tuple_index.jsonl`(durable-success append — allowlist) · `memory/reports/task-2553+53.md`. **기존 +50/+51/+52 산출물·+47/+48/+49 모듈·policy_profile_engine·frozen anchor byte-0(read-only consume)**. git HEAD 20456b5f·branch 전후 EQUAL.

## 10. 실 적용 (이중 목적)

본 task = (a) 메커니즘 신설 + (b) 즉시 실적용: +50/+51/+52 독립 ANU verdict 파일(AUTHORITATIVE_PASS)을 근거로 durable-success write-back(additive) → batch_id 기준 all-settled 평가 → 3/3 AUTHORITATIVE_PASS 확인 시 consolidated summary candidate 생성. self-chain verdict 는 제외(+49 self_collector_guard/authoritative_verdict_selector 경유). 기존 +50/+51/+52 산출물 byte-0.

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

executor(dev8 라) 완료 직후 normal completion callback cron 을 **ANU key c119085addb0f8b7(chat 6937032012)로만 발사** → 독립 ANU collector 세션. executor self key(a5dddf38a8c57168) 절대 금지(+49 코드 정본). 회수·검증·Codex audit·adjudication·batch settle write-back·consolidated summary candidate 는 그 독립 ANU 세션이 §3 메커니즘으로 수행(dogfood). ANU fallback=ANU key·안전망 한정·진행 트리거 아님(§7). next_action=normal-callback durable-success event 기준(고정시각/dead-man 금지). 4-tuple+collector_role=ANU 기록.

## 12. 9-R — Codex lint 반영 (확정 — 본 절 본문 우선)

Codex lint = **GO_READY (HIGH/CRITICAL 0)**. callback_4tuple_registry byte-0 우선·부득이 additive(시그니처 보존, +44 regression 무회귀) / write-back=independent ANU verdict only(+49 self_collector_guard/authoritative_verdict_selector 경유, self-chain durable-success 경로 0) / batch settle=normal-callback durable-success event(고정시각·dead-man 진행트리거 금지) / 기존 +50/+51/+52·+47/+48/+49·engine·frozen byte-0(additive write-back=callback_4tuple_index.jsonl append + 신규 batch-settle/consolidated result 만) / regression 실 entrypoint 직접 호출(mock-only FAIL). re-lint 불요. ANU key 로 dev8 라 1회 위임.
