{
  "timestamp": "2026-06-27T22:19:46.525777+08:00",
  "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2",
  "profile": "__runtime_batch-20260627-221556-d4d2f2",
  "concurrency": 3,
  "resume_mode": "end",
  "pending_song_count": 5,
  "groups": [
    {
      "group_index": 1,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/03_梦中的额吉(蒙)_20260627",
        "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/04_月亮之上_20260627",
        "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/05_西楼儿女_20260627"
      ],
      "success_count": 3,
      "failed_count": 0,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/03_梦中的额吉(蒙)_20260627",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/03_梦中的额吉(蒙)_20260627/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-20260627-221556-d4d2f2/03_梦中的额吉(蒙)_20260627",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/03_梦中的额吉(蒙)_20260627/step2_json_b.json",
              "agent_summary": "API direct: 妈妈你还好吗",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/04_月亮之上_20260627",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/04_月亮之上_20260627/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-20260627-221556-d4d2f2/04_月亮之上_20260627",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/04_月亮之上_20260627/step2_json_b.json",
              "agent_summary": "API direct: 拦不住的心跳",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/05_西楼儿女_20260627",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/05_西楼儿女_20260627/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-20260627-221556-d4d2f2/05_西楼儿女_20260627",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/05_西楼儿女_20260627/step2_json_b.json",
              "agent_summary": "API direct: 体面这件事我还没学会",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        }
      ]
    },
    {
      "group_index": 2,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/06_荷塘月色_20260627",
        "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/07_一万个理由_20260627"
      ],
      "success_count": 2,
      "failed_count": 0,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/06_荷塘月色_20260627",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/06_荷塘月色_20260627/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-20260627-221556-d4d2f2/06_荷塘月色_20260627",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/06_荷塘月色_20260627/step2_json_b.json",
              "agent_summary": "API direct: 偏偏在最热闹处想你",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/07_一万个理由_20260627",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/07_一万个理由_20260627/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-20260627-221556-d4d2f2/07_一万个理由_20260627",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260627-221556-d4d2f2/07_一万个理由_20260627/step2_json_b.json",
              "agent_summary": "API direct: 早知道就不该学会不在乎",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        }
      ]
    }
  ],
  "resume": {
    "status": "success",
    "returncode": 0,
    "stdout_tail": "dio URL for '站在草原望北京', likely no license\n[22:27:29] 🔄 [02_站在草原望北京_20260627] Step 0: retry 2/2 in 10s...\n[22:27:41] ⚠️  [netease] No audio URL for '鸿雁', likely no license\n[22:27:41] ❌ [01_鸿雁_20260627] Step 0: No audio URL\n[22:27:42] ⚠️  [netease] No audio URL for '站在草原望北京', likely no license\n[22:27:42] ❌ [02_站在草原望北京_20260627] Step 0: No audio URL\n  ✅ submitted: ['b0f23a3e', 'f2152fc5']\n  🎵 b0f23a3e... → submitted\n  🎵 f2152fc5... → submitted\n  🎵 b0f23a3e... → queued\n  🎵 f2152fc5... → queued\n  🎵 b0f23a3e... → streaming\n  ✅ submitted: ['1525a307', '645e592d']\n  🎵 1525a307... → submitted\n  🎵 645e592d... → submitted\n  🎵 f2152fc5... → streaming\n  🎵 1525a307... → queued\n  🎵 645e592d... → queued\n  🎵 1525a307... → streaming\n  🎵 645e592d... → streaming\n  ✅ submitted: ['e24b3499', 'ee43bb2a']\n  🎵 e24b3499... → submitted\n  🎵 ee43bb2a... → submitted\n  🎵 e24b3499... → queued\n  🎵 ee43bb2a... → queued\n  🎵 ee43bb2a... → streaming\n  🎵 f2152fc5... → complete\n  🎵 b0f23a3e... → complete\n[22:30:53]    🎧 [03_梦中的额吉(蒙)_20260627] Song 1: https://cdn1.suno.ai/b0f23a3e-9c98-4fe1-99ee-3e422dd3ad08.mp3\n[22:30:53]    🎧 [03_梦中的额吉(蒙)_20260627] Song 2: https://cdn1.suno.ai/f2152fc5-da98-4eb5-835e-a5127e7c9b37.mp3\n[22:30:53] 🎛️ [03_梦中的额吉(蒙)_20260627] Step 3.5: 混音...\n  ✅ submitted: ['a04849d0', '1d22e1c0']\n[22:31:20]    🎚️ [03_梦中的额吉(蒙)_20260627] Song 1: pop | 低34/中62/高3%\n  ⏱  poll timeout, retry...\n  🎵 1525a307... → complete\n  🎵 645e592d... → complete\n[22:31:21]    🎧 [04_月亮之上_20260627] Song 1: https://cdn1.suno.ai/1525a307-016a-4fd0-af40-3e64b5654ad8.mp3\n[22:31:21]    🎧 [04_月亮之上_20260627] Song 2: https://cdn1.suno.ai/645e592d-7f32-4b82-93be-1079e9ef361b.mp3\n[22:31:21] 🎛️ [04_月亮之上_20260627] Step 3.5: 混音...\n  🎵 e24b3499... → streaming\n[22:31:40]    🎚️ [03_梦中的额吉(蒙)_20260627] Song 2: pop | 低58/中40/高2%\n[22:31:40] ✅ [03_梦中的额吉(蒙)_20260627] Step 3.5: 47.5s | 2 songs mixed\n  ✅ submitted: ['33da2b0f', '1b7ebe3d']\n[22:32:01]    🎚️ [04_月亮之上_20260627] Song 1: rock | 低50/中45/高6%\n  🎵 a04849d0... → streaming\n  🎵 1d22e1c0... → streaming\n  🎵 33da2b0f... → streaming\n  🎵 1b7ebe3d... → streaming\n[22:32:25]    🎚️ [04_月亮之上_20260627] Song 2: rock | 低52/中42/高6%\n[22:32:25] ✅ [04_月亮之上_20260627] Step 3.5: 64.1s | 2 songs mixed\n  🎵 ee43bb2a... → complete\n  🎵 1d22e1c0... → complete\n  🎵 a04849d0... → complete\n[22:33:39]    🎧 [06_荷塘月色_20260627] Song 1: https://cdn1.suno.ai/a04849d0-e3e3-44f7-a12c-f71094ed6b4c.mp3\n[22:33:39]    🎧 [06_荷塘月色_20260627] Song 2: https://cdn1.suno.ai/1d22e1c0-b6c1-4b31-897b-74caf125817b.mp3\n[22:33:39] 🎛️ [06_荷塘月色_20260627] Step 3.5: 混音...\n[22:34:03]    🎚️ [06_荷塘月色_20260627] Song 1: pop | 低54/中41/高5%\n[22:34:27]    🎚️ [06_荷塘月色_20260627] Song 2: pop | 低41/中52/高7%\n[22:34:27] ✅ [06_荷塘月色_20260627] Step 3.5: 47.4s | 2 songs mixed\n  🎵 e24b3499... → complete\n[22:34:27]    🎧 [05_西楼儿女_20260627] Song 1: https://cdn1.suno.ai/e24b3499-0954-481f-9594-f77d671bd144.mp3\n[22:34:27]    🎧 [05_西楼儿女_20260627] Song 2: https://cdn1.suno.ai/ee43bb2a-7399-4ec9-b621-7455daeb680d.mp3\n[22:34:27] 🎛️ [05_西楼儿女_20260627] Step 3.5: 混音...\n[22:34:45]    🎚️ [05_西楼儿女_20260627] Song 1: pop | 低51/中47/高2%\n[22:35:05]    🎚️ [05_西楼儿女_20260627] Song 2: pop | 低52/中46/高2%\n[22:35:05] ✅ [05_西楼儿女_20260627] Step 3.5: 37.6s | 2 songs mixed\n  🎵 1b7ebe3d... → complete\n  🎵 33da2b0f... → complete\n[22:35:22]    🎧 [07_一万个理由_20260627] Song 1: https://cdn1.suno.ai/33da2b0f-4723-4e47-9713-1f309d2a17d6.mp3\n[22:35:22]    🎧 [07_一万个理由_20260627] Song 2: https://cdn1.suno.ai/1b7ebe3d-c012-4f10-bb7c-414944a66fb4.mp3\n[22:35:22] 🎛️ [07_一万个理由_20260627] Step 3.5: 混音...\n[22:35:49]    🎚️ [07_一万个理由_20260627] Song 1: hip_hop | 低40/中55/高5%\n[22:36:16]    🎚️ [07_一万个理由_20260627] Song 2: edm | 低49/中48/高4%\n[22:36:16] ✅ [07_一万个理由_20260627] Step 3.5: 53.9s | 2 songs mixed\n\n======================================================================\nSUMMARY | 539s (9.0min)\n======================================================================\n✅ Done: 5 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 2\n[MasterDB] ✅ 批次 batch-20260627-221556-d4d2f2 → +5 新增, ~0 更新 | 总计 793 首\n",
    "stderr_tail": "[profile] ✅ Loaded profile '__runtime_batch-20260627-221556-d4d2f2' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260627-221556-d4d2f2.yaml\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\nUnclosed connection\nclient_connection: Connection<ConnectionKey(host='localhost', port=12138, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)>\n",
    "summary": {
      "timestamp": "2026-06-27T22:36:16.388436+08:00",
      "wall_clock": 539.4,
      "total": 7,
      "success": 5,
      "awaiting_step2": 0,
      "failed": 2
    }
  },
  "status": "success"
}