{
  "timestamp": "2026-04-27T00:35:55.258718+08:00",
  "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8",
  "profile": "xiachen",
  "concurrency": 3,
  "resume_mode": "each",
  "pending_song_count": 2,
  "groups": [
    {
      "group_index": 1,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/02_奢香夫人_20260427",
        "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/03_我期待的不是雪_20260427"
      ],
      "success_count": 1,
      "failed_count": 1,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/02_奢香夫人_20260427",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/02_奢香夫人_20260427/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-20260427-003354-21fbb8/02_奢香夫人_20260427",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/02_奢香夫人_20260427/step2_json_b.json",
              "agent_summary": "API direct: 回不去的地方才叫故乡",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "error",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/03_我期待的不是雪_20260427",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/03_我期待的不是雪_20260427/step2_json_b.json",
          "error_type": "api_error",
          "error": "All 2 attempts failed: JSON parse error: Expecting ',' delimiter: line 5 column 1316 (char 2309)",
          "agent_summary": null,
          "returncode": 1,
          "stderr": "All 2 attempts failed: JSON parse error: Expecting ',' delimiter: line 5 column 1316 (char 2309)",
          "attempt": 2,
          "attempts": [
            {
              "status": "error",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/03_我期待的不是雪_20260427",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/03_我期待的不是雪_20260427/step2_json_b.json",
              "error_type": "api_error",
              "error": "All 2 attempts failed: JSON parse error: Expecting ',' delimiter: line 5 column 1291 (char 2282)",
              "agent_summary": null,
              "returncode": 1,
              "stderr": "All 2 attempts failed: JSON parse error: Expecting ',' delimiter: line 5 column 1291 (char 2282)",
              "attempt": 1
            },
            {
              "status": "error",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/03_我期待的不是雪_20260427",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/03_我期待的不是雪_20260427/step2_json_b.json",
              "error_type": "api_error",
              "error": "All 2 attempts failed: JSON parse error: Expecting ',' delimiter: line 5 column 1316 (char 2309)",
              "agent_summary": null,
              "returncode": 1,
              "stderr": "All 2 attempts failed: JSON parse error: Expecting ',' delimiter: line 5 column 1316 (char 2309)",
              "attempt": 2
            }
          ]
        }
      ]
    }
  ],
  "resume": {
    "status": "success",
    "returncode": 0,
    "stdout_tail": "\n======================================================================\nmusic-pipeline3000 v2 | 3 songs\n======================================================================\nGemini concurrency: 2 | Suno concurrency: 3\nOutput: /srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[00:39:04] 🏥 Health check...\n[00:39:06] ✅ qishui: OK\n[00:39:06] ✅ netease: OK\n[00:39:06] ✅ qq: OK\n\n[00:39:06] 🔍 [01_晚风与你_20260427] Step 0: Fetching...\n[00:39:06] 🌐 [03_我期待的不是雪_20260427] Step 2: target_language=auto → lang_mode=AUTO\n[00:39:06] 🤖 [03_我期待的不是雪_20260427] Step 2 API: 12744 chars ≈ 3186 tokens → claude-sonnet-4-6\n  📝 [02_奢香夫人_20260427] lyrics stripped: 2814c → 2806c\n[00:39:06] 🎵 [02_奢香夫人_20260427] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[00:39:06] 🎨 [02_奢香夫人_20260427] Step 4: SeeDream cover (parallel)...\n[00:39:10] ⚠️  [qq] '晚风与你' too short (90s < 120s), likely a cover/clip, skipping\n[00:39:10] 🔄 [01_晚风与你_20260427] Step 0: retry 1/2 in 5s...\n[00:39:15] ⚠️  [qq] '晚风与你' too short (90s < 120s), likely a cover/clip, skipping\n[00:39:15] 🔄 [01_晚风与你_20260427] Step 0: retry 2/2 in 10s...\n[00:39:25] ⚠️  [qq] '晚风与你' too short (90s < 120s), likely a cover/clip, skipping\n[00:39:25] ❌ [01_晚风与你_20260427] Step 0: No audio URL\n[00:39:45] ⚠️  [03_我期待的不是雪_20260427] Step 2 API attempt 1: JSON parse error: Expecting ',' delimiter: line 5 column 1330 (char 2322)\n  ✅ submitted: ['3a74e376', '3e967f4a']\n  🎵 3a74e376... → submitted\n  🎵 3e967f4a... → submitted\n  🎵 3a74e376... → queued\n  🎵 3e967f4a... → queued\n  🎵 3a74e376... → streaming\n  🎵 3e967f4a... → streaming\n[00:40:26] ⚠️  [03_我期待的不是雪_20260427] Step 2 API attempt 2: JSON parse error: Expecting ',' delimiter: line 5 column 1291 (char 2282)\n  🎵 3a74e376... → complete\n  🎵 3e967f4a... → complete\n[00:42:56]    🎧 [02_奢香夫人_20260427] Song 1: https://cdn1.suno.ai/3a74e376-abfa-4bd0-a2a8-ffd5e17deac7.mp3\n[00:42:56]    🎧 [02_奢香夫人_20260427] Song 2: https://cdn1.suno.ai/3e967f4a-8b27-4d41-b62e-156680c3814b.mp3\n[00:42:56] 🎛️ [02_奢香夫人_20260427] Step 3.5: 混音...\n[00:43:23]    🎚️ [02_奢香夫人_20260427] Song 1: pop | 低47/中47/高7%\n[00:43:46]    🎚️ [02_奢香夫人_20260427] Song 2: pop | 低44/中49/高7%\n[00:43:46] ✅ [02_奢香夫人_20260427] Step 3.5: 50.0s | 2 songs mixed\n[00:43:48] ✅ [02_奢香夫人_20260427] Step 4: 14.3s | /srv/music-files-platform-next/pipeline/batch-20260427-003354-21fbb8/02_奢香夫人_20260427/cover_seedream.jpg\n\n======================================================================\nSUMMARY | 282s (4.7min)\n======================================================================\n✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 2\n[MasterDB] ✅ 批次 batch-20260427-003354-21fbb8 → +1 新增, ~0 更新 | 总计 602 首\n",
    "stderr_tail": "[profile] ✅ Loaded profile 'xiachen' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/xiachen.yaml\n",
    "summary": {
      "timestamp": "2026-04-27T00:43:48.480135+08:00",
      "wall_clock": 281.9,
      "total": 3,
      "success": 1,
      "awaiting_step2": 0,
      "failed": 2
    }
  },
  "status": "partial_failure"
}