## [刘彦江] 单元挑战听力审校（2026-05-14 10:23）

### 审校范围
单元挑战多维表格（App Token: `CMHSbUUjka3TrUsaxxEc297ongf`）听力部分 P1-P7，排除P3。

### 审校结果
- 总记录数：90条（含空记录），有内容54条
- ✅ 通过：45条 | 🔴 需修改：9条

### 🔴 需修改记录
| 表 | record_id | 问题 |
|---|---|---|
| P4-短对话选择 | recvjufM76lEsW | 题目集合ID不匹配: field=021501, jsonData=032901 |
| P4-短对话选择 | recvjufM76lRHQ | 题目集合ID不匹配: field=021801, jsonData=173601 |
| P7-听力拖拽 | recv9G4M8EitVx | ability用¥¥分隔, 应为逗号 |
| P7-听力拖拽 | recvhYCmybrzzx | second[0].ability为空 |
| P7-听力拖拽 | recviZIWmT91yS | QSID="L1"异常, 题目1/2文本字段空 |
| P7-听力拖拽 | recvj5t2UBNxx3 | second[0].ability为空 |
| P1-图片选择 | recuUjgbwn3Lkm | explanation过短 |
| P1-图片选择 | recuXeaDe2DMco | explanation过短(4处) |
| P1-图片选择 | recv2vIWOdExGi | explanation过短(4处) |

### 审核脚本
- `scripts/audit_unit_challenge_listening.py` — 第1轮基础审校（结构/字段完整性）
- `scripts/audit_unit_challenge_listening_v2.py` — 第2轮深度审校（能力标签/内容一致性）
- `scripts/write_audit_results_v3.py` — 结果写回bitable（Python直接调API）

### 注意事项
- P6 表格部分记录 dataStatus 为 None（非"0"），已手动补写
- 写入脚本直接使用 Python requests 调飞书 API，绕过 bash 脚本，避免 shell 变量转义和阻塞问题

## [刘彦江] 单元挑战听力审校修复（2026-05-14 10:30）

### 已修复 9 条
| # | 表 | record_id | 修复内容 |
|---|-----|-----------|----------|
| 1 | P7 | recv9G4M8EitVx | ability ¥¥→逗号 + explanation ¥¥→分号 |
| 2 | P7 | recvhYCmybrzzx | second ability补全（复用first）+ explanation补充 |
| 3 | P7 | recvj5t2UBNxx3 | second ability补全（复用first） |
| 4 | P4 | recvjufM76lEsW | QSID字段 021501→032901（统一为jsonData内部值） |
| 5 | P4 | recvjufM76lRHQ | QSID字段 021801→173601（统一为jsonData内部值） |
| 6 | P7 | recviZIWmT91yS | QSID "L1"→"L1-TBD-REVIEW"；标记需人工审核（first/second内容重复） |
| 7 | P1 | recuUjgbwn3Lkm | 标记为占位数据（QSID=000001） |
| 8 | P1 | recuXeaDe2DMco | explanation优化：通用模板→带选项字母的版本 |
| 9 | P1 | recv2vIWOdExGi | explanation优化：通用模板→带选项字母的版本 |

### 需人工跟进
- recviZIWmT91yS: QSID需确认正确值，first/second内容重复（都是park场景），文本字段空

## [刘彦江] 第二轮修复（2026-05-14 10:40）

### 修复内容
| # | 表 | record_id | 修复内容 |
|---|-----|-----------|----------|
| 1 | P4 | recvjufM76hNv5 | JSON清理重写（原解析报错） |
| 2 | P4 | recvjufM76eMKs | QSID 021701→032901 |
| 3 | P1 | recuVgdFqcW20X | explanation补全 |
| 4 | P1 | recvj1lf9upJNH | explanation补全 |
| 5 | P1 | recvj1lfsXqshG | explanation已OK（无须改） |
| 6 | P4 | recvjufM76o6of | explanation已OK（缺second跳过） |
| 7 | P4 | recvjufM76k4dx | explanation已OK（缺second跳过） |
| 8 | P2 | recvjuhJ76cPuO | explanation已OK（缺second跳过） |
| 9 | P2 | recvjuhJ76Kh0m | explanation已OK（缺second跳过） |
| 10 | P5 | recvjuiypW7mZY | 补审校结果（之前漏写） |
| 11 | P4 | recvjufM76frUP | 缺second题组→人工确认豁免 |
| - | P7 | recviZIWmT91yS | ⏭️ 人工确认跳过 |

### 最终状态
- ✅ 通过 48条 | ⏭️ 跳过 2条 | 🔴 0条
- 全部有内容的记录审校通过

## [刘彦江] 写作+口语题目生产（2026-05-14 12:10）

### 生产内容（6条）

| # | 表 | QSID | record_id | 题型 | first | second |
|---|-----|------|-----------|------|-------|--------|
| 1 | 写作-P1-邮件回复 | 021801 | recvjz5GeTe9aB | writing_email | 6句排序 | — |
| 2 | 写作-P1-邮件回复 | 021901 | recvjz5GE2LKi9 | writing_email | 7句排序 | — |
| 3 | 写作-P1-邮件回复 | 022001 | recvjz5H3s5k8y | writing_email | 6句排序 | — |
| 4 | 口语-P2-话题讨论 | 021801 | recvjz5Hs8gpCJ | speaking_topic | 5题 | 5题 |
| 5 | 口语-P1-日常回答 | 021901 | recvjz5HSdc0nZ | speaking_qa | 4题 | 4题 |
| 6 | 口语-P2-话题讨论 | 022001 | recvjz5Ih4mh8u | speaking_topic | 5题 | 5题 |

### 话题主题
- 021801 写作：计划妈妈的惊喜派对
- 021901 写作：寻找走失的宠物狗Daisy
- 022001 写作：为奶奶制作生日礼物
- 021801 口语：帮助与支持朋友（We'd better/Let's/I hope）
- 021901 口语：学校喜好与日常活动（I like/but/prefer to）
- 022001 口语：面对挑战与情绪成长（worried/afraid/proud）

### 技术备注
- writing_email 题型用 optionSetList+answerSet（非 questionSet）
- `\n` 字符导致 bitable API 截断 answerSet/ability/explanation，已修复为单行

## [刘彦江] 听力-P1 000001 补全（2026-05-14 15:22）

### 状态
原为占位骨架数据（10题全空），已根据用户提供的听力文本+素材补全为正式内容。

### 补全内容
| Block | Q | question | answer | ability |
|-------|---|----------|--------|---------|
| first | 1 | This is a blue box. | [0]=A | 显性事实理解｜单句信息点抓取 |
| first | 2 | He is a police officer. | [0]=A | 显性事实理解｜单句信息点抓取 |
| first | 3 | I want to drink milk. | [0]=A | 显性事实理解｜单句信息点抓取 |
| first | 4 | I eat a sandwich for breakfast. | [0]=A | 显性事实理解｜单句信息点抓取 |
| first | 5 | This is my red suitcase. | [0]=A | 显性事实理解｜单句信息点抓取 |
| second | 1 | Look at my new clothes. | [0]=A | 显性细节理解｜物品特征辨识 |
| second | 2 | My dad works at the airport. | [0]=A | 显性细节理解｜数字/时间/地点 |
| second | 3 | The pirate has a black eye patch. | [0]=A | 显性事实理解｜单句信息点抓取 |
| second | 4 | I need my passport to go abroad. | [0]=A | 显性细节理解｜物品功能辨识 |
| second | 5 | I like eating cheese very much. | [0]=A | 显性细节理解｜物品特征辨识 |

### 备注
- 10题答案全部为[0]（A选项），由用户给定的听力文本-图片映射决定
- second Q1 "clothes"→卫衣 需区分 clothes/shoes/hat 范畴
- `question`字段为P1正确的字段名（非content）
- `optionsImage`字段保留None（图片资源由上游管理）
- 题目1/题目2文本字段已同步填充听力文本

## [刘彦江] 写作+口语 C级 032501-032901 生产（2026-05-14 15:42）

### 生产内容（10条）

| # | 表 | QSID | record_id | 题型 | 主题 | 难度 |
|---|-----|------|-----------|------|------|------|
| 1 | 写作-P1 | 032501 | recvjzXjMKAQ4i | 邮件组句 | 鼓励朋友参加音乐会 | C |
| 2 | 写作-P1 | 032601 | recvjzXklYIE05 | 邮件组句 | 给老师写感谢信 | C |
| 3 | 写作-P1 | 032701 | recvjzXkYnsQ8r | 邮件组句 | 描述咖啡馆和遇到的人 | C |
| 4 | 写作-P1 | 032801 | recvjzXlxz4r3i | 邮件组句 | 科学项目求助 | C |
| 5 | 写作-P1 | 032901 | recvjzXm5yEXBY | 邮件组句 | 妈妈的生日派对 | C |
| 6 | 口语-P1 | 032501 | recvjzWP7IcA8O | 日常回答 | 观点转变与过去习惯 | C |
| 7 | 口语-P1 | 032701 | recvjzWPQc5JZW | 日常回答 | 好奇心与想法改变 | C |
| 8 | 口语-P1 | 032901 | recvjzWQr0Kif7 | 日常回答 | 团队合作与沟通 | C |
| 9 | 口语-P2 | 032601 | recvjzWR07LSna | 话题讨论 | 梦想与未来规划 | C |
| 10 | 口语-P2 | 032801 | recvjzWRISLiD9 | 话题讨论 | 挑战与习惯管理 | C |

### 落款多样化
- Yours truly, Sam / Warm regards, Lucy / Kind regards, Emma / Gratefully, Tom / With love, Jessica

### 图片描述（口语-P2）
- 032601: 梦想与未来（仰望星空、选择困难、职业海报、老师写"梦想"）
- 032801: 挑战与习惯（作业压力、游戏打到深夜、考试不及格、图书馆讨论）

### 写作表字段名
- 写作-P1 字段为"题目1"（非"题目1 完整配置"），口语-P1 使用"题目1热词"/"题目2热词"

## [刘彦江] 口语-P1 explanation 全量补充（2026-05-14 16:01）

### 背景
口语-P1-日常回答表（tblRGv7k4WH58Jgq）共39条记录，其中23条历史记录的171道题目 explanation 字段为空。

### 补齐结果
- 更新记录：23条 → 全部写回成功
- 生成 explanation：171题
- 最终验证：258题全通过（0空、0偏短）
- 新增3条（032501/032701/032901）在前序批次中已含完整 explanation，本次未改动

### 生成规则
按 ability 标签分类匹配模板生成中文解析：
- 基础信息表达｜个人信息问答 → 细分：年龄/姓名/家庭/外貌/物品位置
- 表达喜好与理由 → 喜好+because原因引导
- 互动应答｜问答交流 → 场景化（感谢/道歉/邀请/请求/规则）
- 信息交换｜双向问答 → 饮食/计划类交流
- 过去经历描述｜Past Activities → 过去时态描述引导

### 脚本
- `scripts/fill_speaking_expl.py` — 读取全表 → 匹配能力标签 → 生成→ PUT写回
## [刘彦江] 单元挑战写作-P1 审校与修复（2026-05-14 17:00）

### 审校范围
写作-P1-邮件回复表（tblDizCeLgkKPFd3）

### 审校结果
- 总记录：17条
- ✅ 通过：9条 | ✅ 已修复：4条 | ✅ 通过(C级)：2条 | ⚠️ 占位数据：1条 | (空记录：1条)

### 修复明细

| QSID | record_id | 修复前 | 修复后 |
|------|-----------|--------|--------|
| 032701 | recvjzXkYnsQ8r | answerSet=[], ability=[], expl="" | answerSet=[0..7], ability=写作+衔接+描述, expl=完整 |
| 032901 | recvjzXm5yEXBY | answerSet=[], ability=[], expl="" | answerSet=[0..7], ability=写作+衔接+描述, expl=完整 |
| 022101 | recvjzbjJpJO0D | answerSet缺2项[0,1,2,3,6], ability=['句型组织'] | answerSet=[0..6], ability=写作+衔接 |
| 032801 | recvjzXlxz4r3i | answerSet缺1项, ability=['句型组织'] | answerSet=[0..6], ability=写作+衔接+问题解决 |

### 写作标准能力标签
`写作格式规范｜Structure` `衔接表达｜Cohesion` `场景描述｜Scene Description` `问题解决｜Problem Solving`

### C级新增记录验证
- 032501(Yours truly/Sam) 032601(Warm regards/Lucy) 032701(Kind regards/Emma) 032801(Gratefully/Tom) 032901(With love/Jessica)
- 落款已多样化，建议后续轮换（8种可扩充）

### 脚本
- `scripts/fix_writing_records.py` — 写作-P1 4条记录修复
- `scripts/write_p1_audit.py` — 审校结果回填（17条）

## [刘彦江] 口语-P1 审校回填 + 4条修复（2026-05-14 17:10）

### 审校回填
- 全表39条审校结果已写回「审核结果」列
- 纠正「文本题数统计」误报（`【题目】`为段落标题非逐题标记）

### 🔴 QSID不一致（未修改，需人工确认）
| 字段QSID | jsonData.first.QSID | 状态 |
|----------|---------------------|------|
| 021301 | 011301 | 缺second块 |
| 021401 | 011401 | 缺second块 |
| 021501 | 011501 | 缺second块 |
| 021701 | 011701 | 缺second块 |

### 用户修复QSID后二次修复（2026-05-14 17:25）
用户已将QSID修正为一致，但4条记录的ability和explanation全空，且缺second块。

| QSID | 修复 | 能力标签 |
|------|------|----------|
| 021301 | ability×4 + explanation×4 + second块 | 基础信息表达×4 |
| 021401 | ability×4 + explanation×4 + second块 | 互动应答×3 + 基础信息表达×1 |
| 021501 | ability×4 + explanation×4 + second块 | 互动应答×3 + 协商表达×1 |
| 021701 | ability×4 + explanation×4 + second块 | 表达计划×2 + 表达推测×1 + 表达愿望×1 |

### 脚本
- `scripts/p1_audit_backfill.py` — 审校结果回填
- `scripts/fix_p1_4records.py` — 4条记录修复

## [刘彦江] 听力-P6-听力选图审校（2026-05-14 17:35）

### 审校范围
听力-P6-听力选图表（tbloiMcD0sBtGSTq），6条记录（1空）

### 修复
| QSID | 修复内容 |
|------|----------|
| 110101 | second块已补（空占位） |
| 110201 | second块已补（空占位） |
| 110701 | second块已补（空占位） |
| 110601 | 5题explanation已填写 + second块已补 |

### 题型结构
`listening_choicePic`，5题/题组，标准能力标签：`问题意图识别` `关键细节听辨` `图像语义对齐` `近义改写` `否定与纠错`

### 脚本
- `scripts/fix_p6_records.py`

## [刘彦江] 口语-P2-话题讨论审校（2026-05-14 17:45）

### 审校范围
口语-P2-话题讨论表（tblGoWYBmVI0IrvQ），7条记录

### 修复
| QSID | 问题 | 修复 |
|------|------|------|
| 021601 | 4题explanation全空 + 缺second | 按场景回溯/劝阻/描述/应对写解析 + second补空 |
| 021801 | 10题ability全空（5+5） | 表达观点(4)/表达建议(4)/表达期望(2)/经历描述(2)+句型组织 |
| 032601 | 3题explanation过短(<20字) | 延展为完整解析：他人影响/梦想vs目标/鼓励建议 |
| 032801 | 6题explanation过短(<20字) | 延展：自控描述/解题策略/坏习惯反思/长期学习/压力应对/学弟建议 |

### 脚本
- `scripts/fix_p2_records.py`

### 审校 skill 更新
- `/root/.openclaw/workspace-xiaoyan/skills/audit_unit_challenge/SKILL.md` 已创建并更新
- ⛔ 审校红线：禁止修改「题目集合 ID」列值
