| name | prefab-governance-sync |
| description | 装配式装修技能合集治理文件三层同步与发布流程(项目仓策划 ↔ 运行时 skills 根 SOT ↔ shared 只读镜像)。当用户要求同步治理文件、发布技能更新、同步 standards-index/glossary/interface-contracts/红线注册表、或发现三层文件不一致需要修复漂移时使用。变更定级与审批规则不在此技能,以 change-governance.md 为唯一事实源。 |
| version | 1.1.0 |
治理文件三层同步(prefab-governance-sync)
定位
装配式装修技能合集治理文件的执行层同步流水线(薄技能):只管"怎么同步、怎么验收"。变更定级(S/A/B/C)、审批流程、专项规则的唯一事实源是 change-governance.md(项目仓 _专题_技能合集策划/ 与 shared/ 各一份,须保持同步)。
三层结构与文件映射
| 层 | 路径 | 角色 |
|---|
| L1 开发源 | D:\QoderWork-Files\_项目工作\装配式装修技能开发\_专题_技能合集策划\ | 治理文件开发源;各 _专题_* 目录存子技能策划稿 |
| L2 运行时 SOT | ~/.qoderwork/skills/ | standards-index.md(根 SOT,头部含 SOT 声明+镜像说明)+ 各 prefab-*/skill-qa-tester 技能目录 |
| L3 只读镜像 | ~/.qoderwork/skills/shared/ | change-governance、glossary、interface-contracts、platform-adapter-reference、redlines-registry、standards-index、standards-reasoning-rules(头部为 shared 路径定位措辞) |
特例:redlines-registry.md 运行时只有 shared/ 镜像一处(无根副本),LF 换行,同步 = 备份后字节覆盖。
同步前检查(必做)
- 三方逐文件比对(项目仓 ↔ 运行时根 ↔ 镜像),用
cmp 或哈希,输出差异清单。
- 读各冲突文件头部"最后更新"字段定方向:新的覆盖旧的,逐文件独立判定(允许不同文件方向不同,glossary 曾出现运行时反向更优的先例)。
- 方向不明或两侧都有独有改动时,暂停,报告用户裁决,不得猜测合并。
标准变更五步同步(standards-index 类)
- 修源文件(项目仓策划目录)
- 更新 standards-index(含重编号)——重编号陷阱:§锚定表行内含 "| 序号 | 编号 |" 子串,须先替换锚定表行、再替换主表行,否则脚本断言冲突
- 同步策划表(技能合集策划方案索引等 A0 表)
- 同步映射文件(reasoning-rules 激活表、技能内序号引用)
- grep 交叉验证:标准编号/序号全链零残留旧值
发布到运行时
- 覆盖前先备份:
_pre 后缀(如 v2_1_2_pre)或 shared/backup_skills_shared_YYYYMMDD/ 目录。
- standards-index 根 ↔ 镜像同步:头部声明不同(根含 SOT+镜像说明两行,镜像为 shared 措辞)。字节覆盖后必须恢复各自头部声明,只同步正文。
- redlines-registry:备份 → 字节覆盖 → 确认 LF 换行(CRLF=0)。
- 子技能 SKILL.md 升版:改 frontmatter version + 对应变更说明;技能内容变更须按 change-governance.md 定级走复核。
脚本化同步流程(推荐路径)
批量同步(≥3 个文件)优先用脚本编排,避免手工逐文件复制遗漏:
- 三方比对:对同步范围内文件计算哈希,输出差异清单(对应 GS-R-P2-1)
- 备份:目标文件备份为
_pre 后缀或备份目录(对应 GS-R-P0-1)
- 字节复制:按既定方向(L1 → 备份镜像 → 运行时)复制
- 哈希/CRLF 校验:复制后逐文件 sha256 比对 + LF 约定文件 CRLF=0(对应 GS-R-P2-2)
- CG/git 收尾:登记 CG 编号、提交信息含同步验证结论(对应 GS-R-P1-3/P2-3)
冲突检测(方向仲裁):同步前哈希比对发现运行时与镜像彼此不一致(非单向落后于源)时,即判定方向不明,暂停并输出差异清单报用户裁决(对应 GS-R-P0-2)。
回滚:任一校验失败时,从步骤 2 的备份恢复全部目标文件,重新校验后方可继续。
并发控制:同步过程中发现目标文件哈希与同步前快照不一致(可能被其他任务修改),立即停止,不得继续覆盖。
验收清单
- 三方比对:本次同步范围内所有文件哈希一致(头部声明差异除外,须显式声明)
- CRLF 检查:同步后的 LF 约定文件 CRLF=0
- grep 回归:变更涉及的编号/序号/标注(如"待官方核验")全链零残留旧值
- change-governance.md 变更日志已登记 CG 编号,项目仓与 shared 镜像两份一致
- git 提交:项目仓提交,信息含 CG 编号与同步验证结论
git 提交与推送
- 提交在项目仓
D:\QoderWork-Files\_项目工作\装配式装修技能开发 执行,信息格式参照既有提交(CG 编号 + 内容摘要 + 同步验证结论)。
- 推送:
GIT_TERMINAL_PROMPT=0 git -c credential.helper= -c credential.helper=manager push(读 Windows 凭据管理器)。
- GitHub 连接 reset 连败 2 次即停,本地提交安全,改日再推,不得无限重试。
接口契约(IC-13 接收方)
本技能作为治理同步工具的接收方,遵循接口契约 IC-13(任何技能 → GS 治理同步工具)。完整 Schema 见 ../shared/interface-contracts.md §4.4 IC-13。
请求参数(与 IC-13-Request Schema 字段集一致,Schema 为 additionalProperties:false):
| 参数 | 必填 | 说明 |
|---|
| 同步文件清单 | 是 | 相对项目仓的文件路径列表 |
| 变更级别 | 是 | 按 change-governance.md 定级:S/A/B/C |
| CG编号 | 是 | 已登记的变更治理编号,格式 CG-YYYYMMDD-NNN |
| 同步方向 | 否 | 缺省 L1 开发源→镜像;反向或跨方向须显式说明来源与目标 |
响应内容:
| 字段 | 说明 |
|---|
| 同步结果 | 成功 / 部分成功 / 失败(枚举) |
| 验收证据 | 逐文件哈希一致清单(头部声明差异显式声明)、CRLF 检查、grep 零残留结果 |
| 备份位置 | 覆盖前 _pre 后缀文件或备份目录路径清单 |
| 未决事项 | 方向不明待裁决项、连败停止项(存在时必返回) |
必填参数缺失(尤其 CG编号未登记)时,拒绝执行并返回缺失项(对应 GS-R-P1-3)。
红线约束(禁止行为)
以下为本技能已注册红线摘要(全局编号),完整定义以 ../shared/redlines-registry.md §十七为准:
| 编号 | 红线 | 摘要 |
|---|
| GS-R-P0-1 | 严禁未备份即覆盖 | 覆盖任何运行时/镜像文件前必须完成备份 |
| GS-R-P0-2 | 严禁同步方向不明时擅自合并 | 两侧都有独有改动时暂停报用户裁决,不得猜测合并 |
| GS-R-P1-1 | 严禁改写历史草稿与过程报告 | 标注清除与修改只发生在活跃文件 |
| GS-R-P1-2 | 严禁同步中顺手修改正文内容 | 同步只搬运不加工;内容问题另立变更任务 |
| GS-R-P1-3 | 严禁绕过定级与登记 | 须按 change-governance.md 定级并登记 CG 编号后方可同步 |
| GS-R-P1-4 | 严禁将本技能当作治理规则权威源 | 规则冲突时以 change-governance.md 为唯一事实源 |
| GS-R-P2-1 | 必须同步前三方比对 | 逐文件比对输出差异清单,差异未清不得覆盖 |
| GS-R-P2-2 | 必须同步后验收留证 | 哈希一致、CRLF=0、grep 零残留并留证 |
| GS-R-P2-3 | 必须登记提交信息并控制重试 | 提交信息含 CG 编号;推送 reset 连败 2 次即停 |