{
  "fixture_id": "task-2553plus48.properly-bound-4tuple.v1",
  "schema": "task-2553+48.cancel_on_success_live_e2e.regression_fixture.v1",
  "purpose": "task-2553+48 회장 §1/§3 — properly-bound 4-tuple 기반 cancel-on-success live remove END-TO-END 실증. +45 self-test 에서는 fallback binding 이 properly-bound 아니어서 ROLE_MISMATCH 보존이 발생, live remove 미실증이었다. 본 fixture 는 (a) +44 guard 가 normal_collector_cron_id+fallback_cron_id(role=fallback) 를 REGISTERED 로 정합 기록하고 +47 write_back_completed 로 COMPLETED 갱신하여 live cron id == ledger id 인 properly-bound 4-tuple 을 구성, (b) 이 상태에서 +45 run_cancel_on_success_live_wiring 경유 → +37→+25→+23 seam 1회 → live verifier 5조건 AND PASS → bound fallback 1건 cron-remove, (c) normal durable-success 후 bound fallback 발화 0(실 제거 입증) 을 end-to-end 재현한다. 전용 격리 FakeCronWorld/WorldSpyRemover — 실 운영 cron 강제삭제 0 (회장 §5 / 9-R.1 Layer A).",
  "authority_ref": "memory/events/task-2553+47.collector-authoritative.result.json",
  "chat_id": "6937032012",
  "task_id": "task-2553+48-pb-sim",
  "target_cron_id": "PB48FALLBACK",
  "executor": "dev-sim",
  "dispatch_id": "DSP-48-PB",
  "dispatch_cron_id": "DISP4800",
  "normal_collector_cron_id": "NORM4800",
  "role": "fallback",
  "properly_bound_4tuple": {
    "task_id": "task-2553+48-pb-sim",
    "dispatch_id": "DSP-48-PB",
    "dispatch_cron_id": "DISP4800",
    "executor": "dev-sim",
    "chat_id": "6937032012",
    "normal_collector_cron_id": "NORM4800",
    "fallback_callback_cron_id": "PB48FALLBACK",
    "role": "fallback"
  },
  "dispatch_fired_marker": {
    "ts_utc": "2026-05-18T05:00:00Z",
    "marker_kind": "dispatch fired",
    "dispatch_cron_id": "DISP4800",
    "callback_policy_a": {
      "standardized": true,
      "normal_callback_cron_id": "NORM4800",
      "fallback_callback_cron_id": "PB48FALLBACK",
      "fallback_role": "fallback",
      "chat_id": 6937032012,
      "anu_key": "c119085addb0f8b7"
    },
    "task_id": "task-2553+48-pb-sim"
  },
  "callback_contract": {
    "schema": "completion_callback_contract_v1",
    "fallback_callback_cron_id": "PB48FALLBACK"
  },
  "result_json": {
    "schema": "anu_delegation_result_v1",
    "task_id": "task-2553+48-pb-sim",
    "status": "completed",
    "classification": "PASS"
  },
  "report_text": "# task-2553+48-pb-sim report\n\nnormal completion callback PASS — properly-bound 4-tuple, durable-success.\n",
  "collector_result_marker": {
    "schema": "callback_ack_dedupe_v1",
    "task_id": "task-2553+48-pb-sim",
    "classification": "PASS",
    "ack_acquired": true
  },
  "live_cron_entries": [
    {
      "id": "PB48FALLBACK",
      "task_id": "task-2553+48-pb-sim",
      "chat_id": 6937032012,
      "role": "fallback",
      "fired": false,
      "removed": false
    }
  ],
  "reproduction_before_plus48": {
    "description": "regression 2 재현 토대 — properly-bound 4-tuple 미구성(또는 외부 ledger COMPLETED·role=fallback 부재) 시 +45 가 보수적으로 LOOKUP 보존 → seam 미진입 → cron-remove 0 → fallback 잔존. +45 self-test 의 ROLE_MISMATCH 보존이 바로 이 미실증 상태.",
    "properly_bound_constructed": false,
    "expected_verdict": "E2E_PRESERVED",
    "expected_seam_invoked": false,
    "expected_cron_remove_invoked": false,
    "expected_fallback_preserved": true,
    "expected_fallback_fired_count": 1,
    "reproduction_note": "properly-bound 미구성 → bound fallback 미제거(보존) → normal success 후 fallback 이 뒤늦게 발화(=1). 이것이 +45 self-test ROLE_MISMATCH 보존으로 live remove 가 미실증이던 정확한 결함. +48 properly-bound 경로(resolved)에서 발화 0 으로 해소. normal success 는 두 경로 모두 디커플로 무변.",
    "expected_normal_success_unchanged": true
  },
  "resolved_via_plus48": {
    "description": "regression 1 — +44 guard REGISTERED(role=fallback) append + +47 write_back_completed COMPLETED → properly-bound 4-tuple(live cron id == ledger id) → +45 run_cancel_on_success_live_wiring → LOOKUP_VERIFIED → +37→+25→+23 seam(operational=True) 1회 → live cron-state verifier 5조건 AND PASS → bound fallback PB48FALLBACK 1건 실제 cron-remove → normal durable-success 후 fallback 발화 0 (end-to-end 입증).",
    "properly_bound_constructed": true,
    "expected_verdict": "E2E_PASS",
    "expected_lookup_status": "LOOKUP_VERIFIED",
    "expected_writeback_status": "WRITEBACK_COMPLETED",
    "expected_binding_integrity_ok": true,
    "expected_live_eq_ledger": true,
    "expected_marker_eq_ledger": true,
    "expected_role_is_fallback": true,
    "expected_wired_via_operational_collector_wiring": true,
    "expected_durable_success": true,
    "expected_seam_invoked": true,
    "expected_seam_classification": "PLUS9A_CANCELLED",
    "expected_cron_remove_invoked": true,
    "expected_fallback_cancelled": true,
    "expected_fallback_preserved": false,
    "expected_cron_removed": true,
    "expected_fallback_fired_count": 0,
    "expected_normal_success_unchanged": true
  },
  "isolation": "전용 격리 FakeCronWorld(in-memory) + WorldSpyRemover 주입, subprocess.run 차단 spy, durable 4-tuple ledger tmp JSONL 격리 — 실 운영 cron 실제 삭제 0 (회장 §5 / 9-R.1 Layer A). bound·verified single cancel 1건만 (Layer B).",
  "no_actor_attribution_change": true
}
