# 2026-05-20 工作日志

## [童瑶] L1-S2-U17-L2 迟到的包裹 — 英文台词润色
- 134行对话台词全部润色完成，写入H列
- S2标准：句长≤8词、英式拼写、口语化、知识点保留
- 详情见 `business_production/英文台词/memory/2026-05-20.md`

## [童瑶] L1-S2-U17-L1 摩托怪客 — 组件配置JSON
- 16个互动组件，14个成功生成JSON，2个跳过
- 跳过：图片无序多选（注册表无匹配）、阅读理解（核心互动未注册）
- HTML报告已通过飞书Bot发送给童瑶


## [童瑶] L1-S2-U17-L4 捉迷藏 — 组件生产（第111行起）
- **文档**: SAadwW8YaiObl8k4op3c6vs8nqb | **Sheet**: wMQVyV | **Spreadsheet**: It4AsFkC7hXHc4te9yUcyLHRnOe
- 从第111行起识别9个互动组件，全部完成F列回填，最终验证通过
- 最终组件行及对应关系：

| 行号 | 组件类型 | 组件ID |
|------|---------|--------|
| 111 | 对话选择-配图 | 1217408 |
| 119 | 对话选择-配图 | 1217409 |
| 127 | 对话挖空-配图 | 1217410 |
| 130 | 对话组句-配图 | 1217411 |
| 141 | 对话组句-配图 | 1217412 |
| 150 | 看图拼词 | 1217413 |
| 166 | 对话挖空 | 1217414 |
| 167 | 对话挖空 | 1217415 |
| 186 | 对话朗读 | 1217416 |

### 经验教训：行号偏移问题
- **现象**：Sheet数据的实际组件行与初始读取存在±2行偏移，导致首次多行写错位置
- **根因**：文档可能在并发编辑中被插入/删除了行，导致行号变动
- **解决方案**：写入前必须重新扫描目标范围确认当前行号 → 写入后立即回读验证
- **脚本**: `/root/.openclaw/workspace-xiaoyan/scripts/fix_components.py`（修复+写入脚本）

### 新增生产规则（来自本次实践+童瑶确认）
1. **图片时机 vs 音频载体互斥**：配图类组件仅使用「图片时机」，不得同时出现「音频载体」
2. **情境引入禁止重复上行台词**：如上行是 Eva 的台词，情境引入不能用相同的台词，统一用「无」
3. **后置对话禁止重复下行台词**：如下行是 User 的后续台词，后置对话不能复制，统一用「无」
4. **组件配置权威文档**：`WD6LwyWNtip8M8k0RWxcbJDcnxe`（飞书知识库 - 教研生产配置、修改规范）

## [李应瑛] 组件配置正确流程纠正
- **纠正**：不应手动往 wiki 文档 C 列写文本格式配置，正确做法是用 pipeline 脚本
- **正确流程**：
  ```
  cd /root/.openclaw/workspace-xiaoyan/business_production/组件配置/interactive-component-json && \
  python3 scripts/pipeline.py "<wiki_url>" --send-to gc9f72ff
  ```
- **Pipeline 6 步**：读取飞书文档 → 解析剧本sheet → 匹配组件类型 → LLM生成jsonData/kpInfo → 写入本地SQLite → 生成HTML报告发送给童瑶
- **Skill 目录**：`business_production/组件配置/interactive-component-json/`

## [李应瑛] L1-S2-U17-L4 门关啦 — Pipeline 组件配置生产
- **文档**: SAadwW8YaiObl8k4op3c6vs8nqb | **Spreadsheet**: It4AsFkC7hXHc4te9yUcyLHRnOe
- **结果**：16个组件中 15成功 / 0失败 / 1跳过（看图拼词 1217413 未注册）

### Bug修复：parse_script.py cId提取fallback
- **现象**：pipeline 识别到 0 个组件行
- **根因**：本文档的 cId（如 1217408）嵌入在 B 列（配置信息）而非 A 列（类型）。`extract_component_id` 只从类型列提取 cId，找不到就返回 None
- **修复**：在 `parse_component_rows` 中新增 fallback — 当 comp_info 为 None 时，从 config_info 列（B列）提取 cId
- **修改文件**：`business_production/组件配置/interactive-component-json/scripts/parse_script.py`

### 待处理
- 「看图拼词」类型需注册到 `match_component.py` 后才能生成 JSON
