
=== 2026-04-29 20:48:40 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260429-204840-2379e3 --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260429-204840-2379e3' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260429-204840-2379e3.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
/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 | 1 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[20:48:41] 🏥 Health check...
[20:48:44] ✅ qishui: OK
[20:48:44] ✅ netease: OK
[20:48:44] ✅ qq: OK

[20:48:44] 🔍 [01_那女孩对我说_20260429] Step 0: Fetching...
[20:48:47] ✅ [01_那女孩对我说_20260429] Step 0: netease | 748c
[20:48:47] ⬇️  [01_那女孩对我说_20260429] Step 0.5: Download from netease...
[20:48:54] ✅ [01_那女孩对我说_20260429] Step 0.5: 5367512 bytes | 247.0s
[20:48:54] 🔬 [01_那女孩对我说_20260429] Step 0.75: Audio features...
[20:49:28] ✅ [01_那女孩对我说_20260429] Step 0.75: BPM=154.66 Key=D major (33.8s)
[20:49:28] 🧠 [01_那女孩对我说_20260429] Step 1: Gemini (queuing)...
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  ⚠️ Gemini official 503 on key #2/5, will retry...
  🔄 Retry 2/4 in 3s...
  ⚠️ Gemini official 503 on key #3/5, will retry...
  🔄 Retry 3/4 in 3s...
  ⚠️ Gemini official 503 on key #4/5, will retry...
  🔄 Retry 4/4 in 3s...
  ⚠️ Gemini official 503 on key #5/5, will retry...
[20:49:57] ❌ [01_那女孩对我说_20260429] Step 1: http_503 (1.9s)

======================================================================
SUMMARY | 73s (1.2min)
======================================================================
✅ Done: 0 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1
[exit 0]

=== 2026-04-29 20:49:57 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3 --profile base --resume-mode each --skip-feishu ===
{"timestamp": "2026-04-29T20:49:58.080598+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3", "profile": "base", "concurrency": 3, "resume_mode": "each", "pending_song_count": 0, "groups": [], "status": "noop", "resume": null}
[exit 0]

=== 2026-04-29 20:49:58 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3 ===
[Feishu] No successful songs to export.
[exit 0]

=== 2026-04-29 20:54:26 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260429-204840-2379e3 --resume /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3 ===
[profile] ✅ Loaded profile '__runtime_batch-20260429-204840-2379e3' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260429-204840-2379e3.yaml

======================================================================
music-pipeline3000 v2 | 1 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3
Skip Suno: False | Step1 only: False | Version: v4
======================================================================

[20:54:28] 🏥 Health check...
[20:54:29] ✅ qishui: OK
[20:54:29] ✅ netease: OK
[20:54:29] ✅ qq: OK

[20:54:29] 🧠 [01_那女孩对我说_20260429] Step 1: Gemini (queuing)...
  📊 Gemini official: 38s | prompt_tokens=11427 completion=1044
[20:55:08] ✅ [01_那女孩对我说_20260429] Step 1: 38.0s | prompt=931c | prompt_ok=True lyrics_ok=True
[20:55:08] 🌐 [01_那女孩对我说_20260429] Step 2: target_language=auto → lang_mode=AUTO
[20:55:08] 🤖 [01_那女孩对我说_20260429] Step 2 API: 32066 chars ≈ 8016 tokens → claude-sonnet-4-6
[20:55:35] ⚠️  [01_那女孩对我说_20260429] Step 2 API: originality 76% < 85% | 0 copied phrases
[20:55:35] 🔄 [01_那女孩对我说_20260429] Step 2 API: originality retry 1/3...
[20:56:01] ⚠️  [01_那女孩对我说_20260429] Step 2 API retry 1: originality 76%
[20:56:01] 🔄 [01_那女孩对我说_20260429] Step 2 API: originality retry 2/3...
[20:56:38] ⚠️  [01_那女孩对我说_20260429] Step 2 API originality retry 2 failed: Expecting value: line 1 column 1 (char 0)
[20:56:38] ⚠️  [01_那女孩对我说_20260429] Step 2 API: best originality 76% after 3 retries
[20:56:38] ✅ [01_那女孩对我说_20260429] Step 2 API: 《旧毛衣》 | 53.4s | in=37120 out=3855 | ~$0.169
[20:56:38] ✅ [01_那女孩对我说_20260429] Step 2.5: originality 76% ✓
[20:56:38] ✅ [01_那女孩对我说_20260429] Step 2: 《旧毛衣》
[20:56:38] 📁 [01_那女孩对我说_20260429] Renamed → 01_那女孩对我说_旧毛衣_20260429
  📝 [01_那女孩对我说_旧毛衣_20260429] lyrics stripped: 2455c → 2450c
[20:56:38] 🎵 [01_那女孩对我说_旧毛衣_20260429] Step 3: Suno generation (weirdness=50, style_influence=50)...
[20:56:38] 🎨 [01_那女孩对我说_旧毛衣_20260429] Step 4: SeeDream cover (parallel)...
  ✅ submitted: ['6e45cd5d', '73800920']
  🎵 6e45cd5d... → submitted
  🎵 73800920... → submitted
  🎵 6e45cd5d... → queued
  🎵 73800920... → queued
  🎵 6e45cd5d... → streaming
  🎵 73800920... → streaming
  🎵 73800920... → complete
  🎵 6e45cd5d... → complete
[20:59:57]    🎧 [01_那女孩对我说_旧毛衣_20260429] Song 1: https://cdn1.suno.ai/6e45cd5d-a1d1-497d-b9eb-ffae061b3229.mp3
[20:59:57]    🎧 [01_那女孩对我说_旧毛衣_20260429] Song 2: https://cdn1.suno.ai/73800920-aab1-4559-8366-bd599351e770.mp3
[20:59:57] 🎛️ [01_那女孩对我说_旧毛衣_20260429] Step 3.5: 混音...
[21:00:16]    🎚️ [01_那女孩对我说_旧毛衣_20260429] Song 1: jazz | 低46/中50/高3%
[21:00:32]    🎚️ [01_那女孩对我说_旧毛衣_20260429] Song 2: pop | 低56/中40/高4%
[21:00:32] ✅ [01_那女孩对我说_旧毛衣_20260429] Step 3.5: 35.3s | 2 songs mixed
[21:00:39] ✅ [01_那女孩对我说_旧毛衣_20260429] Step 4: 18.7s | /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3/01_那女孩对我说_旧毛衣_20260429/cover_seedream.jpg

======================================================================
SUMMARY | 369s (6.2min)
======================================================================
✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0
[MasterDB] ✅ 批次 batch-20260429-204840-2379e3 → +1 新增, ~0 更新 | 总计 609 首
[exit 0]

=== 2026-04-29 21:00:39 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3 ===
[Feishu] ✅ Exported 1 songs to: https://ccnu62373cgc.feishu.cn/sheets/AHq6sqUyrhqQKbtaYLlcrfnHnjc
[Feishu] 📐 Expanded master sheet from 549 to 650 rows
[Feishu] ✅ Appended 1 new songs to master sheet (rows 550-550)
[MasterDB] ✅ 批次 batch-20260429-204840-2379e3 → +1 新增, ~0 更新 | 总计 550 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/AHq6sqUyrhqQ
[21:00:47] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [旧毛衣] topic head sent (message_id=om_x100b50144131c4a0b379f1ca56ab4b0)
[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] ✅ Already on file server: /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260429-204840-2379e3
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260429-204840-2379e3

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