# 2026-09-21 会话记录（第五阶段：韩译）

> 运行日 2026-09-21（周一）→ 最终文件 `json/0922data.json` / `json/ko-0922data.json`，report_date `2026-09-22`
> 板块 5/5/5/3/3，hero_summary 3 条，strategy_actions `[]`（非周日，已 clear）

## 1. 第五阶段标准执行链（本次实测）

```bash
python3.12 -u /data/news/scripts/dify_workflow_translate.py    # 95.1s，status=succeeded
python3.12 /data/news/scripts/translate_replace.py /data/news/json/ko-0922data.json   # 21 处
python3.12 /data/news/scripts/translate_replace.py /data/news/json/ko-0922data.json   # 0 处（幂等）
```

## 2. 新坑：`Yueda Kia(起亚)(悦达起亚)` 双重标注（短规则再匹配长 token）

**现象**：ko 文件 `hyundai_buzz_topics_domestic[2]` 的 title/summary 出现 `Yueda Kia(起亚)(悦达起亚)`。

**根因**：`translate_replace.py` 的 `Kia → Kia(起亚)` 规则
```python
re.sub(r'(?<!\(起亚\))Kia(?!\s*\(起亚\)|\s+Seltos)', ...)
```
Dify 输出 `Yueda Kia(悦达起亚)` 时，规则匹配到 `Yueda Kia` 里的 `Kia`（lookahead 只排除了 `(起亚)`，没排除 `(悦达起亚)`），插入 `(起亚)` → 双重标注。
与 SKILL.md 2026-08-05「短规则必须显式排除长 token 尾词」同源，但这次是**带括号输出的短规则被更长 token 前缀触发**。

**修复（已写入脚本，位于 Kia Seltos 规则之前）**：
```python
# Yueda Kia → Yueda Kia(悦达起亚)（合资公司全称，须在 Kia 之前）
text = re.sub(r'Yueda Kia\(起亚\)\(悦达起亚\)', 'Yueda Kia(悦达起亚)', text)   # 0 双重标注清理
text = re.sub(r'Yueda Kia\(起亚\)', 'Yueda Kia(悦达起亚)', text)              # 1 旧形态归一
text = re.sub(r'(?<!\(悦达起亚\))Yueda Kia(?!\s*\([^)]*\))', 'YK_MARKER', text)  # 2 未标注
text = text.replace('YK_MARKER', 'Yueda Kia(悦达起亚)')
text = re.sub(r'Yueda Kia\(悦达起亚\)\(悦达起亚\)', 'Yueda Kia(悦达起亚)', text)  # 3 重复清理
# Kia 短规则同步排除
re.sub(r'(?<!Yueda )(?<!\(起亚\))Kia(?!\s*\(起亚\)|\s*\(悦达起亚\)|\s+Seltos)', ...)
```

**标注内容判据**：CN 源 brand=`起亚/北京现代`、title=`…悦达起亚第6…`。按 SKILL「英文(中文)，中文=中文文件中的品牌名」＋与既有 `Beijing Hyundai(北京现代)` 合资公司规则类比 → 取**合资公司全称** `Yueda Kia(悦达起亚)`。
⚠️ 历史遗留：0916 ko 文件为 `Yueda Kia(起亚)`（同一 bug 的产物，中文名不完整）。**若用户要求与已发布文件保持一致，改为 `(起亚)` 只需删掉上面第 0、1 条规则。** 已向用户报备待确认。

**验证**：跑 3 次 → 2 / 0 / 0，幂等 ✅。

## 3. 第五阶段核验脚本（可复用）

```python
# 双重标注
re.finditer(r'\([^)]*\)\([^)]*\)', text)
# 逐条 CN/KO title 对照 + 字段完整性（title/summary/focus_point/thumb/source_url/platform）
# heat_score 一致性（social）、icon 一致性（hyundai）
# 中文截断标记：endswith('…') / '…' in v
```

**注意**：扫码时不要误报以下**正常**项 —
- `platform`/`icon` 里的中文媒体名（`IT之家`/`腾讯新闻`/`新浪.ico`）＝ 规则「中国媒体名保留中文」，正确；
- `brand`/`vehicle` 板块无 `heat_score`、`icon` 字段 ＝ 与 CN 文件一致，正常（heat_score 仅 social，icon 仅 hyundai）；
- 韩文摘要 64-95 字 ＝ 韩译不做压缩，正常。

## 4. 本次遗留（已向用户报备，待决策）

- `hyundai_buzz_topics_domestic[1]`（起亚嘉华2026款）**源头即无 thumb**（origin_data 里就是空）。新浪原文 `auto.sina.cn` 与 `k.sina.com.cn` 同题页均**只有站内占位图/图标，无真实车图**（Playwright 渲染验证）。下一步按规则为「原文无图 → 豆包生成」或保持空，由用户决定。
- 6 条 hyundai 条目另有 5 条 thumb 为**外链**（gtimg/nimg/sinaimg），未本地化到 `/images/0922/`。历史对照：手动流水线 0901-0918 均为空，0919-0921 的 local 路径来自 **cron 6:59 daily_report_auto.sh**（非手动流水线）。`thumb_localize.py` 硬编码 `MMDD=今天`，直接跑会污染 `json/0921data.json`（昨日最终文件）→ **不要直接运行**，需先参数化。
