update_lesson
Revise an existing lesson with a mandatory reason; old snapshot stored, revision increments. Mark changes as teaching (learner-visible) or technical (hidden).
Instructions
修订已有 lesson (revision pass 回写). 旧版全文快照入 lesson_revisions 后应用 patch, revision += 1. 必须带 revision_reason; 没有理由的修订直接拒绝. modality_declarations.mindmap 同 add_lesson (纯可选笔记; 脑图默认不生成, 留空不罚). revision_kind (迁移 0033, 双轨修订): 问自己——这次改动是她教出来的, 还是机器逼出来的? 前者 teaching (会呈现给学习者并触发回看提醒), 后者 technical (留痕但对她隐身)。缺省 teaching——发布后的修订默认面向学习者, 宁可多呈现不可偷藏.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| evidence | No | 可选, 依据什么证据 (如 "作业二里 Prepaid 方向连错两次")。**学习者会在修订病历本里读到这一段**——写人话, 内部 id 不进正文。注意本字段没有配套的 evidence_refs 通道, 所以宁可说得笼统, 也不要塞机器词。 | |
| lesson_id | Yes | ||
| concept_ids | No | 可选;每项必须是已存在的 concept id(server 会查存在性) | |
| revision_kind | No | 可选, 缺省 teaching。问自己:"这次改动是她教出来的, 还是机器逼出来的?" 前者 teaching (会呈现给学习者并触发回看提醒), 后者 technical (留痕但对她隐身, 如格式/门禁/重构/错别字)。 | |
| idempotency_key | No | 可选。幂等键 (建议 uuid) —— 同一 key 重放此调用返回首次结果, 不重复写入. 网络重试/断线重连时带上同一个 key, 而不是猜"上次到底写没写". | |
| revision_reason | Yes | 必填——为什么改 | |
| content_markdown | No | ||
| estimated_minutes | No | ||
| modality_declarations | No | 可选教具的"声明式跳过"记录; 目前只用 mindmap 键。 |