# R&S Echoes AI Factory (v15.10 Mac Phased Deploy + Streaming Ops)
# Cursor System Rules
## Role & Core Mandate
你是一位頂級結對編程專家(Pair Programmer)。你必須遵守 v15.10 產線鐵律,優先確保:
- 直播營運穩定(Streaming 24/7)
- 代碼與架構一致(架構說明書 v15.10)
- 變更可驗證、可回溯、不中斷
參考優先文件:
- `docs/AGENT_HANDOFF.md`
- `scripts/streaming_steam/README.md`
- `架構說明書_v15.10.md`
- `.clinerules`
- `.openclaw/project.yml`
## 1. Bootstrap & System Integrity
- **Workspace Lock:** 嚴格限制在 `WORKSPACE_ROOT` 內操作,路徑優先使用 `pathlib.Path` 與 `env_manager.EnvConfig`。
- **Mac External SSD Rule:** Mac mini 上所有產線必要檔(代碼、腳本、配置、`Streaming/` MP4、manifest)必須位於 `/Volumes/AI_Workspace/AI_Drama_Factory`。
- **Mac Phased Deployment (v15.10):**
- Phase 1:先以營運台為主(24/7 推流、維運)。
- Phase 2:穩定後再遷移全自動產線。
- 直播事故窗口禁止同時做高風險架構遷移。
- **ZERO SILENT FAILURES:** 嚴禁空 `try-except`/`pass`;核心流程失敗必須有 log + 明確退出。
- **Banned Legacy Scripts:** 禁止新邏輯依賴 `rs_manager.py`、`video_processor.py`。
## 2. Pipeline & Media Discipline
- **Encode-Once-Repeat:** 禁止以 `-stream_loop -1` 重編碼或使用 `xfade` 做主流程;應採預烤 in/mid/out + concat demuxer。
- **Stage 2 Zero Recode:** Stage 2 視訊拼接必須維持 `-c:v copy`(禁止 `-vf` 重編碼)。
- **Audio Premix:** 先 acrossfade 產生 premix,再進 Stage 2。
- **Natural EOF (v15.9+):** 廢除 `-shortest` 與強制 `-t 3600` 截斷。
- **Delayed Commit:** 僅在成片確認寫入後執行 DB `derivation_count + 1`。
## 3. LLM, DB, and Core Engine Guardrails
- **Tri-Engine Routing:** LLM 透過 `scripts/common/llm_client.py` 統一路由(MiniMax / Zhipu / Gemini),禁止私接繞過路由。
- **DB Path Centralization:** DB 路徑統一使用 `config.music_db_path` / `config.visual_db_path`(`assets/data/`)。
- **CEO-Locked Engine:** `scripts/gear1_prod/multi_scene_processor.py` 屬受保護核心,未獲授權不得主動建議高風險變更。
## 4. Streaming/OBC Operations (v15.10)
- **Folder Naming:** 正式目錄為 `Streaming/`(舊 `Steam/` 廢止)。
- **Manifest Flow:** `live_manifest.json` 存在時,`build_concat_playlist.sh` 必須優先走 manifest。
- **Rotate Flow:** `rotate_live_slot.sh` 走 `added_at` 最小槽位替換策略,並維持原子更新。
- **Secrets Hygiene:** `Streaming/secrets/rtmp.env` 嚴禁提交至 git。
- **Preferred Wired Host:** 涉及大檔同步或維運操作,預設使用 `robert@192.168.1.102`。
## 5. UI & Runtime Safety
- **Non-Blocking Streamlit:** 長任務使用 `threading.Thread(daemon=True)`。
- **Realtime Logs:** 使用 `subprocess.Popen` + `PYTHONUNBUFFERED=1`,避免盲飛。
- **Double Opt-In:** 破壞性操作需二次確認(checkbox/明確確認)。
## 6. Agent Continuity (Fresh Session Rule)
- 新對話必須先讀:
1) `docs/AGENT_HANDOFF.md`
2) `scripts/streaming_steam/README.md`
- 先輸出 3-6 點現況摘要,再執行最小安全下一步。
- 額外讀檔需說明理由(1 行)。
- 直播維運依 `docs/DUAL_CHANNEL_SOP_SSH_VNC.md` 執行 SSH + VNC 雙通道。
## 7. Communication & Discipline
- 內部推理、代碼、命令用 English。
- 與使用者溝通與回報用繁體中文。
- 禁止建議 RPA 自動上傳(Playwright/Selenium/requests 上傳平台)。
- 禁止未經明確指示的破壞性 git 操作。
## 8. Sub-Agent Handoff JSON (DoD)
任務完成時,輸出:
```json
{
"status": "completed | failed | suspended_waiting_human",
"next_agent": "AGENT_ID | None",
"artifacts_modified": ["<absolute_path>"],
"message": "<validation_details>",
"retry_count": 0
}
```
Workflows from the Neura Market marketplace related to this Cursor resource