{
  "timestamp": "2026-03-31T00:32:05.499669+08:00",
  "batch_dir": "/srv/music-files/pipeline/batch-20260331-002922",
  "agent": "v3",
  "profile": "grammy",
  "thinking": "low",
  "timeout": 600,
  "concurrency": 3,
  "resume_mode": "each",
  "pending_song_count": 1,
  "groups": [
    {
      "group_index": 1,
      "songs": [
        "/srv/music-files/pipeline/batch-20260331-002922/01_Cruel Summer_20260331"
      ],
      "success_count": 1,
      "failed_count": 0,
      "results": [
        {
          "status": "success",
          "song_dir": "/srv/music-files/pipeline/batch-20260331-002922/01_Cruel Summer_20260331",
          "step2_file": "/srv/music-files/pipeline/batch-20260331-002922/01_Cruel Summer_20260331/step2_json_b.json",
          "title": "Neon Wounds",
          "notes": [],
          "run_id": "9b399461-f7f0-495c-b9d8-82790ce8439e",
          "agent_summary": "completed",
          "returncode": 0,
          "stderr": "[profile] ✅ Loaded profile 'grammy' from /home/debian/v3-workspace/skills/music-pipeline/scripts/profiles/grammy.yaml\n[step2] running OpenClaw for 01_Cruel Summer_20260331 with agent=v3 thinking=low",
          "attempt": 1,
          "attempts": [
            {
              "status": "success",
              "song_dir": "/srv/music-files/pipeline/batch-20260331-002922/01_Cruel Summer_20260331",
              "step2_file": "/srv/music-files/pipeline/batch-20260331-002922/01_Cruel Summer_20260331/step2_json_b.json",
              "title": "Neon Wounds",
              "notes": [],
              "run_id": "9b399461-f7f0-495c-b9d8-82790ce8439e",
              "agent_summary": "completed",
              "returncode": 0,
              "stderr": "[profile] ✅ Loaded profile 'grammy' from /home/debian/v3-workspace/skills/music-pipeline/scripts/profiles/grammy.yaml\n[step2] running OpenClaw for 01_Cruel Summer_20260331 with agent=v3 thinking=low",
              "attempt": 1
            }
          ]
        }
      ]
    }
  ],
  "resume": {
    "status": "success",
    "returncode": 0,
    "stdout_tail": "\n======================================================================\nmusic-pipeline3000 v2 | 1 songs\n======================================================================\nGemini concurrency: 2 | Suno concurrency: 3\nOutput: /srv/music-files/pipeline/batch-20260331-002922\nSkip Suno: False | Step1 only: False\n======================================================================\n\n[00:33:44] 🏥 Health check...\n[00:33:47] ✅ qishui: OK\n[00:33:47] ✅ netease: OK\n[00:33:47] ✅ qq: OK\n\n  📝 [01_Cruel Summer_20260331] lyrics stripped: 5530c → 1438c\n[00:33:47] 🎵 [01_Cruel Summer_20260331] Step 3: Suno generation...\n[00:33:47] 🎨 [01_Cruel Summer_20260331] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['1ee5bad9', '0bde930b']\n  🎵 1ee5bad9... → streaming\n  🎵 0bde930b... → streaming\n  🎵 1ee5bad9... → complete\n  🎵 0bde930b... → complete\n[00:36:13]    🎧 [01_Cruel Summer_20260331] Song 1: https://cdn1.suno.ai/1ee5bad9-b18e-4545-9975-a995f4d18f12.mp3\n[00:36:13]    🎧 [01_Cruel Summer_20260331] Song 2: https://cdn1.suno.ai/0bde930b-3fdb-40ba-823e-d1a7f984bd8b.mp3\n[00:36:13] 🎛️ [01_Cruel Summer_20260331] Step 3.5: 混音...\n[00:36:28]    🎚️ [01_Cruel Summer_20260331] Song 1: edm | 低58/中30/高12%\n[00:36:41]    🎚️ [01_Cruel Summer_20260331] Song 2: edm | 低60/中31/高9%\n[00:36:41] ✅ [01_Cruel Summer_20260331] Step 3.5: 28.2s | 2 songs mixed\n[00:36:44] ✅ [01_Cruel Summer_20260331] Step 4: 12.8s | /srv/music-files/pipeline/batch-20260331-002922/01_Cruel Summer_20260331/cover_seedream.jpg\n\n======================================================================\nSUMMARY | 177s (2.9min)\n======================================================================\n✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0\n\n[00:36:44] 📊 Step 5: Exporting to Feishu spreadsheet...\n[Feishu] ✅ Exported 1 songs to: https://ccnu62373cgc.feishu.cn/sheets/D37SsAj31hNqGgtl6yTci75Yn9b\n[Feishu] 📐 Expanded master sheet from 274 to 375 rows\n[Feishu] ✅ Appended 1 new songs to master sheet (rows 275-275)\n[MasterDB] ✅ 批次 batch-20260331-002922 → +1 新增, ~0 更新 | 总计 275 首\n[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/D37SsAj31hNq\n[00:36:56] 📨 Step 5: Sending files to Feishu IM...\n[Feishu IM] ✅ [Neon Wounds] cover sent\n[Feishu IM] ✅ [Neon Wounds] Neon Wounds_V1_raw.mp3 sent\n[Feishu IM] ✅ [Neon Wounds] Neon Wounds_V1_mixed.mp3 sent\n[Feishu IM] ✅ [Neon Wounds] Neon Wounds_V2_raw.mp3 sent\n[Feishu IM] ✅ [Neon Wounds] Neon Wounds_V2_mixed.mp3 sent\n[Feishu] ✅ Already on file server: /srv/music-files/pipeline/batch-20260331-002922\n[Feishu] 📦 Local files kept at: /srv/music-files/pipeline/batch-20260331-002922\n[MasterDB] ✅ 批次 batch-20260331-002922 → +1 新增, ~0 更新 | 总计 229 首\n",
    "stderr_tail": "[profile] ✅ Loaded profile 'grammy' from /home/debian/v3-workspace/skills/music-pipeline/scripts/profiles/grammy.yaml\n",
    "summary": {
      "timestamp": "2026-03-31T00:36:44.506362+08:00",
      "wall_clock": 176.6,
      "total": 1,
      "success": 1,
      "awaiting_step2": 0,
      "failed": 0,
      "feishu_url": "https://ccnu62373cgc.feishu.cn/sheets/D37SsAj31hNqGgtl6yTci75Yn9b"
    }
  },
  "status": "success"
}