
=== 2026-04-27 21:51:41 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260427-215141-62b4a8 --target-language zh --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260427-215141-62b4a8' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260427-215141-62b4a8.yaml
[   INFO   ] MusicExtractorSVM: no classifier models were configured by default
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
[   INFO   ] FrameCutter: dropping incomplete frame
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
[   INFO   ] FrameCutter: dropping incomplete frame
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
[   INFO   ] FrameCutter: dropping incomplete frame
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
[   INFO   ] FrameCutter: dropping incomplete frame
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
[   INFO   ] FrameCutter: dropping incomplete frame
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')

======================================================================
music-pipeline3000 v2 | 7 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[21:51:43] 🏥 Health check...
[21:51:46] ✅ qishui: OK
[21:51:46] ✅ netease: OK
[21:51:46] ✅ qq: OK

[21:51:46] 🔍 [01_很可爱的歌_20260427] Step 0: Fetching...
[21:51:46] 🔍 [02_12 MIC feat. 肥宝_20260427] Step 0: Fetching...
[21:51:46] 🔍 [03_月光 moonlight feat. Mahya_20260427] Step 0: Fetching...
[21:51:46] 🔍 [04_自己做决定 ( Live at Blue Note Beijing )_20260427] Step 0: Fetching...
[21:51:46] 🔍 [05_Bonjour & Goodnight (Album Version)_20260427] Step 0: Fetching...
[21:51:46] 🔍 [06_伸手摘下了 ( Live at Blue Note Beijing )_20260427] Step 0: Fetching...
[21:51:46] 🔍 [07_焦点 / Highlight_20260427] Step 0: Fetching...
[21:51:48] ✅ [02_12 MIC feat. 肥宝_20260427] Step 0: netease | 1535c
[21:51:48] ⬇️  [02_12 MIC feat. 肥宝_20260427] Step 0.5: Download from netease...
[21:51:48] ✅ [03_月光 moonlight feat. Mahya_20260427] Step 0: netease | 1048c
[21:51:48] ⬇️  [03_月光 moonlight feat. Mahya_20260427] Step 0.5: Download from netease...
[21:51:49] ✅ [01_很可爱的歌_20260427] Step 0: netease | 781c
[21:51:49] ⬇️  [01_很可爱的歌_20260427] Step 0.5: Download from netease...
[21:51:49] 🔄 [04_自己做决定 ( Live at Blue Note Beijing )_20260427] Step 0: retry 1/2 in 5s...
[21:51:49] 🔄 [06_伸手摘下了 ( Live at Blue Note Beijing )_20260427] Step 0: retry 1/2 in 5s...
[21:51:51] ✅ [05_Bonjour & Goodnight (Album Version)_20260427] Step 0: netease | 1064c
[21:51:51] ⬇️  [05_Bonjour & Goodnight (Album Version)_20260427] Step 0.5: Download from netease...
[21:51:52] ✅ [07_焦点 / Highlight_20260427] Step 0: netease | 1689c
[21:51:52] ⬇️  [07_焦点 / Highlight_20260427] Step 0.5: Download from netease...
[21:51:55] 🔄 [04_自己做决定 ( Live at Blue Note Beijing )_20260427] Step 0: retry 2/2 in 10s...
[21:51:55] 🔄 [06_伸手摘下了 ( Live at Blue Note Beijing )_20260427] Step 0: retry 2/2 in 10s...
[21:51:55] ✅ [02_12 MIC feat. 肥宝_20260427] Step 0.5: 4736329 bytes | 257.5s
[21:51:55] 🔬 [02_12 MIC feat. 肥宝_20260427] Step 0.75: Audio features...
[21:52:08] ✅ [01_很可爱的歌_20260427] Step 0.5: 5600146 bytes | 294.4s
[21:52:08] 🔬 [01_很可爱的歌_20260427] Step 0.75: Audio features...
[21:52:08] ✅ [07_焦点 / Highlight_20260427] Step 0.5: 4199318 bytes | 260.6s
[21:52:08] 🔬 [07_焦点 / Highlight_20260427] Step 0.75: Audio features...
[21:52:08] ✅ [05_Bonjour & Goodnight (Album Version)_20260427] Step 0.5: 6316663 bytes | 327.9s
[21:52:08] 🔬 [05_Bonjour & Goodnight (Album Version)_20260427] Step 0.75: Audio features...
[21:52:08] ✅ [03_月光 moonlight feat. Mahya_20260427] Step 0.5: 4351902 bytes | 197.2s
[21:52:08] 🔬 [03_月光 moonlight feat. Mahya_20260427] Step 0.75: Audio features...
[21:52:08] ❌ [04_自己做决定 ( Live at Blue Note Beijing )_20260427] Step 0: No audio URL
[21:52:08] ❌ [06_伸手摘下了 ( Live at Blue Note Beijing )_20260427] Step 0: No audio URL
[21:52:38] ✅ [02_12 MIC feat. 肥宝_20260427] Step 0.75: BPM=89.98 Key=G# minor (42.7s)
[21:52:38] 🧠 [02_12 MIC feat. 肥宝_20260427] Step 1: Gemini (queuing)...
[21:52:38] 🌐 Step 1: target_language=zh (injecting override directive)
[21:52:56] ✅ [01_很可爱的歌_20260427] Step 0.75: BPM=124.32 Key=G major (48.5s)
[21:52:56] 🧠 [01_很可爱的歌_20260427] Step 1: Gemini (queuing)...
[21:52:56] 🌐 Step 1: target_language=zh (injecting override directive)
[21:53:22] ✅ [07_焦点 / Highlight_20260427] Step 0.75: BPM=91.98 Key=F minor (44.0s)
[21:53:22] 🧠 [07_焦点 / Highlight_20260427] Step 1: Gemini (queuing)...
[21:53:22] 🌐 Step 1: target_language=zh (injecting override directive)
[21:53:38] ✅ [05_Bonjour & Goodnight (Album Version)_20260427] Step 0.75: BPM=85.01 Key=E major (41.3s)
[21:53:38] 🧠 [05_Bonjour & Goodnight (Album Version)_20260427] Step 1: Gemini (queuing)...
[21:53:38] 🌐 Step 1: target_language=zh (injecting override directive)
[21:53:43] ✅ [03_月光 moonlight feat. Mahya_20260427] Step 0.75: BPM=95.98 Key=A major (20.7s)
[21:53:43] 🧠 [03_月光 moonlight feat. Mahya_20260427] Step 1: Gemini (queuing)...
[21:53:43] 🌐 Step 1: target_language=zh (injecting override directive)
  📊 Gemini official: 35s | prompt_tokens=12217 completion=1861
[21:54:13] ✅ [02_12 MIC feat. 肥宝_20260427] Step 1: 35.3s | prompt=848c | prompt_ok=True lyrics_ok=True
  📊 Gemini official: 36s | prompt_tokens=13122 completion=1384
[21:54:18] ✅ [01_很可爱的歌_20260427] Step 1: 35.5s | prompt=861c | prompt_ok=True lyrics_ok=True
  📊 Gemini official: 35s | prompt_tokens=14216 completion=1321
[21:54:54] ✅ [05_Bonjour & Goodnight (Album Version)_20260427] Step 1: 35.4s | prompt=930c | prompt_ok=True lyrics_ok=True
  📊 Gemini official: 41s | prompt_tokens=12473 completion=1790
[21:54:54] ✅ [07_焦点 / Highlight_20260427] Step 1: 41.1s | prompt=953c | prompt_ok=True lyrics_ok=True
  📊 Gemini official: 43s | prompt_tokens=10099 completion=1497
[21:55:37] ✅ [03_月光 moonlight feat. Mahya_20260427] Step 1: 43.4s | prompt=915c | prompt_ok=True lyrics_ok=True

======================================================================
SUMMARY | 231s (3.9min)
======================================================================
✅ Done: 5 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 2
[MasterDB] ✅ 批次 batch-20260427-215141-62b4a8 → +0 新增, ~0 更新 | 总计 602 首
[exit 0]

=== 2026-04-27 21:55:38 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8 --profile base --resume-mode each --skip-feishu --target-language zh ===
[phase2] batch=batch-20260427-215141-62b4a8 pending=4 groups=2
[phase2] group 1/2 -> 01_很可爱的歌_20260427, 02_12 MIC feat. 肥宝_20260427, 03_月光 moonlight feat. Mahya_20260427
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml
[phase2] 🌐 01_很可爱的歌_20260427: target_language=zh
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml
[phase2] 🌐 02_12 MIC feat. 肥宝_20260427: target_language=zh
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml
[phase2] 🌐 03_月光 moonlight feat. Mahya_20260427: target_language=zh
[phase2] resume -> /usr/bin/python3 /srv/repos/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8 --profile base --skip-feishu
[phase2] group 2/2 -> all songs already handled, skipping
[21:55:39] 🌐 [01_很可爱的歌_20260427] Step 2: target_language=zh → lang_mode=ZH
[21:55:39] 🤖 [01_很可爱的歌_20260427] Step 2 API: 30196 chars ≈ 7549 tokens → claude-sonnet-4-6
[21:55:39] 🌐 [02_12 MIC feat. 肥宝_20260427] Step 2: target_language=zh → lang_mode=ZH
[21:55:39] 🤖 [02_12 MIC feat. 肥宝_20260427] Step 2 API: 31221 chars ≈ 7805 tokens → claude-sonnet-4-6
[21:55:39] 🌐 [03_月光 moonlight feat. Mahya_20260427] Step 2: target_language=zh → lang_mode=ZH
[21:55:39] 🤖 [03_月光 moonlight feat. Mahya_20260427] Step 2 API: 30441 chars ≈ 7610 tokens → claude-sonnet-4-6
[21:56:17] ⚠️  [01_很可爱的歌_20260427] Step 2 API: originality 64% < 85% | 5 copied phrases
          ❗ "Dalalala~ Dalalala~ Dalalala~" ~ "Dalalala~ Dalalala~ Dalalala~" (100%)
          ❗ "Dalalala~ Dalalala~ Dalalala~" ~ "Dalalala~ Dalalala~ Dalalala~" (100%)
          ❗ "Dalalala~ Dalalala~ Dalalala~" ~ "Dalalala~ Dalalala~ Dalalala~" (100%)
          ❗ "Dalalala~ Dalalala~ Dalalala~" ~ "Dalalala~ Dalalala~ Dalalala~" (100%)
          ❗ "Dalalala~ Dalalala~ Dalalala~" ~ "Dalalala~ Dalalala~ Dalalala~" (100%)
[21:56:17] 🔄 [01_很可爱的歌_20260427] Step 2 API: originality retry 1/3...
[21:56:27] ⚠️  [03_月光 moonlight feat. Mahya_20260427] Step 2 API attempt 1: JSON parse error: Expecting ',' delimiter: line 5 column 1814 (char 2817)
[21:56:46] ⚠️  [02_12 MIC feat. 肥宝_20260427] Step 2 API: originality 83% < 85% | 1 copied phrases
          ❗ "layered with more DJ scratches, fading out slowly.)" ~ "layered with more DJ scratches, fading out slowly.)" (100%)
[21:56:46] 🔄 [02_12 MIC feat. 肥宝_20260427] Step 2 API: originality retry 1/3...
[21:56:53] ⚠️  [01_很可爱的歌_20260427] Step 2 API originality retry 1 failed: Expecting value: line 1 column 1 (char 0)
[21:56:53] ⚠️  [01_很可爱的歌_20260427] Step 2 API: best originality 64% after 3 retries
[21:56:53] ✅ [01_很可爱的歌_20260427] Step 2 API: 《偷懒假期》 | 38.5s | in=16522 out=2335 | ~$0.085
[21:57:16] ⚠️  [03_月光 moonlight feat. Mahya_20260427] Step 2 API: originality 79% < 85% | 0 copied phrases
[21:57:16] 🔄 [03_月光 moonlight feat. Mahya_20260427] Step 2 API: originality retry 1/3...
[21:57:51] ✅ [02_12 MIC feat. 肥宝_20260427] Step 2 API retry 1: originality 85% ✓
[21:57:51] ✅ [02_12 MIC feat. 肥宝_20260427] Step 2 API: 《旧味道》 | 132.2s | in=37681 out=6019 | ~$0.203
[21:57:59] ⚠️  [03_月光 moonlight feat. Mahya_20260427] Step 2 API retry 1: originality 77%
[21:57:59] 🔄 [03_月光 moonlight feat. Mahya_20260427] Step 2 API: originality retry 2/3...
[21:58:48] ⚠️  [03_月光 moonlight feat. Mahya_20260427] Step 2 API retry 2: originality 78%
[21:58:48] 🔄 [03_月光 moonlight feat. Mahya_20260427] Step 2 API: originality retry 3/3...
[21:59:39] ⚠️  [03_月光 moonlight feat. Mahya_20260427] Step 2 API originality retry 3 failed: Expecting value: line 1 column 1 (char 0)
[21:59:39] ⚠️  [03_月光 moonlight feat. Mahya_20260427] Step 2 API: best originality 79% after 3 retries
[21:59:39] ✅ [03_月光 moonlight feat. Mahya_20260427] Step 2 API: 《留格》 | 141.8s | in=58585 out=7679 | ~$0.291
{"timestamp": "2026-04-27T21:55:38.898174+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8", "profile": "base", "concurrency": 3, "resume_mode": "each", "pending_song_count": 4, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/01_很可爱的歌_20260427", "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/02_12 MIC feat. 肥宝_20260427", "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/03_月光 moonlight feat. Mahya_20260427"], "success_count": 3, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/01_很可爱的歌_20260427", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/01_很可爱的歌_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-215141-62b4a8/01_很可爱的歌_20260427", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/01_很可爱的歌_20260427/step2_json_b.json", "agent_summary": "API direct: 偷懒假期", "returncode": 0, "stderr": "", "attempt": 1}]}, {"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/02_12 MIC feat. 肥宝_20260427", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/02_12 MIC feat. 肥宝_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-215141-62b4a8/02_12 MIC feat. 肥宝_20260427", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/02_12 MIC feat. 肥宝_20260427/step2_json_b.json", "agent_summary": "API direct: 旧味道", "returncode": 0, "stderr": "", "attempt": 1}]}, {"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/03_月光 moonlight feat. Mahya_20260427", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/03_月光 moonlight feat. Mahya_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-215141-62b4a8/03_月光 moonlight feat. Mahya_20260427", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/03_月光 moonlight feat. Mahya_20260427/step2_json_b.json", "agent_summary": "API direct: 留格", "returncode": 0, "stderr": "", "attempt": 1}]}]}], "resume": {"status": "success", "returncode": 0, "stdout_tail": "0427] Step 2 API: best originality 79% after 3 retries\n[22:03:13] ✅ [07_焦点 / Highlight_20260427] Step 2 API: 《潮水退后》 | 149.2s | in=60306 out=8381 | ~$0.307\n[22:03:13] ✅ [07_焦点 / Highlight_20260427] Step 2.5: originality 79% ✓\n[22:03:13] ✅ [07_焦点 / Highlight_20260427] Step 2: 《潮水退后》\n[22:03:13] 📁 [07_焦点 / Highlight_20260427] Renamed → 07_焦点 / Highlight_潮水退后_20260427\n  📝 [07_焦点 / Highlight_潮水退后_20260427] lyrics stripped: 2646c → 2640c\n[22:03:13] 🎵 [07_焦点 / Highlight_潮水退后_20260427] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[22:03:13] 🎨 [07_焦点 / Highlight_潮水退后_20260427] Step 4: SeeDream cover (parallel)...\n  🎵 9ecdd198... → complete\n[22:03:13]    🎧 [03_月光 moonlight feat. Mahya_20260427] Song 1: https://cdn1.suno.ai/9ecdd198-cd8c-4b12-b8e5-52b73eaf9676.mp3\n[22:03:13]    🎧 [03_月光 moonlight feat. Mahya_20260427] Song 2: https://cdn1.suno.ai/59b150fd-56b8-4128-8464-f0e595a2185b.mp3\n[22:03:13] 🎛️ [03_月光 moonlight feat. Mahya_20260427] Step 3.5: 混音...\n[22:03:34]    🎚️ [03_月光 moonlight feat. Mahya_20260427] Song 1: pop | 低68/中28/高3%\n  ✅ submitted: ['d87f8a94', '93d869ce']\n  🎵 d87f8a94... → queued\n  🎵 93d869ce... → streaming\n[22:03:51]    🎚️ [03_月光 moonlight feat. Mahya_20260427] Song 2: edm | 低57/中40/高4%\n[22:03:51] ✅ [03_月光 moonlight feat. Mahya_20260427] Step 3.5: 37.7s | 2 songs mixed\n  🎵 d87f8a94... → streaming\n[22:03:53] ✅ [03_月光 moonlight feat. Mahya_20260427] Step 4: 16.2s | /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/03_月光 moonlight feat. Mahya_20260427/cover_seedream.jpg\n  🎵 58bd976b... → complete\n  🎵 f8af0a13... → complete\n  🎵 c9d065fb... → complete\n[22:04:19]    🎧 [01_很可爱的歌_20260427] Song 1: https://cdn1.suno.ai/c9d065fb-3c47-49a1-b08a-3fe7b560a30d.mp3\n[22:04:19]    🎧 [01_很可爱的歌_20260427] Song 2: https://cdn1.suno.ai/f8af0a13-d738-45c1-bdb0-87a3d2c4e90f.mp3\n[22:04:19] 🎛️ [01_很可爱的歌_20260427] Step 3.5: 混音...\n[22:04:38]    🎚️ [01_很可爱的歌_20260427] Song 1: edm | 低56/中41/高3%\n  🎵 513d5714... → complete\n[22:04:39]    🎧 [02_12 MIC feat. 肥宝_20260427] Song 1: https://cdn1.suno.ai/58bd976b-e282-4576-ad79-7dbbcd64685f.mp3\n[22:04:39]    🎧 [02_12 MIC feat. 肥宝_20260427] Song 2: https://cdn1.suno.ai/513d5714-711d-4f0c-b6eb-6558edcdec64.mp3\n[22:04:39] 🎛️ [02_12 MIC feat. 肥宝_20260427] Step 3.5: 混音...\n[22:04:54]    🎚️ [01_很可爱的歌_20260427] Song 2: edm | 低53/中44/高3%\n[22:04:54] ✅ [01_很可爱的歌_20260427] Step 3.5: 35.2s | 2 songs mixed\n[22:05:16]    🎚️ [02_12 MIC feat. 肥宝_20260427] Song 1: edm | 低64/中33/高4%\n[22:05:16] ✅ [01_很可爱的歌_20260427] Step 4: 17.1s | /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/01_很可爱的歌_20260427/cover_seedream.jpg\n[22:05:37]    🎚️ [02_12 MIC feat. 肥宝_20260427] Song 2: jazz | 低63/中36/高2%\n[22:05:37] ✅ [02_12 MIC feat. 肥宝_20260427] Step 3.5: 58.1s | 2 songs mixed\n[22:05:38] ✅ [02_12 MIC feat. 肥宝_20260427] Step 4: 15.7s | /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/02_12 MIC feat. 肥宝_20260427/cover_seedream.jpg\n  🎵 93d869ce... → complete\n  🎵 d87f8a94... → complete\n[22:06:56]    🎧 [07_焦点 / Highlight_潮水退后_20260427] Song 1: https://cdn1.suno.ai/d87f8a94-bfb7-4e56-acc6-9da276826e3a.mp3\n[22:06:56]    🎧 [07_焦点 / Highlight_潮水退后_20260427] Song 2: https://cdn1.suno.ai/93d869ce-2a9e-4fca-970f-c65517b465c3.mp3\n[22:06:56] 🎛️ [07_焦点 / Highlight_潮水退后_20260427] Step 3.5: 混音...\n[22:07:14]    🎚️ [07_焦点 / Highlight_潮水退后_20260427] Song 1: pop | 低58/中39/高3%\n[22:07:32]    🎚️ [07_焦点 / Highlight_潮水退后_20260427] Song 2: pop | 低57/中39/高4%\n[22:07:32] ✅ [07_焦点 / Highlight_潮水退后_20260427] Step 3.5: 36.0s | 2 songs mixed\n[22:07:34] ✅ [07_焦点 / Highlight_潮水退后_20260427] Step 4: 38.1s | /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8/07_焦点 / Highlight_潮水退后_20260427/cover_seedream.jpg\n\n======================================================================\nSUMMARY | 470s (7.8min)\n======================================================================\n✅ Done: 4 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 2\n[MasterDB] ✅ 批次 batch-20260427-215141-62b4a8 → +4 新增, ~0 更新 | 总计 606 首\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-27T22:07:34.915858+08:00", "wall_clock": 470.3, "total": 7, "success": 4, "awaiting_step2": 0, "failed": 2}}, "status": "success"}
[exit 0]

=== 2026-04-27 22:07:36 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8 ===
[Feishu] ✅ Exported 3 songs to: https://ccnu62373cgc.feishu.cn/sheets/FyiHs7qF8hxPI5tKqdlcsQa1nkb
[Feishu] 📐 Expanded master sheet from 544 to 647 rows
[Feishu] ✅ Appended 3 new songs to master sheet (rows 545-547)
[MasterDB] ✅ 批次 batch-20260427-215141-62b4a8 → +3 新增, ~0 更新 | 总计 547 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/FyiHs7qF8hxP
[22:07:45] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [偷懒假期] topic head sent (message_id=om_x100b51c295dbb4a0b3d6207b1105274)
[Feishu IM] ✅ [偷懒假期] cover replied
[Feishu IM] ✅ [偷懒假期] 偷懒假期_V1_raw.mp3 replied
[Feishu IM] ✅ [偷懒假期] 偷懒假期_V1_mixed.mp3 replied
[Feishu IM] ✅ [偷懒假期] 偷懒假期_V2_raw.mp3 replied
[Feishu IM] ✅ [偷懒假期] 偷懒假期_V2_mixed.mp3 replied
[Feishu IM] ✅ [旧味道] topic head sent (message_id=om_x100b51c29285c0acb3d9c30453bec81)
[Feishu IM] ✅ [旧味道] cover replied
[Feishu IM] ✅ [旧味道] 旧味道_V1_raw.mp3 replied
[Feishu IM] ✅ [旧味道] 旧味道_V1_mixed.mp3 replied
[Feishu IM] ✅ [旧味道] 旧味道_V2_raw.mp3 replied
[Feishu IM] ✅ [旧味道] 旧味道_V2_mixed.mp3 replied
[Feishu IM] ✅ [留格] topic head sent (message_id=om_x100b51c293978504b39546095159c01)
[Feishu IM] ✅ [留格] cover replied
[Feishu IM] ✅ [留格] 留格_V1_raw.mp3 replied
[Feishu IM] ✅ [留格] 留格_V1_mixed.mp3 replied
[Feishu IM] ✅ [留格] 留格_V2_raw.mp3 replied
[Feishu IM] ✅ [留格] 留格_V2_mixed.mp3 replied
[Feishu IM] ✅ [Tide & Grain] topic head sent (message_id=om_x100b51c2904450a4b2079c4246c0bb2)
[Feishu IM] ⚠️  [Tide & Grain] Tide & Grain_V1_raw.mp3 not found, skipping
[Feishu IM] ⚠️  [Tide & Grain] Tide & Grain_V1_mixed.mp3 not found, skipping
[Feishu IM] ⚠️  [Tide & Grain] Tide & Grain_V2_raw.mp3 not found, skipping
[Feishu IM] ⚠️  [Tide & Grain] Tide & Grain_V2_mixed.mp3 not found, skipping
[Feishu] ✅ Already on file server: /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260427-215141-62b4a8
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260427-215141-62b4a8

📊 https://ccnu62373cgc.feishu.cn/sheets/FyiHs7qF8hxPI5tKqdlcsQa1nkb
[exit 0]
