{
  "timestamp": "2026-04-18T23:54:52.469000+08:00",
  "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f",
  "profile": "base",
  "concurrency": 3,
  "resume_mode": "each",
  "pending_song_count": 2,
  "groups": [
    {
      "group_index": 1,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/01_Good Day_20260418",
        "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/02_잔소리_20260418"
      ],
      "success_count": 2,
      "failed_count": 0,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/01_Good Day_20260418",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/01_Good Day_20260418/step2_json_b.json",
          "agent_summary": "API direct: 발뒤꿈치",
          "returncode": 0,
          "stderr": "",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/01_Good Day_20260418",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/01_Good Day_20260418/step2_json_b.json",
              "agent_summary": "API direct: 발뒤꿈치",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/02_잔소리_20260418",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/02_잔소리_20260418/step2_json_b.json",
          "agent_summary": "API direct: 온기 편식",
          "returncode": 0,
          "stderr": "",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/02_잔소리_20260418",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/02_잔소리_20260418/step2_json_b.json",
              "agent_summary": "API direct: 온기 편식",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        }
      ]
    }
  ],
  "resume": {
    "status": "success",
    "returncode": 0,
    "stdout_tail": "ce=50)...\n[23:57:33] 🎨 [02_잔소리_20260418] Step 4: SeeDream cover (parallel)...\n[23:57:33] ⚠️  [qq] Exact source_id '004OMYZj2d9hI8' not found for '미아'\n[23:57:33] 🔄 [03_미아_20260418] Step 0: retry 1/2 in 5s...\n[23:57:33] ⚠️  [qq] Exact source_id '0040JlR23ds3mZ' not found for 'Rain Drop'\n[23:57:33] 🔄 [04_Rain Drop_20260418] Step 0: retry 1/2 in 5s...\n[23:57:33] ⚠️  [qq] Exact source_id '004Ws1p807qxRl' not found for 'Last Fantasy'\n[23:57:33] 🔄 [05_Last Fantasy_20260418] Step 0: retry 1/2 in 5s...\n  ✅ submitted: ['2ffe1b45', '32c39013']\n  🎵 2ffe1b45... → submitted\n  🎵 32c39013... → submitted\n  ✅ submitted: ['948cf34e', '6b090c38']\n  🎵 948cf34e... → submitted\n  🎵 6b090c38... → submitted\n[23:57:38] ⚠️  [qq] Exact source_id '004OMYZj2d9hI8' not found for '미아'\n[23:57:38] 🔄 [03_미아_20260418] Step 0: retry 2/2 in 10s...\n[23:57:38] ⚠️  [qq] Exact source_id '0040JlR23ds3mZ' not found for 'Rain Drop'\n[23:57:38] 🔄 [04_Rain Drop_20260418] Step 0: retry 2/2 in 10s...\n[23:57:38] ⚠️  [qq] Exact source_id '004Ws1p807qxRl' not found for 'Last Fantasy'\n[23:57:38] 🔄 [05_Last Fantasy_20260418] Step 0: retry 2/2 in 10s...\n  🎵 2ffe1b45... → queued\n  🎵 32c39013... → queued\n  🎵 948cf34e... → queued\n  🎵 6b090c38... → queued\n[23:57:48] ⚠️  [qq] Exact source_id '004OMYZj2d9hI8' not found for '미아'\n[23:57:48] ❌ [03_미아_20260418] Step 0: No audio URL\n[23:57:48] ⚠️  [qq] Exact source_id '0040JlR23ds3mZ' not found for 'Rain Drop'\n[23:57:48] ❌ [04_Rain Drop_20260418] Step 0: No audio URL\n[23:57:48] ⚠️  [qq] Exact source_id '004Ws1p807qxRl' not found for 'Last Fantasy'\n[23:57:48] ❌ [05_Last Fantasy_20260418] Step 0: No audio URL\n  🎵 948cf34e... → streaming\n  🎵 6b090c38... → streaming\n  🎵 2ffe1b45... → streaming\n  🎵 32c39013... → streaming\n  🎵 2ffe1b45... → complete\n  🎵 32c39013... → complete\n[23:59:16]    🎧 [01_Good Day_20260418] Song 1: https://cdn1.suno.ai/2ffe1b45-dd7a-4171-9123-db6f390dbe50.mp3\n[23:59:16]    🎧 [01_Good Day_20260418] Song 2: https://cdn1.suno.ai/32c39013-52f4-4d3a-9ac6-29261df9823f.mp3\n[23:59:16] 🎛️ [01_Good Day_20260418] Step 3.5: 混音...\n[23:59:36]    🎚️ [01_Good Day_20260418] Song 1: pop | 低31/中64/高5%\n  🎵 948cf34e... → complete\n[23:59:53]    🎚️ [01_Good Day_20260418] Song 2: edm | 低32/中62/高6%\n[23:59:53] ✅ [01_Good Day_20260418] Step 3.5: 37.5s | 2 songs mixed\n[23:59:56] ✅ [01_Good Day_20260418] Step 4: 14.0s | /srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/01_Good Day_20260418/cover_seedream.jpg\n[23:59:56] 🎤 [01_Good Day_20260418] Step 3.6: Lyrics alignment (faster-whisper)...\n  🎵 6b090c38... → complete\n[00:00:07]    🎧 [02_잔소리_20260418] Song 1: https://cdn1.suno.ai/948cf34e-dec3-4485-8562-936d4112c403.mp3\n[00:00:07]    🎧 [02_잔소리_20260418] Song 2: https://cdn1.suno.ai/6b090c38-d341-4d52-9859-b5f287ac0415.mp3\n[00:00:07] 🎛️ [02_잔소리_20260418] Step 3.5: 混音...\n[00:00:30]    🎚️ [02_잔소리_20260418] Song 1: pop | 低54/中38/高8%\n[00:00:52]    🎚️ [02_잔소리_20260418] Song 2: pop | 低30/中60/高9%\n[00:00:52] ✅ [02_잔소리_20260418] Step 3.5: 44.8s | 2 songs mixed\n[00:00:54] ✅ [02_잔소리_20260418] Step 4: 15.7s | /srv/music-files-platform-next/pipeline/batch-20260418-235250-2ef77f/02_잔소리_20260418/cover_seedream.jpg\n[00:00:54] 🎤 [02_잔소리_20260418] Step 3.6: Lyrics alignment (faster-whisper)...\n[00:03:04] ✅ [01_Good Day_20260418] Step 3.6: confidence=0.96 | 22/23 lines | 141.1s\n[00:03:04] 📊 [01_Good Day_20260418] Step 3.8: Auto scoring (+ Gemini aesthetic)...\n[00:03:46] ✅ [01_Good Day_20260418] Step 3.8: S (8.61/10) | aesthetic=8.91 | flags=[]\n[00:06:17] ✅ [02_잔소리_20260418] Step 3.6: confidence=0.12 | 4/33 lines | 156.1s\n[00:06:17] 📊 [02_잔소리_20260418] Step 3.8: Auto scoring (+ Gemini aesthetic)...\n[00:06:40] ✅ [02_잔소리_20260418] Step 3.8: S (8.61/10) | aesthetic=8.97 | flags=[]\n\n======================================================================\nSUMMARY | 547s (9.1min)\n======================================================================\n✅ Done: 2 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 3\n[MasterDB] ✅ 批次 batch-20260418-235250-2ef77f → +2 新增, ~0 更新 | 总计 530 首\n",
    "stderr_tail": "[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml\n",
    "summary": {
      "timestamp": "2026-04-19T00:06:40.431697+08:00",
      "wall_clock": 546.5,
      "total": 5,
      "success": 2,
      "awaiting_step2": 0,
      "failed": 3
    }
  },
  "status": "success"
}