人工智能AI Agent多智能体Agent 编排代码智能体CLI【免费下载链接】openrigMulti-agent harness that runs Claude Code and Codex together as one system项目地址https://gitcode.com/GitHub_Trending/op/openrig点击查看免费下载导读本文讲解 OpenRig多 Agent 协作软件工厂内置的backlog-deprecation切片模板——当项目需要弃用一个 API、命令、配置项或行为并希望以可观察结果 证据的方式完成迁移与移除时用它一次性生成规范化的 SPEC.md 骨架。读完本文你将掌握该模板的逐节语义、rig scope slice create --template backlog-deprecation的生成机制、弃用四问Target / Current state / Migration / Removal的填写方法以及配套的rig proof add证据落地与rig scope audit验证闭环。OpenRig 把一切工作表达为 mission 与 slice人类记录意图Agent 把意图变成计划、把计划变成构建、把构建变成证据。其中弃用deprecation是一类高频但极易失控的工作——旧行为往往被多处依赖直接删除会破坏调用方拖着不删又会积累技术债。backlog-deprecation模板正是为这类工作预置的标准化切片骨架它把弃用什么、现状如何、怎么迁移、何时移除四个问题固化进 SPEC.md让一次弃用从开始到收尾都有可审计的轨迹。一、模板定位六类切片模板中的弃用专用模板在 OpenRig 的 scope 体系里切片模板类型由SliceTemplateKind联合类型定义共六种见 types.ts模板 kind适用工作placeholder默认占位模板--template未指定时使用bug-fix缺陷修复backlog-deprecation弃用/迁移/移除旧行为本文主题backlog-tech-debt技术债清理release-feature发布特性research调研类工作backlog-deprecation与backlog-tech-debt同属backlog 系列它们服务的都是积累在主线之外、需要被显式排期的存量工作而非新功能开发。二者的差异在于——技术债切片关注修复存量问题弃用切片关注告别存量行为它要求你在计划阶段就明确迁移路径与移除条件而不是只写这个旧东西很糟糕。从模板本身看backlog-deprecation.md它的正文在通用三节Intent / Mini-requirements / Proof contract之后额外编排了四个专门小节## Target、## Current state、## Migration、## Removal。这四节就是一次弃用工作的完整叙事弃用什么 → 现状如何 → 怎么走开 → 何时删除。模板自带的说明文字还特别强调For a small deprecation this may BE the whole plan——小型弃用的 mini-requirements 可以就是整个计划不需要额外造仪式这与 SDLC 约定的 A5「弹性中间地带」原则一致详见下文第八节。二、模板骨架逐节拆解模板全文是一个带占位符的 Markdown 文件。以下逐节说明每个部分的语义{{...}}为渲染时替换的占位符机制见第三节。2.1 Frontmatter 字段--- id: {{id}} slice: {{slice_number}}-{{slug}} mission: {{mission}} status: placeholder stage: wip verified: {{created_date}} against scaffold (rig scope create) created: {{created_date}} intent: {{intent_yaml}} depends_on: {{depends_on}} ---字段含义渲染来源id切片的稳定 dot-ID如OPR.0.3.2.12由 CLI 铸造renderSliceTemplate的opts.idsliceNN-slug形式的切片编号与短名opts.slice_numberopts.slugmission所属 mission 名称如release-0.3.2、backlogopts.missionstatus初始为placeholder随工作推进由审批/关闭流程改写模板写死stage认知成熟度初始wip枚举见 types.ts 的STAGE_VALUESwip / provisional / established / canonical / superseded / retired模板写死verified脚手架生成日期 校验说明opts.created_datecreated创建日期ISOopts.created_dateintent作者意图以 JSON 字符串形式进入 frontmatteropts.intent缺省回退到 titledepends_on兄弟切片 dot-ID 的构建顺序依赖内联 JSON 数组opts.depends_on缺省[]2.2 正文七节# Slice {{slice_number}} — {{title}}—— 切片标题渲染后为# Slice 12 — Deprecate Legacy Flag这类形态。## Intent—— 记录意图原文。这是整个切片的锚点后续一切计划与证据都要能回溯到这里。## Mini-requirements—— 简洁的一览式需求层编号列表。模板提示弃用路径以**可观察结果observable outcomes**的形式写出对于小型弃用这一节可以就是整个计划。## Proof contract—— 承诺交付物的复选框清单每条都是迁移落地 / 移除干净这类可验证结果配证据收尾。## Target—— 回答被弃用的东西是什么。## Current state—— 回答今天它是怎么工作的、什么依赖它。## Migration—— 回答离开它的路径是什么。## Removal—— 回答它什么时候、怎么被删除。其中 3、4 两节属于 SDLC 约定的切片必备三节Intent / Mini-requirements / Proof contract58 是弃用场景的专属增量5、6 是信息输入7、8 是行动输出四个问题一问一答缺一不可。三、渲染机制与占位符模板如何变成 SPEC.md模板文件与 CLI 源码同目录存放packages/cli/src/lib/scope-templates/构建时随包发布。运行时由 templates.ts 负责定位与渲染resolveTemplate按源码树 → dist → 随包源码三个候选根依次查找templates.ts保证本地开发与安装后的包都能读到模板renderSliceTemplate(kind, opts)读取模板原文后由applyPlaceholders完成替换templates.ts。applyPlaceholders处理的占位符及默认行为如下占位符替换为缺省值{{id}}切片的 dot-ID—{{slice_number}}两位补零的切片序号pad2空串{{slug}}短名slugify 后的小写连字符形式—{{mission}}mission 名—{{title}}显示标题—{{created_date}}今天ISO 日期—{{intent_yaml}}意图的 JSON 字符串JSON.stringify(intent)回退到 title{{intent}}意图正文回退到 title{{depends_on}}依赖 ID 数组的 JSON 字符串[]值得注意的两个默认行为{{intent}}与{{intent_yaml}}在未提供--intent时都会回退到标题保证任何调用方都能渲染成功源码注释称之为backwards-compatible callers见 templates.ts{{depends_on}}缺省渲染为显式的[]——按 SDLC 约定 EC-1sdlc-conventions.md显式的[]是一种声明此切片无硬依赖而字段缺失才是不确定INDETERMINATE二者语义不同。四、用 rig scope slice create 生成弃用切片backlog-deprecation通过rig scope slice create的子命令create触发命令定义见 scope.tsrig scope slice create mission slug \ --template backlog-deprecation \ --title Deprecate legacy --flag on rig up \ --intent Users have fully moved to --config; remove the legacy flag cleanly \ --depends-on OPR.0.3.2.11参数说明参数说明missionmission 名称位置参数如backlog或release-0.3.2slug短名slugify 后成为文件夹后缀如deprecate-legacy-flag--template kind六种模板之一见第一节表格默认placeholder传入未知值会被ScopeCliError拒绝并列出合法选项--title text显示标题缺省为 slug 的 Title Case--intent text作者意图写入 SPEC.md frontmatter缺省为 title--depends-on dot-id...兄弟切片 dot-ID必须是同 mission 下的missionId.n形态否则拒绝创建--readme-only只写 progress_rail 标记、不脚手架 PROGRESS.md极少用--json机器可读输出Agent 友好命令执行的核心流程scope.ts校验--template合法性 → slugify → 查找 mission → 计算下一序号NN生成文件夹NN-slug铸造 dot-IDsliceIdFromMission(missionId, nn)形如OPR.0.3.2.12OPR为项目前缀、0.3.2为版本、12为切片序号格式见 types.ts渲染 SPEC.md 正文renderSliceTemplate与 PROOF.mdrenderSliceProofTemplate在同一个写边界内持久化父 mission ID、创建切片目录并落盘四个工件SPEC.md、PROGRESS.md进度清单、slice.yaml切片清单、PROOF.md证据摘要以及proof/证据目录任何一步失败则整体回滚fs.rmSync删除切片目录、恢复 mission README 原文保证校验阶段零写入、写入阶段零半成品。生成后的切片目录结构backlog/ └── slices/ └── 12-deprecate-legacy-flag/ ├── SPEC.md # 由 backlog-deprecation 模板渲染而成 ├── PROGRESS.md # 验收清单模板slice-progress.md ├── PROOF.md # 证据摘要模板proof.md ├── slice.yaml # 切片清单 └── proof/ # 证据工件目录五、弃用四问的填写实战指南backlog-deprecation模板把弃用工作压缩成四个必须回答的问题这也是它与普通特性切片最大的区别。以下结合仓库约定给出每个问题的填写要领。## Target弃用什么点名被弃用的具体事物某个命令 flag、某个 API 端点、某个配置键、某个默认行为或某个内置 skill。要具体到哪个文件哪一行的可定位程度——SDLC 约定 A4 明确要求当实现发现意图依赖的某个能力根本不存在时要在文档里按来源指名每个缺失能力并给出证明其缺失的文件与行号sdlc-conventions.md。弃用切片的 Target 节同理说清要告别的是哪一段字节/行为而不是有个旧东西很烦。## Current state现状如何回答两个子问题今天它是怎么工作的当前谁在依赖它。依赖清单是迁移排期的输入——--depends-on只能表达切片间构建顺序真正的调用方分析要写在这里。如果现状不明模板的诚实做法是写出未知而不是含糊带过SDLC 约定 A6unknown 报告为 unknown不是 failuresdlc-conventions.md。## Migration迁移路径给出离开旧行为的具体路径新行为是什么、调用方如何切换、切换是否有过渡期、是否需要双写dual-write或兼容垫片。迁移要写成可观察结果例如所有rig up --flag调用方切换到--config后rig ps输出不再出现 legacy 列而不是修好它这种不可验证的表述。## Removal何时移除定义删除条件与删除动作满足什么信号后允许删除如依赖方全部迁移、观测窗口内零回退、删除时执行什么删代码、删文档、删测试还是降级为注释、删除后如何验证移除是干净的。模板的 proof contract 提示语the removal is clean — captured正是要求这个验证结果要被证据捕获而不是口头宣称。四个问题共同构成一次弃用的完整叙事这正是模板在 backlog-deprecation.md 中要求的写作基调——它服务于下一个读者无论是人类审查者还是接手该切片的 Agent只读 SPEC.md 就能还原完整决策链。六、Mini-requirements 与 Proof contract把弃用写成可验证结果模板的## Mini-requirements与## Proof contract两节不是普通的待办清单它们遵循 SDLC 约定的工件规范sdlc-conventions.mdMini-requirements是人类操作者的第一结构化检查点审批从这里开始。模板明确弃用路径以可观察结果写出小型弃用可以整节即计划Proof contract是 Markdown 复选框列表每条是一个承诺交付物以可观察结果书写例如## Proof contract - [ ] The deprecation path as observable outcomes. For a small deprecation this may BE the whole plan.渲染后应由作者改写为具体交付物例如## Proof contract - [ ] Legacy --flag removed from rig up and its help text — captured. - [ ] All in-repo call sites migrated to --config — captured. - [ ] rig ps no longer renders the legacy column — captured.每条交付物会被按条目文本或 1-based 序号与证据工件配对——这个配对正是 UI 的 DELIVERED 区渲染的内容人类审查者不需要在几十个工件里翻找哪个证明哪条若弃用涉及 UI 交付物则计划时必须附带 mockupplannedRef无 mockup 的 UI 切片是不完整计划纯后端/技能/Markdown 类弃用不需要 mockup这不算缺口也不算门槛sdlc-conventions.md。七、证据落地rig proof add 与 C1 头弃用切片未完成的判定标准只有一个承诺的结果还没有证据。证据不允许手工放置必须通过rig proof add落地。命令定义见 proof.tsrig proof add 12-deprecate-legacy-flag \ --artifact-type qa \ --verdict PASS \ --candidate-sha 迁移完成后的提交 SHA \ --money-evidence legacy flag removed; 3 call sites migrated; ps no longer renders legacy column \ --evidences 1,2,3 \ --media up-help.png,ps-output.txt \ --self-check I looked at the captures; they show the flag is gone and call sites migrated关键参数语义参数说明--artifact-typeC1 工件类型闭集guard / qa / rev1-r1 / rev1-r2 / adjudication--verdictC1 判定闭集CLEAR / BLOCKING / CONCERNING / PASS / NOT-CLEAR--candidate-sha被判定候选提交的 SHA——C1 的连接键即本工件在评判的证明对象--money-evidence一行货币级证据这句话本身必须自证结果--evidences覆盖的 proof-contract 条目文本或 1-based 序号逗号分隔它填充 planned↔delivered 配对--media本 drop 背书的媒体文件相对切片proof/目录、必须共置、禁止绝对路径会被编排进 DELIVERED 条目的证明集--self-checkAgent 的署名断言它看过证据并确认其展示的正是声明的内容proof add一次 drop 写一个 C1 头 工件文件drop 时即校验--media传绝对路径会被拒绝文件尚不存在会告警显示 unavailable见 proof.ts。审计rig scope audit会兜底检查proof/里是否有带合法 C1 头的工件sdlc-conventions.md。反模式不经过 drop、直接往proof/塞文件——这样交付物不会被配对在 DELIVERED 视图里永远是unverified。弃用切片的移除证明尤其要遵守媒体必须经--media挂到 drop 上这一条。八、SOP 执行路径从 COMPONENT MENU 到验证模板末尾的 SOP 说明backlog-deprecation.md指向的是一整套可复用的执行规范核心都在 sdlc-conventions.md 里1. 先读 COMPONENT MENU别假设重流程。该文档是菜单而非流水线每条 mission 按需挑选组件。默认路径是PART A 简单 SDLC意图 → 构建 → 亲眼测试 → 如实记录验证过/未验证的 → 交接或停止对小型弃用切片这一条流就是全部。PART B 严格覆盖层proof contract、plan-lock、C1 drops、proof-lock只在该工作被显式指定时才生效——模板强调do not assume the heavy flow unless your mission or dispatch assigns it。2. 规划严格度按 P0–P4 刻度选择。P0 最小需求 指针简单可逆工作P1 带 proof contract 的书面 SPEC默认P2 加冻结前调研轮P3 加非作者的对抗评审P4 加盲写初稿与既有方案 diffsdlc-conventions.md。一个依赖面很大的弃用切片可能值得 P2/P3一个小 flag 的移除 P0 就够——刻度由工作本身决定。3. 完整流程交给 mission-slice-sop skill。该 skill 是操作手册在技能索引中登记为youre working a mission/slice (the SDLC: intent → mini-requirements proof contract → build → QA → proof). The operating manualopenrig-skills/SKILL.md并由启动引导技能在开始 mission/slice 工作时加载agent-startup-and-context-ingestion/SKILL.md。4. 每天跟踪 PROGRESS.md证据只经 drop 落地最后用rig scope audit验证。rig scope audit是只读审计scope.ts检查章节标题是否齐全、proof contract 是否成形、proof/工件是否带合法 C1 头它记录并建议、永不阻塞写路径、永不把退出码变成门槛sdlc-conventions.md。若弃用工作被指定走 PART B则追加两个锁rig scope slice approve slice --scope specplan-lock锁定要构建的工件集与--scope deliveryproof-lock终态签收触发冻结批准是冻结/签收绝不等于 proven-green——proven-green 必须由 C1 证据工件承载sdlc-conventions.md。九、一个完整的弃用切片示例综合以上机制一次小型弃用切片从创建到落证的全貌如下以假设的rig up --flag弃用为例创建rig scope slice create backlog deprecate-legacy-flag \ --template backlog-deprecation \ --title Deprecate legacy --flag on rig up \ --intent rig up --flag is fully superseded by --config; migrate call sites and remove the flag \ --depends-on OPR.0.3.2.11生成的 SPEC.md渲染后要点--- id: OPR.0.3.2.12 slice: 12-deprecate-legacy-flag mission: backlog status: placeholder stage: wip verified: 2026-09-30 against scaffold (rig scope create) created: 2026-09-30 intent: rig up --flag is fully superseded by --config; migrate call sites and remove the flag depends_on: [OPR.0.3.2.11] --- # Slice 12 — Deprecate Legacy --flag on rig up ## Intent rig up --flag is fully superseded by --config; migrate call sites and remove the flag. ## Mini-requirements 1. No --flag invocation remains in-repo; all migrated to --config. 2. rig up --help no longer lists --flag. 3. rig ps and rig up run clean with no legacy warnings. ## Proof contract - [ ] Legacy --flag removed from rig up and its help text — captured. - [ ] All in-repo call sites migrated to --config — captured. - [ ] rig ps no longer renders the legacy column — captured. ## Target --flag on rig up见 packages/cli/src/commands/up.ts 的 flag 解析段. ## Current state --flag 目前与 --config 等价生效3 个内部调用点仍使用 --flagdemo/run.sh、packages/cli/test/up.test.ts 等。 ## Migration 调用点切换到 --config保留一个过渡告警当 --flag 被传入时提示 deprecated直至移除。 ## Removal 当所有调用点迁移且观测窗口两周内无 --flag 回退后删除 flag 解析与告警分支以 rig proof add drop 记录删除后 rig up --help 输出作为证据。收尾证据rig proof add 12-deprecate-legacy-flag \ --artifact-type qa \ --verdict PASS \ --candidate-sha abc1234 \ --money-evidence flag removed from parser and help; 3 call sites migrated; zero legacy warnings \ --evidences 1,2,3 \ --media help-output.txt \ --self-check I read help-output.txt and grep -R --flag; both confirm removal最后用rig scope audit复查章节完整性与证据配对切片的弃用旅程即告闭环。这个流程把弃用从一次随手删除变成一条可回放、可审计、可交接的工程记录——这正是 OpenRig 切片体系的意图所在。赞分享人工智能AI Agent多智能体Agent 编排代码智能体CLI【免费下载链接】openrigMulti-agent harness that runs Claude Code and Codex together as one system项目地址https://gitcode.com/GitHub_Trending/op/openrig点击查看免费下载相关推荐CUTLASS Python DSL 弃用政策Deprecation Policy全面解读从弃用流程到迁移实战CUTLASS Python DSL 弃用政策Deprecation Policy全面解读从弃用流程到迁移实战 导读 本文基于 CUTLASS 仓库 me算子库高性能计算python-sdk 废弃特性迁移指南2026-07-28 规范下的 Deprecation 全面解读python sdk 废弃特性迁移指南2026 07 28 规范下的 Deprecation 全面解读 MCPModel Context Protocol人工智能MCP 服务MCP ClientsTekton Pipeline API 变更与字段弃用实战指南CustomRun 扩展、Deprecation 流程与安全移除规范Tekton Pipeline API 变更与字段弃用实战指南CustomRun 扩展、Deprecation 流程与安全移除规范 本文面向 Tekton P云原生CI/CDDevOps后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考