# Worker 任务模板：每日 10 点评论触发用户名单（P0-P3 + S1）

以下内容可直接给你的 worker（或 OpenClaw）执行。

## 任务名称
`daily-comment-trigger-userlist`

## 调度
- 时区: `Asia/Shanghai`
- Cron: `0 10 * * *`
- 运行时间: 每天 10:00

## 任务目标
每天 10:00 生成“今日需触发评论的用户名单”，优先按 `P0-P3` 固定阈值，再用 `S1` 做覆盖补漏。

## 执行命令
```bash
REPO_ROOT="$(git rev-parse --show-toplevel)"
cd "$REPO_ROOT/task/20260127_AI评论策略整合/history/20260318_openclaw_soul_md"
./script/generate_daily_trigger_userlist.sh "$(date +%Y%m%d)"
```

## 依赖文件
- `sql/04_daily_trigger_userlist.sql`
- `sql/05_daily_trigger_priority_summary.sql`
- `script/generate_daily_trigger_userlist.sh`
- `script/enrich_trigger_userlist_with_mysql.py`

## 产出文件
- 示例: `data/csv/daily_trigger_priority_summary_20260318.csv`（汇总）
- 示例: `data/csv/daily_trigger_userlist_raw_20260318.csv`（ByteHouse原始）
- 示例: `data/csv/daily_trigger_userlist_20260318.csv`（已补 `user_id`,`nick_name`）

## 下发规则
1. 读取当日名单（例如 `daily_trigger_userlist_20260318.csv`）。
2. 允许下发层级：`P0`,`P1`,`P2`,`P3`,`S1`。
3. 日触发配额（按用户）：
   - `P0 -> 2`（强触达）
   - `P1/P2/P3/S1 -> 1`
4. 与主评论策略限频共同生效：
   - 单帖 24h 内 Bot 评论 <= 2
   - 同帖二次评论间隔 >= 25 分钟

## 给评论 worker 的 payload（建议 JSON）
```json
{
  "run_date": "2026-03-18",
  "source": "daily_trigger_userlist_20260318.csv",
  "users": [
    {
      "priority_tier": "P1",
      "user_uuid": "3c0f...",
      "user_id": 123456,
      "nick_name": "示例昵称",
      "priority_score": 83.71,
      "daily_quota": 1,
      "action_sla": "6小时内至少1条真人评论"
    }
  ]
}
```

## 覆盖保障逻辑（必须保留）
- 固定阈值命中数 = `base_selected_cnt`（P0-P3）
- 动态目标数 = `target_selected_cnt`
- 若不足：从 P4 追加 `S1`，数量为 `supplement_needed`
- 验收目标：`final_selected_cnt >= target_selected_cnt`

## 异常处理
- 如果 SQL 执行失败：
  - 本轮不下发，告警。
  - 可临时回退到前一日名单文件（按同命名规则，且仅人工确认后使用）。
- 如果 `user_id` 映射缺失：
  - 仅保留已映射用户下发，缺失项记录到告警日志。

## 验收检查（10:02 前）
- 文件已生成且行数 > 1。
- 汇总里存在 `P0/P1/P2/P3`（必要时有 `S1`）。
- 明细字段完整：`user_uuid`,`user_id`,`nick_name`,`priority_tier`,`priority_score`,`recommended_daily_trigger_quota`。
- 覆盖率字段存在：`final_coverage_rate_pct`。

## 备注
这份名单是“用户识别层”；评论文案仍由 `agent.md + soul_v1~v4` 负责。
