# task-2553+37 — CANCEL-ON-SUCCESS COLLECTOR-PATH WIRING micro-fix (회장 GO, 코드/파일 자동화)

> **Lv**: Lv.4 — operational cancel-on-success collector-path 결선 + fallback_cron_id binding mandatory. **Executor**: dev4-team 비슈누 (key 7943afbe12c12f7d) 1회 한정. **TTL**: 2.5h.
> **상태**: 회장 GO — +33/+34/+35 진단 수용. DUPLICATE_CALLBACK_IGNORED/RESULT_READY_NO_NORMAL_CALLBACK 은 안전망 정상이나 정상 목표 cancel-on-success 실패. 원인 PRIMARY=COLLECTOR_PATH_NOT_WIRED / SECONDARY=FALLBACK_ID_NOT_BOUND(+25 seam 구현됐으나 실 운영 normal completion callback collector 경로가 operational_collector_wiring::run_operational_completion_callback_collector 미경유·fallback_cron_id 미전달). 본 task = 그 결선 micro-fix. **문서화만 금지 — 코드/schema/fixture/regression/decision JSON/result JSON 필수.** callback: 정정 표준 (a) MANDATORY(+32 규칙).
> **선행**: +25 operational cancel seam·+32 executor completion callback mandatory contract·+33/+34/+35 진단(`task-2553.cancel-on-success-noop-diagnosis_260518.json`). **병렬**: +36 Track C reconciliation(dev7, 비간섭 — 도메인 상이).

---

## 1. 목표 (회장 verbatim)

실제 normal completion callback collector 경로를 operational cancel seam 에 연결하고, fallback_cron_id binding 을 mandatory 화하여, normal collector durable-success 후 fallback callback 이 cancel-on-success 로 제거되도록 코드/파일 자동화하라. 문서화만 금지 — 코드/schema/fixture/regression/decision JSON/result JSON 필수.

## 2. 필수 구현 (회장 verbatim 1~10)

1. 표준 normal completion callback collector entrypoint 가 `operational_collector_wiring::run_operational_completion_callback_collector` 를 경유하게 한다.
2. normal collector durable-success 후: `run_operational_cancel_seam(operational=True)` 을 1회 호출한다.
3. live cron-state verifier 5조건 AND PASS 일 때만 bound fallback cron 1건을 제거한다.
4. fallback_cron_id binding 을 normal callback prompt/contract 에 필수화한다.
5. fallback_cron_id 가 없거나 mismatch 이면 cron-remove 를 하지 않고 fallback 을 보존한다.
6. cancel-audit JSON 을 생성한다.
7. cron-remove 실패/skip/exception 이 normal collector success 를 실패로 바꾸지 않도록 decouple 한다.
8. 기존 DUPLICATE_CALLBACK_IGNORED fallback safety path 는 유지한다.
9. +32 executor completion callback mandatory contract 와 충돌하지 않게 확장한다.
10. registry/checkpoint 는 recovery layer 로 유지하며, primary callback 구조를 대체하지 않는다.

## 3. 필수 회귀 (회장 verbatim 1~15 — 전 케이스 mock/fixture/격리, 실 운영 cron 실제 삭제 0)

> 9-R.1: §3 모든 케이스는 **mock/fixture verifier PASS 표현 + mocked cron-remove invocation 호출(spy/Fake)** 로 검증한다. 실 cron-list·실 cron-remove·실 schedule_history 무접촉. "cron-remove called" = mock remover 가 호출됐는지 spy assert(실 cron 삭제 아님). 실 cron-remove 실런타임은 결선완료·verifier 5조건 PASS 후 운영단계 동작이지 본 task 행위 0.

1. normal collector success + fallback_cron_id bound + live verifier PASS → (mocked) cron-remove called
2. normal collector success + fallback_cron_id missing → cron-remove 0, fallback preserved
3. normal collector success + task_id mismatch → cron-remove 0
4. normal collector success + chat_id mismatch → cron-remove 0
5. normal collector success + role not fallback → cron-remove 0
6. normal collector failure/HOLD/partial → cron-remove 0
7. cron-remove exception → normal success preserved
8. cancel-audit JSON 생성
9. fallback duplicate safety path 무회귀
10. +33/+34/+35 사례 fixture 에서 COLLECTOR_PATH_NOT_WIRED 재현 후 수정 경로 PASS
11. +32 mandatory normal callback contract 무회귀
12. +25 operational seam 무회귀
13. registry/checkpoint primary path 대체 없음
14. raw token/credential exposure 0
15. unrelated cron remove attempt 0

## 4. 허용 (회장 verbatim)

- operational collector wiring 보강
- normal callback prompt/contract binding 보강
- schema/fixture/regression 추가
- result/decision/cancel-audit JSON 생성
- Codex audit + ANU-Codex adjudication

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

- unrelated cron 제거
- live cron 강제삭제
- dev 재가동
- dispatch 외 추가 작업 발사
- branch/commit/push/PR/merge
- credential/OWNER PAT 조작
- 기존 task 산출물 수정
- callback mandatory rule 약화
- fallback safety path 제거
- registry를 primary callback 대체물로 격상
- 문서/메모리만으로 완료 처리

추가 scope: live `/home/jay/workspace`(repo root) git tracked HEAD/branch/ref(`task/task-2553p1-f1-clean-replacement` `20456b5f`) 전후 assertEqual(task-2553+37.*·신규 schema/fixture/tests=git-untracked, 위반 아님). frozen anchor `utils/anu_delegation_completion_callback.py`(83b3e307…)·durable v1·anu_v3 frozen·+22~+36 원본 산출물 무변(operational_collector_wiring 보강=additive, +25 기존 API·seam·verifier 무회귀). 실 운영 cron 실제 삭제는 본 task 구현·테스트 중 0(mock/fixture/격리만; cron-remove 실런타임은 결선완료·verifier 5조건 PASS 후 운영단계 동작이지 본 task 행위 아님).

## 6. HOLD_FOR_CHAIR (회장 verbatim)

- normal collector 표준 entrypoint 위치를 특정할 수 없음
- fallback_cron_id binding 을 안전하게 전달할 수 없음
- live verifier 를 우회해야 함
- unrelated cron 제거 가능성이 있음
- normal collector success 가 cron-remove 실패에 의해 실패로 변질됨
- +32/+25 regression 깨짐
- Codex HIGH/CRITICAL unresolved
- credential/permission expansion 필요

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

1. 수정 파일 목록 2. normal collector entrypoint 결선 위치 3. fallback_cron_id binding 방식 4. live verifier 5조건 적용 결과 5. cancel-audit JSON 결과 6. regression 결과 7. +33/+34/+35 재현 fixture 결과 8. Codex audit 결과 9. ANU-Codex adjudication 결과 10. 향후 normal success 시 fallback 발화 0 보장 여부 11. HOLD_FOR_CHAIR 여부

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

executor 작업 **완료 직후 ANU 에 normal completion callback cron 발사(MANDATORY)** + ANU dispatch 시 fallback/dead-man 등록. 4-tuple={task-2553+37, dispatch_cron, **normal_collector_cron(필수)**, fallback_cron}. callback 등록/발사=외부 cron tooling(cokacdir), frozen 코드 무접촉, "cron 제거"·dispatch 금지 범주 아닌 필수 종료신호. 본 task 가 결선하는 cancel-on-success 경로는 본 task 산출 후 운영단계 적용(부트스트랩상 +37 자체 fallback 은 DUPLICATE_CALLBACK_IGNORED 안전망 허용 — 본 task 는 코드+regression 으로 결선 정확성 입증).

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

batch plan(§2§3) → Codex lint → 9-R → re-lint → **ANU(orchestrator) 1회 위임(이미 완료된 upstream — executor action 아님; executor 자기작업중 신규 dispatch·delegation·handoff 0)** → operational_collector_wiring 보강+entrypoint 결선+binding mandatory+verifier 5조건 gate+decouple+cancel-audit + fixture(+33/+34/+35 재현)+regression(§3 1~15) → post-result audit → adjudication → result/decision/cancel-audit JSON → **완료 직후 normal completion callback cron 발사(MANDATORY §8)**. §6 트리거만 회장 보고, 그외 LOW/MED·fixture·regression·false-positive 자동 수렴. 9-R 이 본문에 우선.

## 10. 9-R — Codex lint 반영 (agent a33d4e22ef1df2547: C0/H0/M0/L1 → 자동 수렴)

### 9-R.1 (LOW §3.1↔§5) regression = mock/fixture only 명시
§3 전 회귀 케이스는 mock/fixture verifier PASS 표현 + mocked cron-remove invocation(spy/Fake) 로 검증 — 실 cron-list·실 cron-remove·실 schedule_history 무접촉. "cron-remove called"=mock remover 호출 spy assert(실 삭제 아님). §3 헤더에 명시 반영. §5 "실 운영 cron 실제 삭제 본 task 중 0" 와 정합(실 cron-remove=운영단계, 본 task 행위 0).

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

## 11. task-2553 계열

+25 operational seam / +32 callback mandatory 복원 / +33~35 cancel-on-success noop 진단 / **+37(본건)=collector-path 결선 + fallback_cron_id binding mandatory micro-fix** / +36 Track C reconciliation(병렬 비간섭).
