之前抽屉一打开就是 Vditor 编辑器,正文是一堆 `##` 和 `-` 的原文, 导入的 84 条旧备忘看着尤其像草稿。现在分成「看」和「写」两态: - 默认只读:按 Markdown 渲染(markdown-it + DOMPurify),分类与标签是 chip, 附件列表只读;底部是「编辑」和状态动作,右侧显示发布于何时。 - 点「编辑」才挂编辑器;「取消」直接丢弃未保存改动(重新拉一次详情)。 - 安卓详情页同样用 Markwon 把正文排版后再显示,要改走「编辑正文」。 顺带修了 `web/e2e/knowledge.mjs` 里一条早就失效的断言:它等的是 「已发布 · 版本 N」,但界面上没有这行字(git 历史里也没有), 改成等抽屉底部的「发布于 …」。 验证:pytest 94 passed、ruff 全绿、tsc 0、vite build ✓; `knowledge-notebook.mjs` 16 项、`knowledge.mjs` 7 项 e2e 全绿。 安卓本轮仍未编译(本机 JDK 25 与 Gradle 8.7/AGP 8.7.3 不兼容)。
- knowledge_doc 与 item 1:1,除 source_kind=manual 外必须有来源(库级约束) - 状态机 draft/in_review/published/archived,发布要 owner/admin;非法动作回 allowed_from 与 allowed_actions - 工单验收通过自动落 postmortem 草稿(generated_by=rule),同一来源只生成一次 - 接口:列表/详情/手记/改内容/状态动作/从事项沉淀;已发布禁改,改内容带乐观锁 - Web 知识页 + 详情抽屉;任务与工单详情里可「沉淀成知识」 - 8 个后端用例 + e2e 7 项断言(沉淀 → 待核对 → 发布)