
=== 2026-04-22 21:41:00 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260422-214100-0a434d --target-language zh --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260422-214100-0a434d' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260422-214100-0a434d.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 | 1 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[21:41:02] 🏥 Health check...
[21:41:04] ✅ qishui: OK
[21:41:04] ✅ netease: OK
[21:41:04] ✅ qq: OK

[21:41:04] 🔍 [01_Kill Bill_20260422] Step 0: Fetching...
[21:41:07] ✅ [01_Kill Bill_20260422] Step 0: netease | 1755c
[21:41:07] ⬇️  [01_Kill Bill_20260422] Step 0.5: Download from netease...
[21:41:13] ✅ [01_Kill Bill_20260422] Step 0.5: 2884492 bytes | 154.0s
[21:41:13] 🔬 [01_Kill Bill_20260422] Step 0.75: Audio features...
[21:41:38] ✅ [01_Kill Bill_20260422] Step 0.75: BPM=88.91 Key=D# major (25.3s)
[21:41:38] 🧠 [01_Kill Bill_20260422] Step 1: Gemini (queuing)...
[21:41:38] 🌐 Step 1: target_language=zh (injecting override directive)
  📊 Gemini official: 46s | prompt_tokens=8659 completion=1843
[21:42:24] ⚠️  [01_Kill Bill_20260422] Step 1.5: prompt 1288c > 1000c, compressing...
  📏 [01_Kill Bill_20260422] prompt 1288c → 961c (smart truncate)
[21:42:24] ✅ [01_Kill Bill_20260422] Step 1.5: prompt compressed 1288c → 961c
[21:42:24] ✅ [01_Kill Bill_20260422] Step 1: 46.3s | prompt=961c | prompt_ok=True lyrics_ok=True

======================================================================
SUMMARY | 81s (1.3min)
======================================================================
✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0
[MasterDB] ✅ 批次 batch-20260422-214100-0a434d → +0 新增, ~0 更新 | 总计 573 首
[exit 0]

=== 2026-04-22 21:42:25 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d --profile grammy --resume-mode each --skip-feishu --target-language zh ===
[phase2] batch=batch-20260422-214100-0a434d pending=1 groups=1
[phase2] group 1/1 -> 01_Kill Bill_20260422
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 01_Kill Bill_20260422: 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-20260422-214100-0a434d/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d --profile grammy --skip-feishu
[21:42:26] 🌐 [01_Kill Bill_20260422] Step 2: target_language=zh → lang_mode=ZH
[21:42:26] 🤖 [01_Kill Bill_20260422] Step 2 API: 29713 chars ≈ 7428 tokens → claude-sonnet-4-6
[21:43:08] ✅ [01_Kill Bill_20260422] Step 2 API: 《糖衣》 | 42.2s | in=15385 out=2679 | ~$0.086
{"timestamp": "2026-04-22T21:42:25.915724+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d", "profile": "grammy", "concurrency": 3, "resume_mode": "each", "pending_song_count": 1, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d/01_Kill Bill_20260422"], "success_count": 1, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d/01_Kill Bill_20260422", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d/01_Kill Bill_20260422/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-20260422-214100-0a434d/01_Kill Bill_20260422", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d/01_Kill Bill_20260422/step2_json_b.json", "agent_summary": "API direct: 糖衣", "returncode": 0, "stderr": "", "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-platform-next/pipeline/batch-20260422-214100-0a434d\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[21:43:10] 🏥 Health check...\n[21:43:14] ✅ qishui: OK\n[21:43:14] ✅ netease: OK\n[21:43:14] ✅ qq: OK\n\n  📝 [01_Kill Bill_20260422] lyrics stripped: 4388c → 4382c\n[21:43:14] 🎵 [01_Kill Bill_20260422] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[21:43:14] 🎨 [01_Kill Bill_20260422] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['9551c464', 'f5062fdb']\n  🎵 9551c464... → submitted\n  🎵 f5062fdb... → submitted\n  🎵 9551c464... → queued\n  🎵 f5062fdb... → queued\n  🎵 9551c464... → streaming\n  🎵 f5062fdb... → streaming\n  🎵 f5062fdb... → complete\n  🎵 9551c464... → complete\n[21:48:07]    🎧 [01_Kill Bill_20260422] Song 1: https://cdn1.suno.ai/9551c464-aa1b-4890-b600-4bb1903a1268.mp3\n[21:48:07]    🎧 [01_Kill Bill_20260422] Song 2: https://cdn1.suno.ai/f5062fdb-ab83-4bda-a3f3-cf48c6bf9609.mp3\n[21:48:07] 🎛️ [01_Kill Bill_20260422] Step 3.5: 混音...\n[21:48:50]    🎚️ [01_Kill Bill_20260422] Song 1: jazz | 低57/中38/高6%\n[21:49:05]    🎚️ [01_Kill Bill_20260422] Song 2: pop | 低56/中41/高2%\n[21:49:05] ✅ [01_Kill Bill_20260422] Step 3.5: 58.2s | 2 songs mixed\n[21:49:08] ✅ [01_Kill Bill_20260422] Step 4: 24.0s | /srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d/01_Kill Bill_20260422/cover_seedream.jpg\n\n======================================================================\nSUMMARY | 353s (5.9min)\n======================================================================\n✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0\n[MasterDB] ✅ 批次 batch-20260422-214100-0a434d → +1 新增, ~0 更新 | 总计 574 首\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-22T21:49:08.244308+08:00", "wall_clock": 353.3, "total": 1, "success": 1, "awaiting_step2": 0, "failed": 0}}, "status": "success"}
[exit 0]

=== 2026-04-22 21:49:09 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d ===
[Feishu] ✅ Exported 1 songs to: https://ccnu62373cgc.feishu.cn/sheets/IvpqsHkoOhjTLktgN5FcLO4ynIn
[Feishu] 📐 Expanded master sheet from 514 to 615 rows
[Feishu] ✅ Appended 1 new songs to master sheet (rows 515-515)
[MasterDB] ✅ 批次 batch-20260422-214100-0a434d → +1 新增, ~0 更新 | 总计 515 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/IvpqsHkoOhjT
[21:49:16] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [糖衣] topic head sent (message_id=om_x100b51b9531794acb2a12d1bfc8ad1f)
[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-20260422-214100-0a434d
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260422-214100-0a434d
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260422-214100-0a434d

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