- 新版设计各域 SoT 按本轮实现同步:总体架构、模块设计、接口契约、数据模型、功能规格、文件设计与决策记录。 - 接口契约生成物重新导出(openapi 与前端客户端随契约一致)。 - 实现回顾与专项检查台账保留历史结论;本轮收尾发现另见 .agents.local 下的收尾报告与审查处置。
6.1 KiB
技能身份中文化迁移实现回顾
1. 交付结果
本次完成 59 个正式技能的业务身份迁移:15 个方法技能、44 个编排技能的叶子目录、frontmatter name、manifest、活动代码引用、测试责任目录和生成索引统一为功能规格登记的中文操作短语。方法分类目录统一为 规划、写作、诊断,SKILL.md 文件名不变。
skills.json.skill_name_policy 已切换为 chinese_only。永久退役名称门从功能规格读取固定的 59 对迁移映射,先核对这些中文目标仍由活动 manifest 覆盖,再检查旧名残留;后续新增原生中文技能不需要伪造旧名。只有逐文件白名单中的历史材料可以保留旧标识。活动代码、SoT、schema、脚本、测试清单和当前配置出现旧名时,严格技能支架失败关闭。
作者指令层已按功能规格 §8.5 落入 .agent/作者/:入口按自然中文分到定故事、排故事、塑人物、写下一章、改正文和查作品六个场景;生成或修改正文时共同读取原生中文写作合同。作者入口不是第 60 个技能,不进入 skills.json,也不复制正式技能合同。
2. 数据迁移
PostgreSQL muse-example 的 example_skill 使用单事务原位更新,没有插入中文副本或软删英文活动行。迁移在 commit 前同步 59 条中文 source_ref 并执行正常 Git/数据库全量对账。
| 证据 | 迁移前 | 迁移后 |
|---|---|---|
| 活跃登记 | 59 | 59 |
| 中文目标名 | 0 | 59 |
| 英文源名 | 59 | 0 |
| 未知或缺失身份 | 0 | 0 |
| 历史技能升格落点 | 0 | 0 |
| 行 ID MD5 | e429227daab677a1180827b4374cd0b7 |
e429227daab677a1180827b4374cd0b7 |
| 名称与路径 MD5 | f08f8f3e25081fc5992465ea26c2368b |
510451fddea351f3b66d03cf47605b47 |
迁移返回的 59 个行 ID SHA-256 为 3dd91aa0117e1ec0d451ff930e55ffdbe4a7e4c4ade59fc169651dabadb80e33。迁移后 dry-run 报告计划 0 行、更新 0 行,证明身份迁移幂等。软删登记和历史 creator/updater 未改写。
本地 SQLite data/muse.db 的 lesson 数量为 0,没有当前技能落点需要迁移。
3. 验证结果
- 严格技能支架扫描 59 项,阻断问题和质量发现均为 0。
- 目录生成器与 Markdown 链接门通过;正式技能树不存在
技能.md。 - 全量登记清单共 128 项:显式放行 PostgreSQL 并开启两项真实冒烟后,127 项通过、1 项真实模型与凭据行为评测依赖阻断、0 项失败。规则库只读冒烟和作品抽取事务回滚冒烟均通过。
- 数据库正常
--check-db通过:5 个角色、59 个技能与 Git 中文目录一致。 .agents.local/skills/my-skills/未修改,工作树未暂存、未提交。
4. 真实运行探针
技能身份替换改变了冻结角色提示词,因此旧 runtime probe 不能证明新 profile。迁移按合同保留原 Gate A v1 配置作为历史冻结证据,并生成中文身份固定 Opus dry-run 配置 writer-gate-a-deep-space-v1-cn-skills.json。当前生产与回放默认入口使用该中文配置,但 dry_run 探针会让真实执行失败关闭,不能冒充运行能力证明。
2026-09-01 曾用 MiniMax-M3 做一次临时连通性与合成 writer 测试:requested/actual 均为 MiniMax-M3,1417 输入 token、128 缓存 token、90 输出 token,成本 $0.000502。该结果只证明测试时 M3 可调用,不改变角色模型事实源,也不作为固定 Opus 生产 profile 的 successful probe。
角色合同仍为 muse-role-v4 / fixed-opus-v1:writer、planner、judge 固定 Opus,extractor、detector 只有在 profile 明确登记时可走内容治理链。M3 测试产生的持久化角色策略、默认配置和本机 provider 已撤回;以后测试 M3 只通过单次命令或测试夹具显式传入。仓内五章授权快照也已过期,完整回放仍须先刷新固定 Opus successful probe,再由 准备正文回放数据 装配新授权配置。
撤回后按不放行外部依赖的完整离线清单复验:128 个登记入口中 119 个通过,9 个因 PostgreSQL、模型或凭据依赖明确阻断,实际失败 0;未再次调用 M3 或 Opus。
5. 清理边界
本回顾、chinese_only、永久退役名称门和正常数据库对账已经覆盖一次性迁移能力。英文到中文名称迁移器、机器映射、数据库迁移命令及其专用测试均已删除,仓库内相关程序符号与文件路径引用为 0。
永久保留项只有共享名称校验、skills.json 中文-only 策略、退役名称残留门、历史材料逐文件白名单、目录生成器和正常 --check-db。历史文档与旧 Gate A 配置继续按精确白名单保留,不作为当前可调用身份。
6. 作者指令层
根 AGENTS.md 只增加一条按需指针,作者请求命中后按 .agent/作者/目录.md 渐进读取 指令.md、一个场景文件,以及写作或修改场景共用的 原生中文写作.md。六个场景只登记意图、必要问题、正式技能范围、交付边界和下一步交接;数据库写入、模型策略、质量裁决和正式内容合同继续由原 owner 负责。
接入检查发现五份角色提示词仍把 生成下一章、作品定盘、一致性检测 等概括词写成技能单名。它们已按功能链改为 11 个实际登记名;该次名称收敛没有改变角色职责、权限或输出 Schema。后续模型策略切换及运行证据见 §4;数据库只读对账仍为 5 个角色、59 个技能一致。
新增 tests/architecture/test_author_instructions.py,机械验证作者层结构、两级索引、六场景到正式中文技能的精确映射、角色技能路由、共同写作边界,以及“自然中文点子 → 定故事 → 排故事 → 写下一章 → 查作品 → 改正文 → 采用或丢弃”的最小旅程。