
=== 2026-05-13 00:03:22 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062 -cg 2 -cs 2 --skip-feishu --profile base --step1-only ===
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.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-20260513-000322-0aa062
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[00:03:23] 🏥 Health check...
[00:03:25] ✅ qishui: OK
[00:03:25] ✅ netease: OK
[00:03:25] ✅ qq: OK

[00:03:25] 🔍 [01_给你一瓶魔法药水_20260513] Step 0: Fetching...
[00:03:26] ✅ [01_给你一瓶魔法药水_20260513] Step 0: qishui | 482c lyrics
[00:03:26] ⬇️  [01_给你一瓶魔法药水_20260513] Step 0.5: Download from qishui...
[00:03:31] ⚠️  [01_给你一瓶魔法药水_20260513] Step 0.5: Only 60.0s preview (expected 258s)
[00:03:31] 🔄 [01_给你一瓶魔法药水_20260513] Step 0.5: Trying fallback netease...
[00:03:41] ✅ [01_给你一瓶魔法药水_20260513] Step 0.5: Fallback netease → 258.8s full audio
[00:03:41] ✅ [01_给你一瓶魔法药水_20260513] Step 0.5: 5581041 bytes | 258.8s
[00:03:41] 🔬 [01_给你一瓶魔法药水_20260513] Step 0.75: Audio features...
[00:04:19] ✅ [01_给你一瓶魔法药水_20260513] Step 0.75: BPM=99.03 Key=E major (37.4s)
[00:04:19] 🧠 [01_给你一瓶魔法药水_20260513] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T16:04:19.151Z", "trace_id": "batch-20260513-000322-0aa062", "song_key": "01_给你一瓶魔法药水_20260513", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062/01_给你一瓶魔法药水_20260513/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 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...
{"__trace__": true, "ts": "2026-05-12T16:05:09.160Z", "trace_id": "batch-20260513-000322-0aa062", "song_key": "01_给你一瓶魔法药水_20260513", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 7.8, "cost_usd": null, "status": "http_503"}
{"__trace__": true, "ts": "2026-05-12T16:05:09.161Z", "trace_id": "batch-20260513-000322-0aa062", "song_key": "01_给你一瓶魔法药水_20260513", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 50.009}
[00:05:09] ❌ [01_给你一瓶魔法药水_20260513] Step 1: http_503 (7.8s)

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

=== 2026-05-13 00:05:09 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062 --profile base --resume-mode each --skip-feishu ===
{"timestamp": "2026-05-13T00:05:10.012617+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062", "profile": "base", "concurrency": 3, "resume_mode": "each", "pending_song_count": 0, "groups": [], "status": "noop", "resume": null}
[exit 0]

=== 2026-05-13 00:05:10 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062 ===
[Feishu] No successful songs to export.
[exit 0]

=== 2026-05-13 00:05:53 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062 -cg 2 -cs 2 --skip-feishu --profile base --resume /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062 ===
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml

======================================================================
music-pipeline3000 v2 | 1 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062
Skip Suno: False | Step1 only: False | Version: v4
======================================================================

[00:05:54] 🏥 Health check...
[00:05:56] ✅ qishui: OK
[00:05:56] ✅ netease: OK
[00:05:56] ✅ qq: OK

[00:05:56] 🧠 [01_给你一瓶魔法药水_20260513] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T16:05:56.518Z", "trace_id": "batch-20260513-000322-0aa062", "song_key": "01_给你一瓶魔法药水_20260513", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062/01_给你一瓶魔法药水_20260513/song_pgc.mp3", "has_features": true}}
[step1] cache hit: song_pgc.mp3 → 7a52b12e8174 (saving 1 Gemini call)
{"__trace__": true, "ts": "2026-05-12T16:05:56.566Z", "trace_id": "batch-20260513-000322-0aa062", "song_key": "01_给你一瓶魔法药水_20260513", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 80.7, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-12T16:05:56.566Z", "trace_id": "batch-20260513-000322-0aa062", "song_key": "01_给你一瓶魔法药水_20260513", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 0.048}
[00:05:56] ✅ [01_给你一瓶魔法药水_20260513] Step 1: 80.7s | prompt=985c | prompt_ok=True lyrics_ok=True
[00:05:56] 🎨 [01_给你一瓶魔法药水_20260513] Step 2 Turn 1: generating creative brief...
[00:06:07] 🎨 [01_给你一瓶魔法药水_20260513] Step 2 brief: 10.9s | in=4515 out=438
[00:06:07] ✅ [01_给你一瓶魔法药水_20260513] Step 2 brief: engine=I theme=快到目的地前，司机悄悄多绕了一个出口
[00:06:07] 🌐 [01_给你一瓶魔法药水_20260513] Step 2: target_language=auto → lang_mode=EN | multi-turn
[00:06:07] 🤖 [01_给你一瓶魔法药水_20260513] Step 2 Turn 2: 16979 chars ≈ 4244 tokens → claude-sonnet-4-6
[00:06:52] ⚠️  [01_给你一瓶魔法药水_20260513] Step 2 API: originality 57% < 85% | 6 copied phrases
          ❗ "in first half of phrase, creating bright tension before resolving down to the 5th.)" ~ "in first half of phrase, creating bright tension before resolving down to the 5th.)" (100%)
          ❗ "Ascending line with expressive bends, peaks mid-solo; uses major pentatonic phrases; rhythmically free over the groove.)" ~ "Ascending line with expressive bends, peaks mid-solo; uses major pentatonic phrases; rhythmically free over the groove.)" (100%)
          ❗ ", creating sustained anticipation, delaying resolution until the final bar.)" ~ ", creating sustained anticipation, delaying resolution until the final bar.)" (100%)
          ❗ ", and prominent synth pads. Clean guitar arpeggios re-enter.)" ~ ", and prominent synth pads. Clean guitar arpeggios re-enter.)" (100%)
          ❗ "Improvised, descending vocal phrases; fading out with heavy reverb.)" ~ "Improvised, descending vocal phrases; fading out with heavy reverb.)" (100%)
[00:06:52] 🔄 [01_给你一瓶魔法药水_20260513] Step 2 API: originality retry 1/3...
[00:07:40] ⚠️  [01_给你一瓶魔法药水_20260513] Step 2 API originality retry 1 failed: Expecting value: line 1 column 1 (char 0)
[00:07:40] ⚠️  [01_给你一瓶魔法药水_20260513] Step 2 API: best originality 57% after 3 retries
[00:07:40] ✅ [01_给你一瓶魔法药水_20260513] Step 2 API: 《One More Exit》 | 44.6s | in=11798 out=2542 | ~$0.074
[00:07:40] ⚠️  [01_给你一瓶魔法药水_20260513] Step 2.5: originality 57% < 75% | 6 copied phrases
          ❗ "in first half of phrase, creating bright tension before resolving down to the 5th.)" ~ "in first half of phrase, creating bright tension before resolving down to the 5th.)" (100%)
          ❗ "Ascending line with expressive bends, peaks mid-solo; uses major pentatonic phrases; rhythmically free over the groove.)" ~ "Ascending line with expressive bends, peaks mid-solo; uses major pentatonic phrases; rhythmically free over the groove.)" (100%)
          ❗ ", creating sustained anticipation, delaying resolution until the final bar.)" ~ ", creating sustained anticipation, delaying resolution until the final bar.)" (100%)
          ❗ ", and prominent synth pads. Clean guitar arpeggios re-enter.)" ~ ", and prominent synth pads. Clean guitar arpeggios re-enter.)" (100%)
          ❗ "Improvised, descending vocal phrases; fading out with heavy reverb.)" ~ "Improvised, descending vocal phrases; fading out with heavy reverb.)" (100%)
[00:07:40] ⏳ [01_给你一瓶魔法药水_20260513] Step 2: 原创度不足，等待人审豁免或重试

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

=== 2026-05-13 00:07:40 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260513-000322-0aa062 ===
[Feishu] No successful songs to export.
[exit 0]
