{
  "timestamp": "2026-04-18T16:19:15.891511+08:00",
  "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5",
  "agent": "v3",
  "profile": "grammy",
  "thinking": "low",
  "timeout": 600,
  "concurrency": 3,
  "resume_mode": "each",
  "pending_song_count": 4,
  "groups": [
    {
      "group_index": 1,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/01_hotline bling_20260418",
        "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/02_La La Lost You_20260418",
        "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/03_I Like U_20260418"
      ],
      "success_count": 3,
      "failed_count": 0,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/01_hotline bling_20260418",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/01_hotline bling_20260418/step2_json_b.json",
          "run_id": null,
          "agent_summary": "API direct: 便利贴",
          "returncode": 0,
          "stderr": "",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/01_hotline bling_20260418",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/01_hotline bling_20260418/step2_json_b.json",
              "run_id": null,
              "agent_summary": "API direct: 便利贴",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/02_La La Lost You_20260418",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/02_La La Lost You_20260418/step2_json_b.json",
          "run_id": null,
          "agent_summary": "API direct: 旧便利贴",
          "returncode": 0,
          "stderr": "",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/02_La La Lost You_20260418",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/02_La La Lost You_20260418/step2_json_b.json",
              "run_id": null,
              "agent_summary": "API direct: 旧便利贴",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        },
        {
          "status": "success",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/03_I Like U_20260418",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/03_I Like U_20260418/step2_json_b.json",
          "run_id": null,
          "agent_summary": "API direct: 便利贴",
          "returncode": 0,
          "stderr": "",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/03_I Like U_20260418",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/03_I Like U_20260418/step2_json_b.json",
              "run_id": null,
              "agent_summary": "API direct: 便利贴",
              "returncode": 0,
              "stderr": "",
              "attempt": 1
            }
          ]
        }
      ]
    },
    {
      "group_index": 2,
      "songs": [
        "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/04_lowkey_20260418"
      ],
      "success_count": 0,
      "failed_count": 1,
      "results": [
        {
          "status": "error",
          "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/04_lowkey_20260418",
          "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/04_lowkey_20260418/step2_json_b.json",
          "error_type": "api_error",
          "error": "step1_json_a.json not found",
          "run_id": null,
          "agent_summary": null,
          "returncode": 1,
          "stderr": "step1_json_a.json not found",
          "attempt": 2,
          "attempts": [
            {
              "status": "error",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/04_lowkey_20260418",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/04_lowkey_20260418/step2_json_b.json",
              "error_type": "api_error",
              "error": "step1_json_a.json not found",
              "run_id": null,
              "agent_summary": null,
              "returncode": 1,
              "stderr": "step1_json_a.json not found",
              "attempt": 1
            },
            {
              "status": "error",
              "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/04_lowkey_20260418",
              "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/04_lowkey_20260418/step2_json_b.json",
              "error_type": "api_error",
              "error": "step1_json_a.json not found",
              "run_id": null,
              "agent_summary": null,
              "returncode": 1,
              "stderr": "step1_json_a.json not found",
              "attempt": 2
            }
          ]
        }
      ]
    }
  ],
  "resume": {
    "status": "success",
    "returncode": 0,
    "stdout_tail": "4] ✅ [04_lowkey_20260418] Step 2.5: originality 59% ✓\n[16:22:34] ✅ [04_lowkey_20260418] Step 2: 《Twice Removed》\n[16:22:34] 📁 [04_lowkey_20260418] Renamed → 04_lowkey_Twice_Removed_20260418\n  📝 [04_lowkey_Twice_Removed_20260418] lyrics stripped: 4804c → 4797c\n[16:22:34] 🎵 [04_lowkey_Twice_Removed_20260418] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[16:22:34] 🎨 [04_lowkey_Twice_Removed_20260418] Step 4: SeeDream cover (parallel)...\n  🎵 a5562cef... → complete\n  🎵 b9cc9c20... → complete\n  🎵 4cd58435... → complete\n[16:22:34]    🎧 [03_I Like U_20260418] Song 1: https://cdn1.suno.ai/b9cc9c20-564b-4642-b430-9b293212199e.mp3\n[16:22:34]    🎧 [03_I Like U_20260418] Song 2: https://cdn1.suno.ai/4cd58435-6651-480b-b338-da6f5702a014.mp3\n[16:22:34] 🎛️ [03_I Like U_20260418] Step 3.5: 混音...\n  ⚠️  captcha token rejected (422), waiting 260s for cache expiry...\n[16:22:47]    🎚️ [01_hotline bling_20260418] Song 2: pop | 低28/中70/高2%\n[16:22:47] ✅ [01_hotline bling_20260418] Step 3.5: 30.8s | 2 songs mixed\n[16:23:04]    🎚️ [03_I Like U_20260418] Song 1: pop | 低54/中42/高4%\n[16:23:04] ✅ [01_hotline bling_20260418] Step 4: 15.5s | /srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/01_hotline bling_20260418/cover_seedream.jpg\n[16:23:04] 🎤 [01_hotline bling_20260418] Step 3.6: Lyrics alignment (faster-whisper)...\n[16:23:25]    🎚️ [03_I Like U_20260418] Song 2: pop | 低68/中28/高4%\n[16:23:25] ✅ [03_I Like U_20260418] Step 3.5: 50.9s | 2 songs mixed\n  🎵 b33baa41... → complete\n[16:23:25]    🎧 [02_La La Lost You_20260418] Song 1: https://cdn1.suno.ai/a5562cef-0447-4b14-8075-60bf0ab2717b.mp3\n[16:23:25]    🎧 [02_La La Lost You_20260418] Song 2: https://cdn1.suno.ai/b33baa41-c7a1-401d-b419-b398b9b191ee.mp3\n[16:23:25] 🎛️ [02_La La Lost You_20260418] Step 3.5: 混音...\n[16:23:43]    🎚️ [02_La La Lost You_20260418] Song 1: pop | 低62/中37/高2%\n[16:23:43] ✅ [03_I Like U_20260418] Step 4: 16.2s | /srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/03_I Like U_20260418/cover_seedream.jpg\n[16:23:43] 🎤 [03_I Like U_20260418] Step 3.6: Lyrics alignment (faster-whisper)...\n[16:24:02]    🎚️ [02_La La Lost You_20260418] Song 2: pop | 低52/中44/高4%\n[16:24:02] ✅ [02_La La Lost You_20260418] Step 3.5: 37.1s | 2 songs mixed\n[16:24:03] ✅ [02_La La Lost You_20260418] Step 4: 16.7s | /srv/music-files-platform-next/pipeline/batch-20260418-161620-cc52f5/02_La La Lost You_20260418/cover_seedream.jpg\n[16:24:03] 🎤 [02_La La Lost You_20260418] Step 3.6: Lyrics alignment (faster-whisper)...\n[16:25:09] ✅ [01_hotline bling_20260418] Step 3.6: confidence=1.0 | 21/21 lines | 124.6s\n[16:25:09] 📊 [01_hotline bling_20260418] Step 3.8: Auto scoring (+ Gemini aesthetic)...\n[16:25:15] ✅ [01_hotline bling_20260418] Step 3.8: A (8.44/10) | aesthetic=8.62 | flags=[]\n  🔄 retry #1...\n  ✅ submitted: ['eb79205b', '047ec342']\n  🎵 eb79205b... → submitted\n  🎵 047ec342... → submitted\n  🎵 eb79205b... → error\n  🎵 047ec342... → error\n  ⚠️  2 song(s) failed, returning 0 complete\n[16:27:24] ❌ [04_lowkey_Twice_Removed_20260418] Step 3: upstream_failed | Your tags contain producer tag lowlight - we don't reference specific artists on Suno, please change your tags and try again.\n[16:29:51] ✅ [03_I Like U_20260418] Step 3.6: confidence=1.0 | 47/47 lines | 282.5s\n[16:29:51] 📊 [03_I Like U_20260418] Step 3.8: Auto scoring (+ Gemini aesthetic)...\n[16:29:58] ✅ [03_I Like U_20260418] Step 3.8: A (8.47/10) | aesthetic=8.35 | flags=[]\n[16:32:12] ✅ [02_La La Lost You_20260418] Step 3.6: confidence=1.0 | 45/45 lines | 140.6s\n[16:32:12] 📊 [02_La La Lost You_20260418] Step 3.8: Auto scoring (+ Gemini aesthetic)...\n[16:32:46] ✅ [02_La La Lost You_20260418] Step 3.8: A (8.11/10) | aesthetic=8.6 | flags=[]\n\n======================================================================\nSUMMARY | 718s (12.0min)\n======================================================================\n✅ Done: 3 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1\n[MasterDB] ✅ 批次 batch-20260418-161620-cc52f5 → +3 新增, ~0 更新 | 总计 437 首\n",
    "stderr_tail": "[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml\n",
    "summary": {
      "timestamp": "2026-04-18T16:32:46.176787+08:00",
      "wall_clock": 717.8,
      "total": 4,
      "success": 3,
      "awaiting_step2": 0,
      "failed": 1
    }
  },
  "status": "partial_failure"
}