
=== 2026-05-07 15:02:42 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260507-145219-ef6f7f --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260507-145219-ef6f7f' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-145219-ef6f7f.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
/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-20260507-145219-ef6f7f
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[15:02:43] 🏥 Health check...
[15:02:45] ✅ qishui: OK
[15:02:45] ✅ netease: OK
[15:02:45] ✅ qq: OK

[15:02:45] 🔍 [01_鸿雁_20260507] Step 0: Fetching...
[15:02:45] 🔍 [02_孤独的牧羊人_20260507] Step 0: Fetching...
[15:02:47] ✅ [02_孤独的牧羊人_20260507] Step 0: qishui | 337c lyrics
[15:02:47] ⬇️  [02_孤独的牧羊人_20260507] Step 0.5: Download from qishui...
[15:02:48] ⚠️  [qishui] Source mismatch: requested '6885363496922384391' got '7185606581134821378', skipping
[15:02:48] 🔄 [01_鸿雁_20260507] Step 0: retry 1/2 in 5s...
[15:02:55] ⚠️  [qishui] Source mismatch: requested '6885363496922384391' got '7185606581134821378', skipping
[15:02:55] 🔄 [01_鸿雁_20260507] Step 0: retry 2/2 in 10s...
[15:03:01] ✅ [02_孤独的牧羊人_20260507] Step 0.5: 7432208 bytes | 327.7s
[15:03:01] 🔬 [02_孤独的牧羊人_20260507] Step 0.75: Audio features...
[15:03:16] ⚠️  [qishui] Source mismatch: requested '6885363496922384391' got '7185606581134821378', skipping
[15:03:16] ❌ [01_鸿雁_20260507] Step 0: No audio URL
[15:03:41] ✅ [02_孤独的牧羊人_20260507] Step 0.75: BPM=104.01 Key=D# minor (40.5s)
[15:03:41] 🧠 [02_孤独的牧羊人_20260507] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-07T07:03:41.652Z", "trace_id": "batch-20260507-145219-ef6f7f", "song_key": "02_孤独的牧羊人_20260507", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f/02_孤独的牧羊人_20260507/song_pgc.mp3", "has_features": true}}
  ⚠️ 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: 49s | prompt_tokens=13852 completion=1049
{"__trace__": true, "ts": "2026-05-07T07:05:15.498Z", "trace_id": "batch-20260507-145219-ef6f7f", "song_key": "02_孤独的牧羊人_20260507", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 49.1, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-07T07:05:15.498Z", "trace_id": "batch-20260507-145219-ef6f7f", "song_key": "02_孤独的牧羊人_20260507", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 93.846}
[15:05:15] ✅ [02_孤独的牧羊人_20260507] Step 1: 49.1s | prompt=921c | prompt_ok=True lyrics_ok=True

======================================================================
SUMMARY | 150s (2.5min)
======================================================================
✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1
[MasterDB] ✅ 批次 batch-20260507-145219-ef6f7f → +0 新增, ~0 更新 | 总计 635 首
[exit 0]

=== 2026-05-07 15:05:16 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f --profile __runtime_batch-20260507-145219-ef6f7f --resume-mode each --skip-feishu ===
[phase2] batch=batch-20260507-145219-ef6f7f pending=1 groups=1
[phase2] group 1/1 -> 02_孤独的牧羊人_20260507
[profile] ✅ Loaded profile '__runtime_batch-20260507-145219-ef6f7f' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-145219-ef6f7f.yaml
[phase2] 🌐 02_孤独的牧羊人_20260507: 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-20260507-145219-ef6f7f/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f --profile __runtime_batch-20260507-145219-ef6f7f --skip-feishu
[15:05:16] 🌐 [02_孤独的牧羊人_20260507] Step 2: target_language=auto → lang_mode=AUTO
[15:05:16] 🤖 [02_孤独的牧羊人_20260507] Step 2 API: 12963 chars ≈ 3240 tokens → claude-sonnet-4-6
[15:05:54] ⚠️  [02_孤独的牧羊人_20260507] Step 2 API: originality 80% < 85% | 0 copied phrases
[15:05:54] 🔄 [02_孤独的牧羊人_20260507] Step 2 API: originality retry 1/3...
[15:06:32] ✅ [02_孤独的牧羊人_20260507] Step 2 API retry 1: originality 87% ✓
[15:06:32] ✅ [02_孤独的牧羊人_20260507] Step 2 API: 《偏偏记得你离开那天》 | 75.6s | in=21473 out=3709 | ~$0.120
{"timestamp": "2026-05-07T15:05:16.697427+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f", "profile": "__runtime_batch-20260507-145219-ef6f7f", "concurrency": 3, "resume_mode": "each", "pending_song_count": 1, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f/02_孤独的牧羊人_20260507"], "success_count": 1, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f/02_孤独的牧羊人_20260507", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f/02_孤独的牧羊人_20260507/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-20260507-145219-ef6f7f/02_孤独的牧羊人_20260507", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f/02_孤独的牧羊人_20260507/step2_json_b.json", "agent_summary": "API direct: 偏偏记得你离开那天", "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-20260507-145219-ef6f7f\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[15:06:33] 🏥 Health check...\n[15:06:35] ✅ qishui: OK\n[15:06:35] ✅ netease: OK\n[15:06:35] ✅ qq: OK\n\n[15:06:35] 🔍 [01_鸿雁_20260507] Step 0: Fetching...\n  📝 [02_孤独的牧羊人_20260507] lyrics stripped: 2590c → 2584c\n[15:06:35] 🎵 [02_孤独的牧羊人_20260507] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[15:06:35] 🎨 [02_孤独的牧羊人_20260507] Step 4: SeeDream cover (parallel)...\n[15:06:36] ⚠️  [qishui] Source mismatch: requested '6885363496922384391' got '7185606581134821378', skipping\n[15:06:36] 🔄 [01_鸿雁_20260507] Step 0: retry 1/2 in 5s...\n  ✅ submitted: ['f6e94649', '8c51a192']\n  🎵 f6e94649... → submitted\n  🎵 8c51a192... → submitted\n[15:06:42] ⚠️  [qishui] Source mismatch: requested '6885363496922384391' got '7185606581134821378', skipping\n[15:06:42] 🔄 [01_鸿雁_20260507] Step 0: retry 2/2 in 10s...\n  🎵 f6e94649... → queued\n  🎵 8c51a192... → queued\n[15:06:53] ⚠️  [qishui] Source mismatch: requested '6885363496922384391' got '7185606581134821378', skipping\n[15:06:53] ❌ [01_鸿雁_20260507] Step 0: No audio URL\n  🎵 f6e94649... → streaming\n  🎵 8c51a192... → streaming\n  🎵 8c51a192... → complete\n  🎵 f6e94649... → complete\n[15:09:37]    🎧 [02_孤独的牧羊人_20260507] Song 1: https://cdn1.suno.ai/f6e94649-ccad-4c9a-a011-de0ec49c2e77.mp3\n[15:09:37]    🎧 [02_孤独的牧羊人_20260507] Song 2: https://cdn1.suno.ai/8c51a192-fce9-40cd-a3bd-64b2ea1b0e74.mp3\n[15:09:37] 🎛️ [02_孤独的牧羊人_20260507] Step 3.5: 混音...\n[15:09:58]    🎚️ [02_孤独的牧羊人_20260507] Song 1: pop | 低46/中49/高5%\n[15:10:14]    🎚️ [02_孤独的牧羊人_20260507] Song 2: pop | 低46/中48/高6%\n[15:10:14] ✅ [02_孤独的牧羊人_20260507] Step 3.5: 37.1s | 2 songs mixed\n[15:10:14] ⚠️  [02_孤独的牧羊人_20260507] Step 4: http_403 (non-fatal)\n\n======================================================================\nSUMMARY | 219s (3.7min)\n======================================================================\n✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1\n[MasterDB] ✅ 批次 batch-20260507-145219-ef6f7f → +1 新增, ~0 更新 | 总计 636 首\n", "stderr_tail": "[profile] ✅ Loaded profile '__runtime_batch-20260507-145219-ef6f7f' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-145219-ef6f7f.yaml\n", "summary": {"timestamp": "2026-05-07T15:10:14.760392+08:00", "wall_clock": 219.3, "total": 2, "success": 1, "awaiting_step2": 0, "failed": 1}}, "status": "success"}
[exit 0]

=== 2026-05-07 15:10:15 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f ===
[Feishu] ✅ Exported 1 songs to: https://ccnu62373cgc.feishu.cn/sheets/WmHQswYjohXx7qtqPRFccVmmnud
[Feishu] 📐 Expanded master sheet from 576 to 677 rows
[Feishu] ✅ Appended 1 new songs to master sheet (rows 577-577)
[MasterDB] ✅ 批次 batch-20260507-145219-ef6f7f → +1 新增, ~0 更新 | 总计 577 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/WmHQswYjohXx
[15:10:25] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [偏偏记得你离开那天] topic head sent (message_id=om_x100b50f7e0d7f8dcb28016fd46976ff)
[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-20260507-145219-ef6f7f
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260507-145219-ef6f7f
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260507-145219-ef6f7f

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