mcpField
G
grace-plan

grace-plan

github.com/osovv开发25640 次安装5 周前更新
代码仓库

关于 grace-plan

grace-plan 是 GRACE 工作流技能,可将一个已批准的活动 GraceChangeSpec 转为草稿或经明确批准的可执行 GraceChangePlan。它指导规划,不实现源代码,也不修改已批准计划或项目状态。

主要功能

  1. 01验证已批准的变更规格
  2. 02运行活动基线 lint 预检
  3. 03依据 XML 模板创建计划
  4. 04定义范围、断言与任务
  5. 05检查任务依赖是否成环
  6. 06保护已批准计划与项目状态

适用场景

  1. 01规划已批准的 GRACE 变更
  2. 02指定可检查的基线与目标条件
  3. 03在实现前定义任务依赖
  4. 04检查过期状态与并行安全警告

MCP 相关

此技能为 GRACE 工作流生成 GraceChangePlan 文件。它会运行 GRACE lint,并可建议在批准后检查状态。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/osovv/grace-marketplace --skill grace-plan

安装后在 Claude Code 中输入/grace-plan确认已加载。

附带文件agents/openai.yamlreferences/change-plan-template.xml

详细介绍

将一个已批准的活动 `GraceChangeSpec` 转换为可执行的 `GraceChangePlan`;不要实现源代码。 - 必需:`.grace/changes/active/C-CHANGE-ID/spec.xml` - 可选:同级的 `design-context.xml` - 当前状态:`.grace/context`、图和验证索引及其路由文档 - 要求 `.grace/changes/active/C-CHANGE-ID/spec.xml` 包含 `GraceChangeSpec`,状态为 `approved`,并且恰好有一个匹配的直接 `C-*` 包装元素。 - 拒绝草稿、已驳回、已取消、已应用或已取代的规范。 - 将可选的 `design-context.xml` 视为说明性文档;发生冲突时以 `spec.xml` 为准。 - 规划前运行 `grace lint --path PROJECT --assertions current`,并指出过期或无效的活动基线。

<approved_plan_immutability>

  • 如果 plan.xml 已存在且状态为 approved,则在写入前停止。
  • 不得就地刷新 BaselineAssertions、TargetAssertions、DurableScope、ObservedWriteScope 或任务。
  • 创建新的 C-* 包,并通过明确的替代引用将旧包标记为已取代。 </approved_plan_immutability>

<must_do> 根据 references/change-plan-template.xml 生成 plan.xml,默认状态为草稿,除非用户明确批准已完成的计划。必须包含匹配的 C-* 包装元素、有意义的意图、非空且可机器检查的基线与目标断言、明确的持久范围和观测写入范围,以及唯一且无环的 T-NNN 任务。没有写入的范围必须使用明确的 <None /> 标记;“none”之类的文字无效。每个任务都必须包含一个 Title、一个列出零个或多个前置任务的 DependsOn 元素(值须为规范的逗号分隔 T-NNN 格式,例如 <DependsOn>T-001, T-002</DependsOn>)、非空的验收标准,以及非空的验证命令。依赖关系必须构成有向无环图:只列出真正的前置任务,绝不可为了表达顺序而将相互独立的任务串成链。指出状态过期和共存警告;遇到不支持的范围 glob 语法时应拒绝,不得自行猜测。 </must_do>

<command_phase_rules>

  • current 是活动基线预检,仅在尚未开始观测写入前有效。
  • baseline 是选定的编辑前门禁,target 是选定的编辑后证据,final 是由 grace-execute 负责的外层应用/归档门禁。
  • MustPassCommand 包含项目级的叶节点证据,例如测试、类型检查、构建、格式检查或包检查。绝不可在其中放入 grace lint、grace status 或其他 GRACE 生命周期命令。
  • 绝不可在 TargetAssertions 或写入后运行的任务验证中使用 --assertions current。应在外部使用选定的目标/最终 lint。
  • MustPassCommand 必须能在参考主机上于其声明的 budgetSeconds 内完成(未指定时使用全局 --command-timeout);应声明实测预算,而不是沿用可能导致命令在门禁中途被终止的默认值。
  • 如果整个测试套件的运行时间主要耗费在基底设施启动(容器、数据库、浏览器、模拟器)上,应将其放入验收层级,而不是门禁;绝不可同时声明整个测试套件命令及其已重新运行的文件级命令。 </command_phase_rules>
- 活动基线预检:`grace lint --path PROJECT --assertions current` - 并行安全性:`grace lint --path PROJECT --parallel-preflight` - 建议在批准后运行 `grace status --path PROJECT --json`。

<hard_rules> 不得实现代码、默默批准计划、覆盖已批准的计划,或在规划期间修改当前图/验证产物。语义锚点必须是规范的 XML 标签,绝不可使用属性。 </hard_rules>

评论

支持 Markdown