
=== 2026-05-07 15:06:52 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260507-150642-d3f606 --target-language zh --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260507-150642-d3f606' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-150642-d3f606.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
[   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')
/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 | 3 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[15:06:54] 🏥 Health check...
[15:06:55] ✅ qishui: OK
[15:06:55] ✅ netease: OK
[15:06:55] ✅ qq: OK

[15:06:55] 🔍 [01_Best Friend_20260507] Step 0: Fetching...
[15:06:55] 🔍 [02_Much Too Much_20260507] Step 0: Fetching...
[15:06:55] 🔍 [03_Sunflower_20260507] Step 0: Fetching...
[15:06:57] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping
[15:06:57] 🔄 [02_Much Too Much_20260507] Step 0: retry 1/2 in 5s...
[15:07:04] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping
[15:07:04] 🔄 [02_Much Too Much_20260507] Step 0: retry 2/2 in 10s...
[15:07:08] ✅ [03_Sunflower_20260507] Step 0: qq | 2047c lyrics
[15:07:08] ⬇️  [03_Sunflower_20260507] Step 0.5: Download from qq...
[15:07:09] ✅ [01_Best Friend_20260507] Step 0: qq | 1876c lyrics
[15:07:09] ⬇️  [01_Best Friend_20260507] Step 0.5: Download from qq...
[15:07:15] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping
[15:07:15] ❌ [02_Much Too Much_20260507] Step 0: No audio URL
[15:07:20] ✅ [03_Sunflower_20260507] Step 0.5: 6176952 bytes | 252.3s
[15:07:20] 🔬 [03_Sunflower_20260507] Step 0.75: Audio features...
[15:07:20] ✅ [01_Best Friend_20260507] Step 0.5: 6193121 bytes | 262.3s
[15:07:20] 🔬 [01_Best Friend_20260507] Step 0.75: Audio features...
[15:08:03] ✅ [03_Sunflower_20260507] Step 0.75: BPM=129.54 Key=C# major (43.2s)
[15:08:03] 🧠 [03_Sunflower_20260507] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-07T07:08:03.427Z", "trace_id": "batch-20260507-150642-d3f606", "song_key": "03_Sunflower_20260507", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/03_Sunflower_20260507/song_pgc.mp3", "has_features": true}}
[15:08:03] 🌐 Step 1: target_language=zh (injecting override directive)
[15:08:04] ✅ [01_Best Friend_20260507] Step 0.75: BPM=144.06 Key=F# major (43.4s)
[15:08:04] 🧠 [01_Best Friend_20260507] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-07T07:08:04.221Z", "trace_id": "batch-20260507-150642-d3f606", "song_key": "01_Best Friend_20260507", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/01_Best Friend_20260507/song_pgc.mp3", "has_features": true}}
[15:08:04] 🌐 Step 1: target_language=zh (injecting override directive)
  ⚠️ Gemini official 503 on key #1/5, will retry...
  🔄 Retry 1/4 in 3s...
  📊 Gemini official: 54s | prompt_tokens=11836 completion=1402
{"__trace__": true, "ts": "2026-05-07T07:08:57.844Z", "trace_id": "batch-20260507-150642-d3f606", "song_key": "03_Sunflower_20260507", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 54.4, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-07T07:08:57.845Z", "trace_id": "batch-20260507-150642-d3f606", "song_key": "03_Sunflower_20260507", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 54.417}
[15:08:57] ✅ [03_Sunflower_20260507] Step 1: 54.4s | prompt=876c | prompt_ok=True lyrics_ok=True
  📊 Gemini official: 45s | prompt_tokens=12060 completion=1324
{"__trace__": true, "ts": "2026-05-07T07:09:03.263Z", "trace_id": "batch-20260507-150642-d3f606", "song_key": "01_Best Friend_20260507", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 44.9, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-07T07:09:03.263Z", "trace_id": "batch-20260507-150642-d3f606", "song_key": "01_Best Friend_20260507", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 59.042}
[15:09:03] ✅ [01_Best Friend_20260507] Step 1: 44.9s | prompt=859c | prompt_ok=True lyrics_ok=True

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

=== 2026-05-07 15:09:04 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606 --profile __runtime_batch-20260507-150642-d3f606 --resume-mode each --skip-feishu --target-language zh ===
[phase2] batch=batch-20260507-150642-d3f606 pending=2 groups=1
[phase2] group 1/1 -> 01_Best Friend_20260507, 03_Sunflower_20260507
[profile] ✅ Loaded profile '__runtime_batch-20260507-150642-d3f606' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-150642-d3f606.yaml
[phase2] 🌐 01_Best Friend_20260507: target_language=zh
[profile] ✅ Loaded profile '__runtime_batch-20260507-150642-d3f606' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-150642-d3f606.yaml
[phase2] 🌐 03_Sunflower_20260507: 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-20260507-150642-d3f606/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606 --profile __runtime_batch-20260507-150642-d3f606 --skip-feishu
[15:09:04] 🌐 [01_Best Friend_20260507] Step 2: target_language=zh → lang_mode=ZH
[15:09:04] 🤖 [01_Best Friend_20260507] Step 2 API: 34032 chars ≈ 8508 tokens → claude-sonnet-4-6
[15:09:04] 🌐 [03_Sunflower_20260507] Step 2: target_language=zh → lang_mode=ZH
[15:09:04] 🤖 [03_Sunflower_20260507] Step 2 API: 33949 chars ≈ 8487 tokens → claude-sonnet-4-6
[15:09:40] ✅ [03_Sunflower_20260507] Step 2 API: 《旧衬衫》 | 36.4s | in=18263 out=2222 | ~$0.088
[15:09:50] ✅ [01_Best Friend_20260507] Step 2 API: 《旧茶渍》 | 46.5s | in=18184 out=2128 | ~$0.086
{"timestamp": "2026-05-07T15:09:04.182220+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606", "profile": "__runtime_batch-20260507-150642-d3f606", "concurrency": 3, "resume_mode": "each", "pending_song_count": 2, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/01_Best Friend_20260507", "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/03_Sunflower_20260507"], "success_count": 2, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/01_Best Friend_20260507", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/01_Best Friend_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-150642-d3f606/01_Best Friend_20260507", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/01_Best Friend_20260507/step2_json_b.json", "agent_summary": "API direct: 旧茶渍", "returncode": 0, "stderr": "", "attempt": 1}]}, {"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/03_Sunflower_20260507", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/03_Sunflower_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-150642-d3f606/03_Sunflower_20260507", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/03_Sunflower_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 | 3 songs\n======================================================================\nGemini concurrency: 2 | Suno concurrency: 3\nOutput: /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[15:09:52] 🏥 Health check...\n[15:09:54] ✅ qishui: OK\n[15:09:54] ✅ netease: OK\n[15:09:54] ✅ qq: OK\n\n[15:09:54] 🔍 [02_Much Too Much_20260507] Step 0: Fetching...\n  📝 [01_Best Friend_20260507] lyrics stripped: 2566c → 2560c\n[15:09:54] 🎵 [01_Best Friend_20260507] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[15:09:54] 🎨 [01_Best Friend_20260507] Step 4: SeeDream cover (parallel)...\n  📝 [03_Sunflower_20260507] lyrics stripped: 2470c → 2463c\n[15:09:54] 🎵 [03_Sunflower_20260507] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[15:09:54] 🎨 [03_Sunflower_20260507] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['9283e582', 'f879a184']\n  🎵 9283e582... → submitted\n  🎵 f879a184... → submitted\n  ✅ submitted: ['84df2b90', '33d11bed']\n  🎵 84df2b90... → submitted\n  🎵 33d11bed... → submitted\n[15:09:56] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping\n[15:09:56] 🔄 [02_Much Too Much_20260507] Step 0: retry 1/2 in 5s...\n  🎵 9283e582... → queued\n  🎵 f879a184... → queued\n  🎵 84df2b90... → queued\n  🎵 33d11bed... → queued\n[15:10:03] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping\n[15:10:03] 🔄 [02_Much Too Much_20260507] Step 0: retry 2/2 in 10s...\n  🎵 9283e582... → streaming\n  🎵 f879a184... → streaming\n  🎵 84df2b90... → streaming\n  🎵 33d11bed... → streaming\n[15:10:14] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping\n[15:10:14] ❌ [02_Much Too Much_20260507] Step 0: No audio URL\n  🎵 84df2b90... → complete\n  🎵 9283e582... → complete\n  🎵 33d11bed... → complete\n[15:13:03]    🎧 [01_Best Friend_20260507] Song 1: https://cdn1.suno.ai/84df2b90-c60e-4681-b55a-7cda561ce562.mp3\n[15:13:03]    🎧 [01_Best Friend_20260507] Song 2: https://cdn1.suno.ai/33d11bed-efae-476d-b562-64cb601c62ea.mp3\n[15:13:03] 🎛️ [01_Best Friend_20260507] Step 3.5: 混音...\n[15:13:24]    🎚️ [01_Best Friend_20260507] Song 1: edm | 低46/中51/高3%\n  🎵 f879a184... → complete\n[15:13:24]    🎧 [03_Sunflower_20260507] Song 1: https://cdn1.suno.ai/9283e582-5445-466c-9044-9232e93b6031.mp3\n[15:13:24]    🎧 [03_Sunflower_20260507] Song 2: https://cdn1.suno.ai/f879a184-0ca7-4611-82cc-f50e3d8e25d7.mp3\n[15:13:24] 🎛️ [03_Sunflower_20260507] Step 3.5: 混音...\n[15:13:41]    🎚️ [01_Best Friend_20260507] Song 2: edm | 低54/中44/高2%\n[15:13:41] ✅ [01_Best Friend_20260507] Step 3.5: 38.3s | 2 songs mixed\n[15:13:41] ⚠️  [01_Best Friend_20260507] Step 4: http_403 (non-fatal)\n[15:13:59]    🎚️ [03_Sunflower_20260507] Song 1: edm | 低61/中36/高3%\n[15:14:19]    🎚️ [03_Sunflower_20260507] Song 2: edm | 低45/中52/高2%\n[15:14:19] ✅ [03_Sunflower_20260507] Step 3.5: 54.8s | 2 songs mixed\n[15:14:19] ⚠️  [03_Sunflower_20260507] Step 4: http_403 (non-fatal)\n\n======================================================================\nSUMMARY | 265s (4.4min)\n======================================================================\n✅ Done: 2 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1\n[MasterDB] ✅ 批次 batch-20260507-150642-d3f606 → +2 新增, ~0 更新 | 总计 640 首\n", "stderr_tail": "[profile] ✅ Loaded profile '__runtime_batch-20260507-150642-d3f606' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-150642-d3f606.yaml\n", "summary": {"timestamp": "2026-05-07T15:14:19.546693+08:00", "wall_clock": 265.5, "total": 3, "success": 2, "awaiting_step2": 0, "failed": 1}}, "status": "success"}
[exit 0]

=== 2026-05-07 15:14:20 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-150642-d3f606 ===
[Feishu] ✅ Exported 2 songs to: https://ccnu62373cgc.feishu.cn/sheets/Ws8ZsZq3jhnpdZt6rh0cgaiknHA
[Feishu] 📐 Expanded master sheet from 579 to 681 rows
[Feishu] ✅ Appended 2 new songs to master sheet (rows 580-581)
[MasterDB] ✅ 批次 batch-20260507-150642-d3f606 → +2 新增, ~0 更新 | 总计 581 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/Ws8ZsZq3jhnp
[15:14:29] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [旧茶渍] topic head sent (message_id=om_x100b50f7f39aa4acb22845596db7850)
[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 IM] ✅ [旧衬衫] topic head sent (message_id=om_x100b50f7f08dd48cb398b23f186878d)
[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-150642-d3f606
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260507-150642-d3f606
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606

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

=== 2026-05-07 15:15:03 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260507-150642-d3f606 --resume /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606 --target-language zh ===
[profile] ✅ Loaded profile '__runtime_batch-20260507-150642-d3f606' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260507-150642-d3f606.yaml

======================================================================
music-pipeline3000 v2 | 3 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606
Skip Suno: False | Step1 only: False | Version: v4
======================================================================

[15:15:05] 🏥 Health check...
[15:15:06] ✅ qishui: OK
[15:15:06] ✅ netease: OK
[15:15:06] ✅ qq: OK

[15:15:06] ⏭️  [01_Best Friend_20260507] Already complete, skipping
[15:15:06] 🔍 [02_Much Too Much_20260507] Step 0: Fetching...
[15:15:06] ⏭️  [03_Sunflower_20260507] Already complete, skipping
[15:15:08] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping
[15:15:08] 🔄 [02_Much Too Much_20260507] Step 0: retry 1/2 in 5s...
[15:15:16] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping
[15:15:16] 🔄 [02_Much Too Much_20260507] Step 0: retry 2/2 in 10s...
[15:15:28] ⚠️  [qishui] Source mismatch: requested '7392653281569736720' got '7024429573991352327', skipping
[15:15:28] ❌ [02_Much Too Much_20260507] Step 0: No audio URL

======================================================================
SUMMARY | 22s (0.4min)
======================================================================
✅ Done: 2 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1
[MasterDB] ✅ 批次 batch-20260507-150642-d3f606 → +0 新增, ~2 更新 | 总计 640 首
[exit 0]

=== 2026-05-07 15:15:29 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-150642-d3f606 ===
[Feishu] ✅ Exported 2 songs to: https://ccnu62373cgc.feishu.cn/sheets/UhTLsB6W4hGnP6tfUb8csKc8nqM
[Feishu] ⏭️  Skip duplicate (complete): Best Friend (https://fileserver.yuchenhu.com/pipeline/batch-20260507-150642-d3f606/01_Best%20Friend_20260507/song_pgc.mp3)
[Feishu] ⏭️  Skip duplicate (complete): Sunflower (https://fileserver.yuchenhu.com/pipeline/batch-20260507-150642-d3f606/03_Sunflower_20260507/song_pgc.mp3)
[MasterDB] ✅ 批次 batch-20260507-150642-d3f606 → +0 新增, ~0 更新 | 总计 581 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/UhTLsB6W4hGn
[15:15:36] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [旧茶渍] topic head sent (message_id=om_x100b50f78f583cb4b13c78481901842)
[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 IM] ✅ [旧衬衫] topic head sent (message_id=om_x100b50f78c67e890b2fae467462f0a6)
[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-150642-d3f606
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260507-150642-d3f606
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260507-150642-d3f606

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