
=== 2026-04-19 11:49:32 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260419-114932-76de86 --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260419-114932-76de86' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260419-114932-76de86.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 | 2 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[11:49:34] 🏥 Health check...
[11:49:35] ✅ qishui: OK
[11:49:35] ✅ netease: OK
[11:49:35] ✅ qq: OK

[11:49:35] 🔍 [01_I Want You_20260419] Step 0: Fetching...
[11:49:35] 🔍 [02_Wannabe_20260419] Step 0: Fetching...
[11:49:40] ✅ [01_I Want You_20260419] Step 0: netease | 430c
[11:49:40] ⬇️  [01_I Want You_20260419] Step 0.5: Download from netease...
[11:49:44] 🔄 [02_Wannabe_20260419] Step 0: retry 1/2 in 5s...
[11:49:49] ✅ [01_I Want You_20260419] Step 0.5: 3963563 bytes | 191.0s
[11:49:49] 🔬 [01_I Want You_20260419] Step 0.75: Audio features...
[11:49:52] 🔄 [02_Wannabe_20260419] Step 0: retry 2/2 in 10s...
[11:50:05] ❌ [02_Wannabe_20260419] Step 0: No lyrics
[11:50:19] ✅ [01_I Want You_20260419] Step 0.75: BPM=143.87 Key=D major (29.8s)
[11:50:19] 🧠 [01_I Want You_20260419] Step 1: Gemini (queuing)...
  📊 Gemini official: 40s | prompt_tokens=9392 completion=1373
[11:50:58] ⚠️  [01_I Want You_20260419] Step 1.5: prompt 1129c > 1000c, compressing...
  📏 [01_I Want You_20260419] prompt 1129c → 824c (smart truncate)
[11:50:58] ✅ [01_I Want You_20260419] Step 1.5: prompt compressed 1129c → 824c
[11:50:58] ✅ [01_I Want You_20260419] Step 1: 39.7s | prompt=824c | prompt_ok=True lyrics_ok=True

======================================================================
SUMMARY | 83s (1.4min)
======================================================================
✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1
[MasterDB] ✅ 批次 batch-20260419-114932-76de86 → +0 新增, ~0 更新 | 总计 470 首
[exit 0]

=== 2026-04-19 11:50:59 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86 --profile grammy --resume-mode each --skip-feishu ===
[phase2] batch=batch-20260419-114932-76de86 pending=1 groups=1
[phase2] group 1/1 -> 01_I Want You_20260419
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 01_I Want You_20260419: target_language=auto
[phase2] resume -> /usr/bin/python3 /srv/repos/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86 --profile grammy --skip-feishu
[11:51:00] 🌐 [01_I Want You_20260419] Step 2: target_language=auto → lang_mode=EN
[11:51:00] 🤖 [01_I Want You_20260419] Step 2 API: 27856 chars ≈ 6964 tokens → claude-sonnet-4-6
[11:51:41] ⚠️  [01_I Want You_20260419] Step 2 API: originality 55% < 85% | 0 copied phrases
[11:51:41] 🔄 [01_I Want You_20260419] Step 2 API: originality retry 1/3...
[11:52:07] ⚠️  [01_I Want You_20260419] Step 2 API retry 1: originality 55%
[11:52:07] 🔄 [01_I Want You_20260419] Step 2 API: originality retry 2/3...
[11:52:42] ⚠️  [01_I Want You_20260419] Step 2 API originality retry 2 failed: Expecting value: line 1 column 1 (char 0)
[11:52:42] ⚠️  [01_I Want You_20260419] Step 2 API: best originality 55% after 3 retries
[11:52:42] ✅ [01_I Want You_20260419] Step 2 API: 《Worn In Places》 | 67.1s | in=32088 out=4251 | ~$0.160
{"timestamp": "2026-04-19T11:50:59.971547+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86", "profile": "grammy", "concurrency": 3, "resume_mode": "each", "pending_song_count": 1, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/01_I Want You_20260419"], "success_count": 1, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/01_I Want You_20260419", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/01_I Want You_20260419/step2_json_b.json", "agent_summary": "API direct: Worn In Places", "returncode": 0, "stderr": "", "attempt": 1, "attempts": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/01_I Want You_20260419", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/01_I Want You_20260419/step2_json_b.json", "agent_summary": "API direct: Worn In Places", "returncode": 0, "stderr": "", "attempt": 1}]}]}], "resume": {"status": "success", "returncode": 0, "stdout_tail": "\n======================================================================\nmusic-pipeline3000 v2 | 2 songs\n======================================================================\nGemini concurrency: 2 | Suno concurrency: 3\nOutput: /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[11:52:43] 🏥 Health check...\n[11:52:45] ✅ qishui: OK\n[11:52:45] ✅ netease: OK\n[11:52:45] ✅ qq: OK\n\n[11:52:45] 🔍 [02_Wannabe_20260419] Step 0: Fetching...\n  📝 [01_I Want You_20260419] lyrics stripped: 3839c → 3832c\n[11:52:45] 🎵 [01_I Want You_20260419] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[11:52:45] 🎨 [01_I Want You_20260419] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['cd0d9ac0', '90e720e3']\n  🎵 cd0d9ac0... → submitted\n  🎵 90e720e3... → submitted\n[11:52:48] 🔄 [02_Wannabe_20260419] Step 0: retry 1/2 in 5s...\n  🎵 cd0d9ac0... → queued\n  🎵 90e720e3... → queued\n[11:52:55] 🔄 [02_Wannabe_20260419] Step 0: retry 2/2 in 10s...\n  🎵 cd0d9ac0... → streaming\n  🎵 90e720e3... → streaming\n[11:53:08] ❌ [02_Wannabe_20260419] Step 0: No lyrics\n  🎵 cd0d9ac0... → complete\n  🎵 90e720e3... → complete\n[11:55:11]    🎧 [01_I Want You_20260419] Song 1: https://cdn1.suno.ai/cd0d9ac0-a0ff-4a68-81fd-7a19518073a0.mp3\n[11:55:11]    🎧 [01_I Want You_20260419] Song 2: https://cdn1.suno.ai/90e720e3-df98-4e51-9021-9ad2cb0c42d5.mp3\n[11:55:11] 🎛️ [01_I Want You_20260419] Step 3.5: 混音...\n[11:55:39]    🎚️ [01_I Want You_20260419] Song 1: edm | 低52/中44/高3%\n[11:56:02]    🎚️ [01_I Want You_20260419] Song 2: edm | 低58/中39/高3%\n[11:56:02] ✅ [01_I Want You_20260419] Step 3.5: 50.6s | 2 songs mixed\n[11:56:04] ✅ [01_I Want You_20260419] Step 4: 16.4s | /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/01_I Want You_20260419/cover_seedream.jpg\n\n======================================================================\nSUMMARY | 199s (3.3min)\n======================================================================\n✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1\n[MasterDB] ✅ 批次 batch-20260419-114932-76de86 → +1 新增, ~0 更新 | 总计 471 首\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-19T11:56:04.432991+08:00", "wall_clock": 199.0, "total": 2, "success": 1, "awaiting_step2": 0, "failed": 1}}, "status": "success"}
[exit 0]

=== 2026-04-19 11:56:05 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86 ===
[Feishu] ✅ Exported 1 songs to: https://ccnu62373cgc.feishu.cn/sheets/H4nyshVFAhWhdytkWafcESDfnhh
[Feishu] 📐 Expanded master sheet from 477 to 578 rows
[Feishu] ✅ Appended 1 new songs to master sheet (rows 478-478)
[MasterDB] ✅ 批次 batch-20260419-114932-76de86 → +1 新增, ~0 更新 | 总计 478 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/H4nyshVFAhWh
[11:56:13] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [Worn In Places] cover sent
[Feishu IM] ✅ [Worn In Places] Worn In Places_V1_raw.mp3 sent
[Feishu IM] ✅ [Worn In Places] Worn In Places_V1_mixed.mp3 sent
[Feishu IM] ✅ [Worn In Places] Worn In Places_V2_raw.mp3 sent
[Feishu IM] ✅ [Worn In Places] Worn In Places_V2_mixed.mp3 sent
[Feishu] ✅ Already on file server: /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260419-114932-76de86
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86

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

=== 2026-04-19 11:59:27 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260419-114932-76de86 --resume /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86 ===
[profile] ✅ Loaded profile '__runtime_batch-20260419-114932-76de86' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260419-114932-76de86.yaml

======================================================================
music-pipeline3000 v2 | 2 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86
Skip Suno: False | Step1 only: False | Version: v4
======================================================================

[11:59:29] 🏥 Health check...
[11:59:31] ✅ qishui: OK
[11:59:31] ✅ netease: OK
[11:59:31] ✅ qq: OK

[11:59:31] ⏭️  [01_I Want You_20260419] Already complete, skipping
[11:59:31] 🔍 [02_Wannabe_20260419] Step 0: Fetching...
[11:59:41] 🔄 [02_Wannabe_20260419] Step 0: retry 1/2 in 5s...
[11:59:49] 🔄 [02_Wannabe_20260419] Step 0: retry 2/2 in 10s...
[12:00:02] ❌ [02_Wannabe_20260419] Step 0: No lyrics

======================================================================
SUMMARY | 31s (0.5min)
======================================================================
✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1
[MasterDB] ✅ 批次 batch-20260419-114932-76de86 → +0 新增, ~1 更新 | 总计 474 首
[exit 0]

=== 2026-04-19 12:00:02 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86 ===
[Feishu] ✅ Exported 1 songs to: https://ccnu62373cgc.feishu.cn/sheets/AKrmsmZ5FhtT7Xtf4DScOsFingd
[Feishu] ⏭️  Skip duplicate (complete): I Want You (https://fileserver.yuchenhu.com/pipeline/batch-20260419-114932-76de86/01_I%20Want%20You_20260419/song_pgc.mp3)
[MasterDB] ✅ 批次 batch-20260419-114932-76de86 → +0 新增, ~0 更新 | 总计 481 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/AKrmsmZ5FhtT
[12:00:09] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [Worn In Places] cover sent
[Feishu IM] ✅ [Worn In Places] Worn In Places_V1_raw.mp3 sent
[Feishu IM] ✅ [Worn In Places] Worn In Places_V1_mixed.mp3 sent
[Feishu IM] ✅ [Worn In Places] Worn In Places_V2_raw.mp3 sent
[Feishu IM] ✅ [Worn In Places] Worn In Places_V2_mixed.mp3 sent
[Feishu] ✅ Already on file server: /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260419-114932-76de86
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260419-114932-76de86

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