# task-2553+48 — cancel-on-success live remove END-TO-END 실증 (properly-bound 4-tuple) (회장 결정, 코드/파일 자동화)

> **Lv**: Lv.4. **Executor**: (+47 event-trigger 시점 idle dev 1팀 1회 한정 배정). **TTL**: 3h. **상태**: +47 완료 후 진입 — **+47 event-trigger 로 진입(고정시각/dead-man 게이트 금지, 회장 doctrine)**. 문서화 아님 — 실행코드·schema·fixture·regression·decision/result JSON 필수. **callback: 정정 표준 (a) MANDATORY.**
> **선행**: +44/+46 registry·resolver + +45 cancel-on-success live wiring + +47 registry write-back·event-trigger(byte-0 read-only/additive 재사용).

---

## 1. 목표 (회장 verbatim)

properly-bound 4-tuple 기반 cancel-on-success live remove end-to-end 실증.

## 2. 배경 (회장 verbatim 분리 사유)

live remove 미실증: +45 self-test에서는 fallback binding이 properly-bound 상태가 아니어서 ROLE_MISMATCH로 fallback 보존이 발생했다. 따라서 cancel-on-success live remove는 아직 end-to-end 실증되지 않았다.

## 3. 구현 목표 (코드/파일 자동화 — 문서-only 아님)

- properly-bound 4-tuple 구성: dispatch 시 +44 guard 가 normal_collector_cron_id + fallback_cron_id(role=fallback) 를 registry 에 정합 기록, +47 write-back 으로 normal durable-success COMPLETED 갱신 → live cron id == ledger id 일치 보장.
- 이 properly-bound 상태에서 +45 `run_cancel_on_success_live_wiring` 실행 → +37→+25→+23 cancel seam 1회 → live verifier 5조건 AND PASS → bound fallback cron 1건 **실제 제거** → cancel-audit JSON 생성.
- normal success 후 fallback 발화 0(실 제거 입증) end-to-end.
- 실 운영 cron 무접촉: 전용 격리 fixture/Fake/Spy cron 으로 실증(실 운영 fallback cron 강제삭제 0). 회장 §금지 "live cron 강제삭제" 준수 — 본 task 의 bound·verified single cancel 1건만(Layer B).
- mismatch/missing/unverified 시 보존·decouple(+45 보수 가드 무회귀).
- schema/fixture/regression/decision/result JSON.

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

`anu_v3/cancel_on_success_live_e2e.py`(또는 +45 모듈 additive 재사용 시 신규 0) · `schemas/cancel_on_success_e2e_audit.schema.json`(또는 +45 schema 재사용) · `tests/regression/test_cancel_on_success_live_e2e_2553plus48.py` · `memory/fixtures/task-2553plus48.properly-bound-4tuple.*` · `memory/events/task-2553+48.{decision,result}.json` · `memory/events/task-2553+48.cancel-audit.json` · `memory/reports/task-2553+48.md`. +44/+45/+46/+47 모듈·+37/+25/+23·frozen anchor·기존 +39/+41/+42/+43/+45 산출물 무변(read-only/additive).

## 5. 금지 (회장 verbatim — D-SPEC-EXACTNESS)

dead-man을 진행 트리거로 사용 · 고정시각 cron을 의존 단계 트리거로 사용 · live cron 강제삭제(실 운영 cron) · unrelated cron 제거 · callback/fallback 구조 폐기 · registry를 merge/write executor로 격상 · 권한 없는 dispatch/merge/closeout 실행 · credential/OWNER PAT 조작 · 기존 산출물 변조.

## 6. HOLD_FOR_CHAIR

Critical7 / 권한확대 / forbidden target / Codex unresolved HIGH·CRITICAL / cross-track contamination. + properly-bound 4-tuple 안전 구성 불가 / 실 운영 cron 오삭제 위험 / +44/+45/+46/+47 regression 깨짐 / normal success 가 cron-remove 실패로 실패처리될 위험.

## 7. 필수 regression

1 properly-bound 4-tuple(live==ledger·role=fallback) + 5조건 AND PASS → cron-remove 실제 호출·cancel-audit 생성 / 2 normal success 후 fallback 발화 0 end-to-end 재현 / 3 ROLE/TRACK/CHAT mismatch → 보존(무회귀) / 4 5조건 1개 fail → 보존 / 5 cron-remove 실패 → normal success decouple 유지 / 6 DUPLICATE_CALLBACK_IGNORED safety 무회귀 / 7 실 운영 cron 무접촉(Fake/Spy 격리) / 8 +37/+25/+23/+44/+45/+46/+47 byte-0·regression 무회귀 / 9 +32 callback mandatory 무회귀 / 10 raw token/credential exposure 0.

## 8. 완료 후 보고 (consolidated 입력)

1 +48 PASS/HOLD / 2 properly-bound 4-tuple 구성·검증 방식 / 3 cancel seam 1회 호출·5조건 결과 / 4 실제 cron-remove + cancel-audit JSON 결과 / 5 normal success 후 fallback 발화 0 end-to-end 입증 여부 / 6 보수 가드 무회귀 / 7 regression / 8 Codex audit / ANU-Codex adjudication / 9 HOLD. `memory/events/task-2553+48.result.json` + `memory/reports/task-2553+48.md`.

## 9. callback (a) — 정정 표준 MANDATORY. 진입=+47 event-trigger(고정시각/dead-man 금지). ANU fallback=미수신 안전망 한정(진행 트리거 아님).

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

### 9-R.1 (§3/§5 carve-out + 진입 트리거, 확정)
Codex lint 결과 GO_READY(HIGH/CRITICAL 0). 본 9-R 절이 본문(§3/§5/§9)에 우선한다.
- **Layer A — 실 운영 cron 무접촉 (§5 구속)**: 산출 모듈·테스트는 실 운영 fallback cron 을 강제삭제/임의제거하지 않는다. e2e 실증은 전용 Fake/Spy/격리 fixture cron 으로만. §5 "live cron 강제삭제·unrelated cron 제거 금지"는 이를 구속.
- **Layer B — bound·verified single cancel (§3 목표 자체)**: properly-bound 4-tuple(live==ledger·role=fallback) + live verifier 5조건 AND PASS = 단일 bound·verified cancel 1건 = 회장 §1 목표(end-to-end 실증) 그 자체. mismatch/missing/unverified = 보존·decouple(+45 무회귀).
- **진입 트리거**: +47 event-trigger(registry COMPLETED 이벤트). 고정시각/dead-man 미사용 명문. ANU fallback = 미수신 안전망 한정.
→ 두 layer 직교. CRITICAL0. re-lint 불요(GO_READY).
