# skipped_explicit_reason_dryrun — PROVENANCE

## scenario
회장 사전 명시 승인된 callback 면제 (dry-run / debug 모드). `explicit_skip_reason` 필수, 추가로 `explicit_skip_authorizes_fallback_cancel=true` 가 있을 때만 fallback cancel 허용 (drift 방지 이중 잠금).

## input (evidence.json) 핵심
### 5축 (task-2635+1)
- `registration_intent` = `true`
- `registration_attempted` = `false` (사전 면제: 시도 안 함)
- `registration_result_status` = `SKIPPED_WITH_EXPLICIT_REASON`
- `callback_delivery_status` = `NOT_APPLICABLE`
- `collector_receipt_status` = `NOT_APPLICABLE`
### 보조 필드
- legacy `registration_status` = `SKIPPED_WITH_EXPLICIT_REASON` (alias)
- `explicit_skip_reason` 명시 (spec §4.2 강제)
- `explicit_skip_authorizes_fallback_cancel` = `true` (이중 잠금)
- `attempted_callback_registration` = `false`

## expected (expected.json) 핵심
- `finalize_result` = `success` (사전 승인 면제)
- `fail_closed` = `false`
- `fallback_cancel_signal` = `true` (이중 잠금 키 통과)
- `collector_spawn_expected` = `false` (실제 cron 등록 0 · 진짜 callback 발사 아님)
- `is_callback_complete` = `false` (real fire 와 구분)
- `contradictions_expected` = `[]` (정합)

## spec 근거
- §2 SKIPPED_WITH_EXPLICIT_REASON → 완료 성공 (특별 경로)
- §4.1 권장 추가 (5번째) — fixture 매트릭스
- §3.4 ANCHOR-4 false cancel 차단 — 이중 잠금 미시 통과 시 fallback 유지
- task-2635+1 §1 5축 분리 정합

## 비결정성 / 외부 의존
- 없음 (frozen fixture)

## 변경 이력
- 2026-05-23 task-2635 최초 작성 (dev6 페룬)
- 2026-05-23 task-2635+1 5축 schema 반영 갱신
