muse-agent-example/docs/实现回顾/技能身份中文化迁移实现回顾.md
zizi 7f9114eca5 W13 旧用例承接补充:作者层路由与中文方法 Skill 的已跟踪文件改动
作者场景路由与指令、完善故事基础设定/合并故事方案/制定作品规划的技能中文化重构及其脚本、对应旧测试修改、SOT 导读、技能目录与实现回顾。此为 W13 阶段对已跟踪文件的改动,随批次按阶段整理补提交。
2026-09-10 19:39:47 +08:00

60 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 技能身份中文化迁移实现回顾
## 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`,机械验证作者层结构、两级索引、六场景到正式中文技能的精确映射、角色技能路由、共同写作边界,以及“自然中文点子 → 定故事 → 排故事 → 写下一章 → 查作品 → 改正文 → 采用或丢弃”的最小旅程。