
=== 2026-05-12 15:19:57 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b -cg 2 -cs 2 --skip-feishu --profile grammy --step1-only ===
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[step075] cache hit: song_pgc.mp3 → 0ac0cd4c0760

======================================================================
music-pipeline3000 v2 | 3 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[15:19:58] 🏥 Health check...
[15:20:00] ✅ qishui: OK
[15:20:00] ✅ netease: OK
[15:20:00] ✅ qq: OK

[15:20:00] 🔍 [01_Espresso_20260512] Step 0: Fetching...
[15:20:00] 🔍 [02_A Bar Song (Tipsy)_20260512] Step 0: Fetching...
[15:20:00] 🔍 [03_Normal No More_20260512] Step 0: Fetching...
[15:20:04] ✅ [02_A Bar Song (Tipsy)_20260512] Step 0: netease | 2317c lyrics
[15:20:04] ⬇️  [02_A Bar Song (Tipsy)_20260512] Step 0.5: Download from netease...
[15:20:04] ✅ [01_Espresso_20260512] Step 0: netease | 2094c lyrics
[15:20:04] ⬇️  [01_Espresso_20260512] Step 0.5: Download from netease...
[15:20:04] ✅ [03_Normal No More_20260512] Step 0: netease | 1520c lyrics
[15:20:04] ⬇️  [03_Normal No More_20260512] Step 0.5: Download from netease...
[15:20:09] ✅ [02_A Bar Song (Tipsy)_20260512] Step 0.5: 3504541 bytes | 171.3s
[15:20:09] 🔬 [02_A Bar Song (Tipsy)_20260512] Step 0.75: Audio features...
[15:20:09] ✅ [02_A Bar Song (Tipsy)_20260512] Step 0.75: BPM=162.73 Key=F# minor (32.7s)
[15:20:09] 🧠 [02_A Bar Song (Tipsy)_20260512] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T07:20:09.173Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "02_A Bar Song (Tipsy)_20260512", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/02_A Bar Song (Tipsy)_20260512/song_pgc.mp3", "has_features": true}}
[step1] cache hit: song_pgc.mp3 → ecc99a8bab02 (saving 1 Gemini call)
{"__trace__": true, "ts": "2026-05-12T07:20:09.222Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "02_A Bar Song (Tipsy)_20260512", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 61.4, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-12T07:20:09.222Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "02_A Bar Song (Tipsy)_20260512", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 0.048}
[step075] cache hit: song_pgc.mp3 → c14d717593b8
[15:20:09] ⚠️  [02_A Bar Song (Tipsy)_20260512] Step 1.5: prompt 1158c > 1000c, compressing...
  📏 [02_A Bar Song (Tipsy)_20260512] prompt 1158c → 967c (smart truncate)
[15:20:09] ✅ [02_A Bar Song (Tipsy)_20260512] Step 1.5: prompt compressed 1158c → 967c
[15:20:09] ✅ [02_A Bar Song (Tipsy)_20260512] Step 1: 61.4s | prompt=967c | prompt_ok=True lyrics_ok=True
[15:20:10] ✅ [01_Espresso_20260512] Step 0.5: 3814928 bytes | 175.5s
[15:20:10] 🔬 [01_Espresso_20260512] Step 0.75: Audio features...
[15:20:10] ✅ [01_Espresso_20260512] Step 0.75: BPM=103.91 Key=A major (33.0s)
[15:20:10] 🧠 [01_Espresso_20260512] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T07:20:10.334Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "01_Espresso_20260512", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/01_Espresso_20260512/song_pgc.mp3", "has_features": true}}
[step1] cache hit: song_pgc.mp3 → ad2a54400999 (saving 1 Gemini call)
{"__trace__": true, "ts": "2026-05-12T07:20:10.369Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "01_Espresso_20260512", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 49.3, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-12T07:20:10.369Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "01_Espresso_20260512", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 0.035}
[step075] cache hit: song_pgc.mp3 → ca9617abdd1f
[15:20:10] ⚠️  [01_Espresso_20260512] Step 1.5: prompt 1156c > 1000c, compressing...
  📏 [01_Espresso_20260512] prompt 1156c → 984c (smart truncate)
[15:20:10] ✅ [01_Espresso_20260512] Step 1.5: prompt compressed 1156c → 984c
[15:20:10] ✅ [01_Espresso_20260512] Step 1: 49.3s | prompt=984c | prompt_ok=True lyrics_ok=True
[15:20:10] ✅ [03_Normal No More_20260512] Step 0.5: 3802772 bytes | 199.6s
[15:20:10] 🔬 [03_Normal No More_20260512] Step 0.75: Audio features...
[15:20:10] ✅ [03_Normal No More_20260512] Step 0.75: BPM=94.97 Key=G major (23.3s)
[15:20:10] 🧠 [03_Normal No More_20260512] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T07:20:10.426Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "03_Normal No More_20260512", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/03_Normal No More_20260512/song_pgc.mp3", "has_features": true}}
[step1] cache hit: song_pgc.mp3 → 7c3298edd901 (saving 1 Gemini call)
{"__trace__": true, "ts": "2026-05-12T07:20:10.460Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "03_Normal No More_20260512", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 56.2, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-12T07:20:10.460Z", "trace_id": "batch-20260512-151957-75b10b", "song_key": "03_Normal No More_20260512", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 0.035}
[15:20:10] ⚠️  [03_Normal No More_20260512] Step 1.5: prompt 1052c > 1000c, compressing...
  📏 [03_Normal No More_20260512] prompt 1052c → 946c (smart truncate)
[15:20:10] ✅ [03_Normal No More_20260512] Step 1.5: prompt compressed 1052c → 946c
[15:20:10] ✅ [03_Normal No More_20260512] Step 1: 56.2s | prompt=946c | prompt_ok=True lyrics_ok=True

======================================================================
SUMMARY | 10s (0.2min)
======================================================================
✅ Done: 3 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0
[MasterDB] ✅ 批次 batch-20260512-151957-75b10b → +0 新增, ~0 更新 | 总计 664 首
[exit 0]

=== 2026-05-12 15:20:11 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b --profile grammy --resume-mode each --skip-feishu ===
[phase2] batch=batch-20260512-151957-75b10b pending=3 groups=1
[phase2] group 1/1 -> 01_Espresso_20260512, 02_A Bar Song (Tipsy)_20260512, 03_Normal No More_20260512
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 01_Espresso_20260512: target_language=auto
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 02_A Bar Song (Tipsy)_20260512: target_language=auto
[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml
[phase2] 🌐 03_Normal No More_20260512: 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-20260512-151957-75b10b/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b --profile grammy --skip-feishu
[15:20:11] 🌐 [01_Espresso_20260512] Step 2: target_language=auto → lang_mode=EN
[15:20:11] 🤖 [01_Espresso_20260512] Step 2 API: 37006 chars ≈ 9251 tokens → claude-sonnet-4-6
[15:20:11] 🌐 [02_A Bar Song (Tipsy)_20260512] Step 2: target_language=auto → lang_mode=EN
[15:20:11] 🤖 [02_A Bar Song (Tipsy)_20260512] Step 2 API: 36486 chars ≈ 9121 tokens → claude-sonnet-4-6
[15:20:11] 🌐 [03_Normal No More_20260512] Step 2: target_language=auto → lang_mode=EN
[15:20:11] 🤖 [03_Normal No More_20260512] Step 2 API: 35934 chars ≈ 8983 tokens → claude-sonnet-4-6
[15:20:47] ⚠️  [03_Normal No More_20260512] Step 2 API: originality 61% < 85% | 0 copied phrases
[15:20:47] 🔄 [03_Normal No More_20260512] Step 2 API: originality retry 1/3...
[15:20:56] ⚠️  [01_Espresso_20260512] Step 2 API: originality 52% < 85% | 5 copied phrases
          ❗ ". Wide stereo image from guitars, BVs, and effects. Vocals upfront with light saturation and short, clean reverb. Overall heavy but transparent compression.)" ~ ". Wide stereo image from guitars, BVs, and effects. Vocals upfront with light saturation and short, clean reverb. Overall heavy but transparent compression.)" (100%)
          ❗ ", anchors on the 5th; Motif repeats, then resolves down to root on hook's final word.)" ~ ", anchors on the 5th; Motif repeats, then resolves down to root on hook's final word.)" (100%)
          ❗ "for a full beat before resolving, creating a dreamy, lingering feeling.)" ~ "for a full beat before resolving, creating a dreamy, lingering feeling.)" (100%)
          ❗ ", anchors on the 5th; Motif repeats, then resolves down to root on hook's final word.)" ~ ", anchors on the 5th; Motif repeats, then resolves down to root on hook's final word.)" (100%)
          ❗ "for a full beat before resolving.)" ~ "for a full beat before resolving.)" (100%)
[15:20:56] 🔄 [01_Espresso_20260512] Step 2 API: originality retry 1/3...
[15:21:09] ⚠️  [02_A Bar Song (Tipsy)_20260512] Step 2 API: originality 52% < 85% | 4 copied phrases
          ❗ "; repeats with slight variation, creating an insistent, memorable hook.)" ~ "; repeats with slight variation, creating an insistent, memorable hook.)" (100%)
          ❗ "Oh my, good Lord" ~ "Oh my, good Lord" (100%)
          ❗ "are more prominent.)" ~ "are more prominent.)" (100%)
          ❗ "Oh my, good Lord" ~ "Oh my, good Lord" (100%)
[15:21:09] 🔄 [02_A Bar Song (Tipsy)_20260512] Step 2 API: originality retry 1/3...
[15:21:19] ⚠️  [03_Normal No More_20260512] Step 2 API retry 1: originality 63%
[15:21:19] 🔄 [03_Normal No More_20260512] Step 2 API: originality retry 2/3...
[15:21:43] ⚠️  [01_Espresso_20260512] Step 2 API originality retry 1 failed: Expecting value: line 1 column 1 (char 0)
[15:21:43] ⚠️  [01_Espresso_20260512] Step 2 API: best originality 52% after 3 retries
[15:21:43] ✅ [01_Espresso_20260512] Step 2 API: 《Second Thought》 | 44.5s | in=19946 out=2744 | ~$0.101
[15:22:03] ⚠️  [03_Normal No More_20260512] Step 2 API originality retry 2 failed: Expecting value: line 1 column 1 (char 0)
[15:22:03] ⚠️  [03_Normal No More_20260512] Step 2 API: best originality 63% after 3 retries
[15:22:03] ✅ [03_Normal No More_20260512] Step 2 API: 《Second Skin》 | 67.7s | in=41740 out=4661 | ~$0.195
[15:22:13] ⚠️  [02_A Bar Song (Tipsy)_20260512] Step 2 API originality retry 1 failed: Expecting value: line 1 column 1 (char 0)
[15:22:13] ⚠️  [02_A Bar Song (Tipsy)_20260512] Step 2 API: best originality 52% after 3 retries
[15:22:13] ✅ [02_A Bar Song (Tipsy)_20260512] Step 2 API: 《Gravel & Gone》 | 58.3s | in=19571 out=2442 | ~$0.095
{"timestamp": "2026-05-12T15:20:11.177673+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b", "profile": "grammy", "concurrency": 3, "resume_mode": "each", "pending_song_count": 3, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/01_Espresso_20260512", "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/02_A Bar Song (Tipsy)_20260512", "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/03_Normal No More_20260512"], "success_count": 3, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/01_Espresso_20260512", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/01_Espresso_20260512/step2_json_b.json", "agent_summary": "API direct: Second Thought", "returncode": 0, "stderr": "", "attempt": 1, "attempts": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/01_Espresso_20260512", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/01_Espresso_20260512/step2_json_b.json", "agent_summary": "API direct: Second Thought", "returncode": 0, "stderr": "", "attempt": 1}]}, {"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/02_A Bar Song (Tipsy)_20260512", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/02_A Bar Song (Tipsy)_20260512/step2_json_b.json", "agent_summary": "API direct: Gravel & Gone", "returncode": 0, "stderr": "", "attempt": 1, "attempts": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/02_A Bar Song (Tipsy)_20260512", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/02_A Bar Song (Tipsy)_20260512/step2_json_b.json", "agent_summary": "API direct: Gravel & Gone", "returncode": 0, "stderr": "", "attempt": 1}]}, {"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/03_Normal No More_20260512", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/03_Normal No More_20260512/step2_json_b.json", "agent_summary": "API direct: Second Skin", "returncode": 0, "stderr": "", "attempt": 1, "attempts": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/03_Normal No More_20260512", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b/03_Normal No More_20260512/step2_json_b.json", "agent_summary": "API direct: Second Skin", "returncode": 0, "stderr": "", "attempt": 1}]}]}], "resume": {"status": "success", "returncode": 0, "stdout_tail": "=====================================\nmusic-pipeline3000 v2 | 3 songs\n======================================================================\nGemini concurrency: 2 | Suno concurrency: 3\nOutput: /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[15:22:14] 🏥 Health check...\n[15:22:16] ✅ qishui: OK\n[15:22:16] ✅ netease: OK\n[15:22:16] ✅ qq: OK\n\n  📝 [01_Espresso_20260512] lyrics stripped: 5439c → 5000c\n[15:22:16] 🎵 [01_Espresso_20260512] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[15:22:16] 🎨 [01_Espresso_20260512] Step 4: SeeDream cover (parallel)...\n  📝 [02_A Bar Song (Tipsy)_20260512] lyrics stripped: 4934c → 4928c\n[15:22:16] 🎵 [02_A Bar Song (Tipsy)_20260512] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[15:22:16] 🎨 [02_A Bar Song (Tipsy)_20260512] Step 4: SeeDream cover (parallel)...\n  📝 [03_Normal No More_20260512] lyrics stripped: 4352c → 4345c\n[15:22:16] 🎵 [03_Normal No More_20260512] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[15:22:16] 🎨 [03_Normal No More_20260512] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['2e5e39c6', '826487b4']\n  🎵 2e5e39c6... → submitted\n  🎵 826487b4... → submitted\n  ✅ submitted: ['90a189fd', '011f2d79']\n  ✅ submitted: ['2340b539', 'b483a59c']\n  🎵 90a189fd... → submitted\n  🎵 011f2d79... → submitted\n  🎵 2340b539... → submitted\n  🎵 b483a59c... → submitted\n  🎵 90a189fd... → queued\n  🎵 011f2d79... → queued\n  🎵 2340b539... → queued\n  🎵 b483a59c... → queued\n  🎵 2e5e39c6... → queued\n  🎵 826487b4... → queued\n  🎵 2e5e39c6... → streaming\n  🎵 826487b4... → streaming\n  🎵 b483a59c... → streaming\n  🎵 90a189fd... → streaming\n  🎵 011f2d79... → streaming\n  🎵 2340b539... → streaming\n  🎵 90a189fd... → complete\n  🎵 2340b539... → complete\n  🎵 826487b4... → complete\n  🎵 011f2d79... → complete\n[15:24:41]    🎧 [03_Normal No More_20260512] Song 1: https://cdn1.suno.ai/90a189fd-dab2-40be-b5ef-646d2e8c9f3b.mp3\n[15:24:41]    🎧 [03_Normal No More_20260512] Song 2: https://cdn1.suno.ai/011f2d79-13fc-45d4-b072-68542b0fffa7.mp3\n[15:24:41] 🎛️ [03_Normal No More_20260512] Step 3.5: 混音...\n[15:25:00]    🎚️ [03_Normal No More_20260512] Song 1: edm | 低72/中25/高3%\n  🎵 2e5e39c6... → complete\n[15:25:00]    🎧 [01_Espresso_20260512] Song 1: https://cdn1.suno.ai/2e5e39c6-2efc-4296-b5fe-20f917fd7c00.mp3\n[15:25:00]    🎧 [01_Espresso_20260512] Song 2: https://cdn1.suno.ai/826487b4-4e96-4683-8649-5f83102bd8c5.mp3\n[15:25:00] 🎛️ [01_Espresso_20260512] Step 3.5: 混音...\n[15:25:14]    🎚️ [03_Normal No More_20260512] Song 2: pop | 低55/中44/高1%\n[15:25:14] ✅ [03_Normal No More_20260512] Step 3.5: 32.8s | 2 songs mixed\n[15:25:14] ⚠️  [03_Normal No More_20260512] Step 4: http_403 (non-fatal)\n[15:25:28]    🎚️ [01_Espresso_20260512] Song 1: rock | 低68/中26/高6%\n  🎵 b483a59c... → complete\n[15:25:28]    🎧 [02_A Bar Song (Tipsy)_20260512] Song 1: https://cdn1.suno.ai/2340b539-fe37-4a71-8209-7e6c043c8423.mp3\n[15:25:28]    🎧 [02_A Bar Song (Tipsy)_20260512] Song 2: https://cdn1.suno.ai/b483a59c-3d5d-46e5-a3a4-4dc98e107b0a.mp3\n[15:25:28] 🎛️ [02_A Bar Song (Tipsy)_20260512] Step 3.5: 混音...\n[15:25:43]    🎚️ [01_Espresso_20260512] Song 2: rock | 低75/中23/高3%\n[15:25:43] ✅ [01_Espresso_20260512] Step 3.5: 42.8s | 2 songs mixed\n[15:25:43] ⚠️  [01_Espresso_20260512] Step 4: http_403 (non-fatal)\n[15:25:56]    🎚️ [02_A Bar Song (Tipsy)_20260512] Song 1: edm | 低55/中42/高4%\n[15:26:13]    🎚️ [02_A Bar Song (Tipsy)_20260512] Song 2: edm | 低53/中44/高3%\n[15:26:13] ✅ [02_A Bar Song (Tipsy)_20260512] Step 3.5: 45.0s | 2 songs mixed\n[15:26:13] ⚠️  [02_A Bar Song (Tipsy)_20260512] Step 4: http_403 (non-fatal)\n\n======================================================================\nSUMMARY | 237s (4.0min)\n======================================================================\n✅ Done: 3 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0\n[MasterDB] ✅ 批次 batch-20260512-151957-75b10b → +3 新增, ~0 更新 | 总计 667 首\n", "stderr_tail": "[profile] ✅ Loaded profile 'grammy' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/grammy.yaml\n", "summary": {"timestamp": "2026-05-12T15:26:13.414247+08:00", "wall_clock": 237.1, "total": 3, "success": 3, "awaiting_step2": 0, "failed": 0}}, "status": "success"}
[exit 0]

=== 2026-05-12 15:26:14 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b ===
[Feishu] ✅ Exported 3 songs to: https://ccnu62373cgc.feishu.cn/sheets/GDA2s2l2Bhez2BtyEnacKF0mn2e
[Feishu] 📐 Expanded master sheet from 604 to 707 rows
[Feishu] ✅ Appended 3 new songs to master sheet (rows 605-607)
[MasterDB] ✅ 批次 batch-20260512-151957-75b10b → +3 新增, ~0 更新 | 总计 607 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/GDA2s2l2Bhez
[15:26:23] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [Second Thought] topic head sent (message_id=om_x100b6f192cc95088b13f152c2ee4218)
[Feishu IM] ✅ [Second Thought] Second Thought_V1_raw.mp3 replied
[Feishu IM] ✅ [Second Thought] Second Thought_V1_mixed.mp3 replied
[Feishu IM] ✅ [Second Thought] Second Thought_V2_raw.mp3 replied
[Feishu IM] ✅ [Second Thought] Second Thought_V2_mixed.mp3 replied
[Feishu IM] ✅ [Gravel & Gone] topic head sent (message_id=om_x100b6f192ddda0a4b3dddb2ee6fb8e7)
[Feishu IM] ✅ [Gravel & Gone] Gravel & Gone_V1_raw.mp3 replied
[Feishu IM] ✅ [Gravel & Gone] Gravel & Gone_V1_mixed.mp3 replied
[Feishu IM] ✅ [Gravel & Gone] Gravel & Gone_V2_raw.mp3 replied
[Feishu IM] ✅ [Gravel & Gone] Gravel & Gone_V2_mixed.mp3 replied
[Feishu IM] ✅ [Second Skin] topic head sent (message_id=om_x100b6f192d2614ecb16f42b2b029695)
[Feishu IM] ✅ [Second Skin] Second Skin_V1_raw.mp3 replied
[Feishu IM] ✅ [Second Skin] Second Skin_V1_mixed.mp3 replied
[Feishu IM] ✅ [Second Skin] Second Skin_V2_raw.mp3 replied
[Feishu IM] ✅ [Second Skin] Second Skin_V2_mixed.mp3 replied
[Feishu] ✅ Already on file server: /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260512-151957-75b10b
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260512-151957-75b10b

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