
=== 2026-04-24 12:28:47 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260424-122847-e4c683 --target-language en --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260424-122847-e4c683' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260424-122847-e4c683.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-20260424-122847-e4c683
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[12:28:49] 🏥 Health check...
[12:28:51] ✅ qishui: OK
[12:28:51] ✅ netease: OK
[12:28:51] ✅ qq: OK

[12:28:51] 🔍 [01_Chantaje_20260424] Step 0: Fetching...
[12:28:55] ✅ [01_Chantaje_20260424] Step 0: netease | 2177c
[12:28:55] ⬇️  [01_Chantaje_20260424] Step 0.5: Download from netease...
[12:29:00] ✅ [01_Chantaje_20260424] Step 0.5: 4245760 bytes | 195.9s
[12:29:00] 🔬 [01_Chantaje_20260424] Step 0.75: Audio features...
[12:29:24] ✅ [01_Chantaje_20260424] Step 0.75: BPM=101.92 Key=C# minor (23.9s)
[12:29:24] 🧠 [01_Chantaje_20260424] Step 1: Gemini (queuing)...
[12:29:24] 🌐 Step 1: target_language=en (injecting override directive)
  📊 Gemini official: 38s | prompt_tokens=10131 completion=1726
[12:30:02] ⚠️  [01_Chantaje_20260424] Step 1.5: prompt 1168c > 1000c, compressing...
  📏 [01_Chantaje_20260424] prompt 1168c → 884c (smart truncate)
[12:30:02] ✅ [01_Chantaje_20260424] Step 1.5: prompt compressed 1168c → 884c
[12:30:02] ✅ [01_Chantaje_20260424] Step 1: 37.8s | prompt=884c | prompt_ok=True lyrics_ok=True

======================================================================
SUMMARY | 71s (1.2min)
======================================================================
✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0
[MasterDB] ✅ 批次 batch-20260424-122847-e4c683 → +0 新增, ~0 更新 | 总计 580 首
[exit 0]

=== 2026-04-24 12:30:03 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683 --profile grammy --resume-mode each --skip-feishu --target-language en ===
[phase2] batch=batch-20260424-122847-e4c683 pending=1 groups=1
[phase2] group 1/1 -> 01_Chantaje_20260424
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 01_Chantaje_20260424: target_language=en
[phase2] resume -> /usr/bin/python3 /srv/repos/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683 --profile grammy --skip-feishu
[12:30:03] 🌐 [01_Chantaje_20260424] Step 2: target_language=en → lang_mode=EN
[12:30:03] 🤖 [01_Chantaje_20260424] Step 2 API: 32025 chars ≈ 8006 tokens → claude-sonnet-4-6
[12:31:00] ⚠️  [01_Chantaje_20260424] Step 2 API: originality 54% < 85% | 5 copied phrases
          ❗ "and minor 3rd  of the scale; motif repeats twice with a slight rhythmic variation on the third statement.)" ~ "and minor 3rd  of the scale; motif repeats twice with a slight rhythmic variation on the third statement.)" (100%)
          ❗ "over the A major chord , creating a gentle suspended tension that resolves downwards as the chord changes to E.)" ~ "over the A major chord , creating a gentle suspended tension that resolves downwards as the chord changes to E.)" (100%)
          ❗ "or 4th  over the C#m chord, creating unresolved tension that pushes towards the final chorus.)" ~ "or 4th  over the C#m chord, creating unresolved tension that pushes towards the final chorus.)" (100%)
          ❗ "and minor 3rd  of the scale; motif repeats twice with a slight rhythmic variation on the third statement.)" ~ "and minor 3rd  of the scale; motif repeats twice with a slight rhythmic variation on the third statement.)" (100%)
          ❗ "over the A major chord , creating a gentle suspended tension that resolves downwards as the chord changes to E.)" ~ "over the A major chord , creating a gentle suspended tension that resolves downwards as the chord changes to E.)" (100%)
[12:31:00] 🔄 [01_Chantaje_20260424] Step 2 API: originality retry 1/3...
[12:32:04] ⚠️  [01_Chantaje_20260424] Step 2 API originality retry 1 failed: Expecting value: line 1 column 1 (char 0)
[12:32:04] ⚠️  [01_Chantaje_20260424] Step 2 API: best originality 54% after 3 retries
[12:32:04] ✅ [01_Chantaje_20260424] Step 2 API: 《Slow Fade》 | 56.5s | in=16717 out=2627 | ~$0.090
{"timestamp": "2026-04-24T12:30:03.490189+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683", "profile": "grammy", "concurrency": 3, "resume_mode": "each", "pending_song_count": 1, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683/01_Chantaje_20260424"], "success_count": 1, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683/01_Chantaje_20260424", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683/01_Chantaje_20260424/step2_json_b.json", "agent_summary": "API direct: Slow Fade", "returncode": 0, "stderr": "", "attempt": 1, "attempts": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683/01_Chantaje_20260424", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683/01_Chantaje_20260424/step2_json_b.json", "agent_summary": "API direct: Slow Fade", "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-20260424-122847-e4c683\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[12:32:06] 🏥 Health check...\n[12:32:08] ✅ qishui: OK\n[12:32:08] ✅ netease: OK\n[12:32:08] ✅ qq: OK\n\n  📝 [01_Chantaje_20260424] lyrics stripped: 5197c → 5000c\n[12:32:08] 🎵 [01_Chantaje_20260424] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[12:32:08] 🎨 [01_Chantaje_20260424] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['d585c8aa', '96c27fb2']\n  🎵 d585c8aa... → submitted\n  🎵 96c27fb2... → submitted\n  🎵 d585c8aa... → queued\n  🎵 96c27fb2... → queued\n  🎵 d585c8aa... → streaming\n  🎵 d585c8aa... → complete\n  🎵 96c27fb2... → complete\n[12:34:03]    🎧 [01_Chantaje_20260424] Song 1: https://cdn1.suno.ai/d585c8aa-4096-4560-a221-a927967595ec.mp3\n[12:34:03]    🎧 [01_Chantaje_20260424] Song 2: https://cdn1.suno.ai/96c27fb2-65f3-4abb-ba4c-be532a1341a0.mp3\n[12:34:03] 🎛️ [01_Chantaje_20260424] Step 3.5: 混音...\n[12:34:24]    🎚️ [01_Chantaje_20260424] Song 1: rock | 低54/中39/高7%\n[12:34:42]    🎚️ [01_Chantaje_20260424] Song 2: pop | 低55/中40/高5%\n[12:34:42] ✅ [01_Chantaje_20260424] Step 3.5: 38.6s | 2 songs mixed\n[12:34:43] ✅ [01_Chantaje_20260424] Step 4: 14.4s | /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683/01_Chantaje_20260424/cover_seedream.jpg\n\n======================================================================\nSUMMARY | 156s (2.6min)\n======================================================================\n✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0\n[MasterDB] ✅ 批次 batch-20260424-122847-e4c683 → +1 新增, ~0 更新 | 总计 582 首\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-24T12:34:43.911233+08:00", "wall_clock": 155.6, "total": 1, "success": 1, "awaiting_step2": 0, "failed": 0}}, "status": "success"}
[exit 0]

=== 2026-04-24 12:34:45 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683 ===
[Feishu] ✅ Exported 1 songs to: https://ccnu62373cgc.feishu.cn/sheets/RaBMsZK5fhcElSteFqAcWAiMnJc
[Feishu] 📐 Expanded master sheet from 524 to 625 rows
[Feishu] ✅ Appended 1 new songs to master sheet (rows 525-525)
[MasterDB] ✅ 批次 batch-20260424-122847-e4c683 → +1 新增, ~0 更新 | 总计 525 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/RaBMsZK5fhcE
[12:34:53] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [Slow Fade] topic head sent (message_id=om_x100b519b602de8b0b2286152eccccb4)
[Feishu IM] ✅ [Slow Fade] cover replied
[Feishu IM] ✅ [Slow Fade] Slow Fade_V1_raw.mp3 replied
[Feishu IM] ✅ [Slow Fade] Slow Fade_V1_mixed.mp3 replied
[Feishu IM] ✅ [Slow Fade] Slow Fade_V2_raw.mp3 replied
[Feishu IM] ✅ [Slow Fade] Slow Fade_V2_mixed.mp3 replied
[Feishu] ✅ Already on file server: /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260424-122847-e4c683
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260424-122847-e4c683

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