{
  "_comment": "task-2556 §9/§12 bot session 종료 후 scheduler 재진입 (state persisted markers 기반).",
  "_scenario": "1st cycle: scheduler 가 PR 112 에 대해 OWNER_TRIGGER_DISPATCHED → POSTED marker 생성 + audit 기록. 봇 session 종료 (long polling 금지). 2nd cycle (외부 cron): 동일 PR 112 가 still OPEN 이며 Gemini review 가 도착해 head 와 fresh. scheduler 가 audit/marker 를 보고 FRESH_GEMINI_AUTO_RESUME 으로 재진입 — auto-resume marker 생성.",
  "cycles": [
    {
      "cycle": 1,
      "now": "2026-05-12T11:00:00+00:00",
      "snapshot": {
        "number": 112,
        "head_sha": "1111111111111111111111111111111111111111",
        "head_ref": "task/task-2556-dev5",
        "created_at": "2026-05-12T10:00:00+00:00",
        "gemini_reviews": [],
        "ci_required_all_success": true,
        "state": "OPEN",
        "author_is_bot": true
      },
      "expected_diagnosis_state": "FIRST_GEMINI_TRIGGER_MISSING",
      "expected_scheduler_action": "OWNER_TRIGGER_DISPATCHED",
      "expected_runner_result": "POSTED",
      "bot_should_exit_after": true
    },
    {
      "cycle": 2,
      "now": "2026-05-12T11:25:00+00:00",
      "_note": "외부 cron 이 새 cycle 트리거. 봇은 1st cycle 종료 후 process exit, scheduler 가 state persisted markers 로 재진입.",
      "snapshot": {
        "number": 112,
        "head_sha": "1111111111111111111111111111111111111111",
        "head_ref": "task/task-2556-dev5",
        "created_at": "2026-05-12T10:00:00+00:00",
        "gemini_reviews": [
          {
            "commit_id": "1111111111111111111111111111111111111111",
            "submitted_at": "2026-05-12T11:20:00+00:00"
          }
        ],
        "ci_required_all_success": true,
        "state": "OPEN",
        "author_is_bot": true
      },
      "expected_diagnosis_state": "GEMINI_FRESH_ON_HEAD",
      "expected_scheduler_action": "FRESH_GEMINI_AUTO_RESUME",
      "expected_marker_files": [
        "task-2556.gemini-fresh-detected"
      ]
    }
  ],
  "long_polling_violations_expected": 0
}
