用途:整理 .satk/library-kg/ 库知识索引,让智能体更好地选择 Simulink 块。从 .satk/library-cache/*.json 的块元数据推断分类与描述,将整理结果保存到 .satk/library-curation.json,再重新生成知识图谱。适用于标记常用或重要块、修正自动分配的分类、改进块描述,以及用户询问如何让智能体偏好某些块时;由 building-simulink-models 的 Gate 3 调用。不适用于块策略配置、正在建模或声明库存在等场景。
前提:需已声明库的 satk-libraries.json 或 .satk/reuse-libraries.json。
主要能力与规则:对所有 metadataQuality 为 low 和 medium 的块必须写自定义描述,high 块可选但鼓励;描述须以意图为中心,说明何时使用及解决什么建模问题,禁止模板化描述。按类别分批处理。支持 Automatic(自动推断并提交,最后供审阅)与 Guided(每步等待确认)两种模式,须先选定模式。
流程:若已有 index.md 则先审阅现状;选定模式;读取全部缓存文件并为每个 low/medium 块写描述;提出常用块;确定分类定义与逐块分类;保存前统计覆盖率,low/medium 覆盖率低于 100% 不得继续;最后保存并生成。
API:确保缓存存在用 library.LibraryConfig.load(projectRoot) 与 library.LibraryCatalog.getOrCreate(libConfig, projectRoot);保存用 library.LibraryCuration.save(projectRoot, curation),生成用 library.kg.Populate.run(projectRoot)。customDescriptions 与 categoryAssignments 必须用 containers.Map,不能用 struct。
限制:不得对库 .slx 调用 find_system、get_param;不得直接修改缓存或知识图谱文件;只能通过 save 持久化;保存前须与用户确认;面向用户输出避免使用 override 一词。