{
  "schema": "task-2553plus53.fixtures.v1",
  "note": "회장 §4 필수 fixture 9종. live cases(+50/+51/+52)는 실제 memory/events 독립 ANU verdict 파일을 read-only 소비(별도 합성 불필요·byte-0). 합성 fixture 는 self-chain / mismatch / idempotent / fallback-pending edge 만. regression 은 실 entrypoint 직접 호출(mock-only FAIL).",
  "batch_id": "batch-task-2553-3track-normal-collector-50-51-52",
  "expected_tracks": [
    ["TRACK 1", "task-2553+50"],
    ["TRACK 2", "task-2553+51"],
    ["TRACK 3", "task-2553+52"]
  ],
  "live_sources": {
    "TRACK 1": {
      "path": "memory/events/task-2553+50.independent-anu-collector.result.json",
      "executor_key": "109fa85250c6d46b",
      "expected_verdict": "AUTHORITATIVE_PASS",
      "case": "+50 AUTHORITATIVE_PASS but registry missing -> durable-success write-back"
    },
    "TRACK 2": {
      "path": "memory/events/task-2553+51.independent-anu-authoritative-verdict.json",
      "executor_key": "a999e2ea4c06d2fb",
      "expected_verdict": "AUTHORITATIVE_PASS",
      "case": "+51 AUTHORITATIVE_PASS but registry missing -> durable-success write-back"
    },
    "TRACK 3": {
      "path": "memory/events/task-2553+52.independent-anu-collector.result.json",
      "executor_key": "7943afbe12c12f7d",
      "expected_verdict": "AUTHORITATIVE_PASS",
      "case": "+52 AUTHORITATIVE_PASS but registry missing -> durable-success write-back"
    }
  },
  "self_chain_only": {
    "case": "self-chain verdict only -> NO write-back (SELF_CHAIN_NO_WRITEBACK)",
    "verdict_file": {
      "schema": "synthetic.self_chain_collector.result.v1",
      "task_id": "task-2553+51",
      "track": "TRACK 2",
      "verdict": "PASS",
      "collector_role": "ANU",
      "collector_key": "a999e2ea4c06d2fb",
      "executor_key": "a999e2ea4c06d2fb",
      "executor_self_collector": true,
      "session_is_executor_self": true,
      "ts_kst": "2026-05-18 19:09 KST",
      "_note": "collector_key == executor_key AND executor_self_collector=true -> +49 selector QUARANTINES (self-chain). Even with verdict=PASS, never written back."
    }
  },
  "independent_anu_writeback": {
    "case": "independent ANU verdict -> write-back (DURABLE_SUCCESS_WRITTEN)",
    "verdict_file": {
      "schema": "synthetic.independent_anu_collector.result.v1",
      "task_id": "task-2553+99",
      "track": "TRACK X",
      "verdict": "AUTHORITATIVE_PASS",
      "collector_role": "ANU",
      "collector_key": "c119085addb0f8b7",
      "executor_key": "deadbeefdeadbeef",
      "executor_self_collector": false,
      "ts_kst": "2026-05-18 20:00 KST",
      "four_tuple_record": {
        "chat_id": "6937032012",
        "dispatch_cron_id": "SYNTH-DISP-99",
        "fallback_callback_cron_id": "SYNTH-FB-99",
        "normal_collector_cron_id": "SYNTH-NC-99",
        "collector_key": "c119085addb0f8b7"
      }
    }
  },
  "conflict_different_verdict": {
    "case": "duplicate write-back, SAME binding but DIFFERENT verdict -> WRITEBACK_BINDING_CONFLICT (silent skip FORBIDDEN §3.9)",
    "first_verdict": "AUTHORITATIVE_PASS",
    "second_verdict": "PASS",
    "verdict_file": {
      "schema": "synthetic.independent_anu_collector.result.v1",
      "task_id": "task-2553+98",
      "track": "TRACK Y",
      "collector_role": "ANU",
      "collector_key": "c119085addb0f8b7",
      "executor_key": "cafef00dcafef00d",
      "executor_self_collector": false,
      "ts_kst": "2026-05-18 20:05 KST",
      "four_tuple_record": {
        "chat_id": "6937032012",
        "dispatch_cron_id": "SYNTH-DISP-98",
        "fallback_callback_cron_id": "SYNTH-FB-98",
        "normal_collector_cron_id": "SYNTH-NC-98",
        "collector_key": "c119085addb0f8b7"
      }
    }
  },
  "track_mismatch": {
    "case": "expected track_id mismatch -> TRACK_MISMATCH (RECORDED, never silent §3.9)",
    "expected_override": {"track_id": "TRACK 1", "task_id": "task-2553+50"},
    "actual_track_id": "TRACK 3"
  },
  "fallback_pending_non_blocking": {
    "case": "fallback pending + normal completed -> non-blocking (§3.6); fixed-time/dead-man NOT a progress trigger (§3.7)",
    "note": "evaluate_batch_settle never reads fallback/dead-man state; settle gate is normal_callback_durable_success_event only."
  },
  "duplicate_idempotent": {
    "case": "duplicate collector execution / repeated scan -> idempotent skip (§3.8) — NOT a duplicate append"
  }
}
