核心引擎 · 难度:进阶

lfg 编排器

将请求一路推进到完成态的顶层技能。references/intake.md 中定义六条路由,正文包含十一个步骤。

lfg 是什么——以及不是什么

lfg 是唯一编排其他技能的技能。它不实现、不测试、不调试、不发布——只把请求路由到负责该工作的技能,然后返回该技能的结果,或对代码变更运行 11 步状态机。本插件中每一条跨技能边都源于 lfg(或者另一台编排器 ce-babysit-pr)。

六条路由

来自 references/intake.md,按严格优先级排序——首条匹配者胜出:

lfg 编排流程 — 14 步链,从意图判定到看护,中间聚合状态 请求 1. 计划路径 命名的产物 / 既有计划 2. 缺陷 具体的失败行为 3. 判定 未决的判断 4. 产品未决 人在场 → ce-brainstorm 5. 非代码 解释 / 原型 / pov / … 6. 计划 其他代码变更 路由 1–4 与 6:完整的 11 步状态机(步骤 1–11) 路由 5:调用匹配的技能并返回其结果。无分支,无工作源,无 DONE。
lfg 的六条路由。路由 5 立即返回;其余五条运行 11 步状态机。

路由定义

#路由触发条件首选动作
1计划路径请求指明了一个计划产物(统一计划路径、头脑风暴产物、本会话此前的计划)调用 ce-plan(恢复/深化)或直接使用该计划
2缺陷具体失败/错误的行为需要修复;问题引用 / 失败测试路径 / 堆栈跟踪mode:return-to-caller 调用 ce-debug
3判定变更依赖于用户未拍板的一个决定("我们要不要采用 X?")调用 ce-pov;判定作为证据携带
4产品未决多种合理的产品行为并存;人在场mode:return-to-caller 调用 ce-brainstorm
5非代码结果不是代码变更(解释 / 原型 / 判定 / 构思 / 交接)调用匹配的技能;以该技能的结果结束本次运行
6计划(默认)其他代码变更使用清理后的请求 + 简报调用 ce-plan

十一个步骤(针对代码变更路由)

lfg 步骤详细流程 — Plan / Work / Resolve / PR / Ship / Babysit / Done 步骤 1 · 产出工作源 计划路由 → ce-plan;缺陷 → ce-debug 步骤 2 · ce-work return-to-caller 缺陷路由跳过此步骤 步骤 3 · ce-simplify-code 仅文档或 10 行以内可跳过 步骤 4 · ce-code-review mode:agent 缺陷路由:省略 plan: 步骤 5 · 应用并落地修复 每条发现项需 4 项条件门控 步骤 6 · 残余交接 未应用的发现项 → PR 正文或跟踪器 步骤 7 · ce-compound mode:non-interactive 仅当存在合格的学习时 步骤 8 · ce-test-browser mode:pipeline 对受影响页面进行 e2e 步骤 9 · ce-commit-push-pr mode:pipeline branding 发布前置:无远端 = 本地终止 步骤 10 · ce-babysit-pr mode:pipeline 姿态:posture:stack-ready|stack-land 步骤 11 · <promise>DONE</promise> 先读 plan-brief 先读 work-return.md 此时读 review-followup.md 缺陷路由:省略 plan: 先读 shipping.md 姿态来自 stack
11 步状态机。每个步骤的参考文件必须在该步骤之前加载。

各步骤要点

完整细节见 references/plan-brief.mdreferences/work-return.mdreferences/review-followup.mdreferences/shipping.md 以及各技能页。下面是承载契约的摘要。

步骤 1 — 工作源

步骤 1.5 — 已决决策简报(当存在计划时)

简报包含:

无可携带内容时,不要写空简报。

步骤 2 — 实现

步骤 3 — 简化

在分支 diff 上调用 ce-simplify-code。将计划路径作为上下文传递,供 KTD 保留。仅在仅文档或 10 行以内的变更上跳过。本步骤不要提交;步骤 9 提交残余。

步骤 4 — 评审

调用 ce-code-review mode:agent plan:<plan-path>。缺陷路由:省略 plan:。阅读 Actionable Findings 摘要与产物路径。若某条带 settled_conflict 戳记的发现项,其证据表明已决决策无法落地,则停止流水线。

步骤 5 — 应用并落地修复

仅当以下全部四项成立时才应用某条发现项:

  1. suggested_fix 已给出且具体。
  2. confidence 为 100,或 75 且记录了跨 persona 共识。
  3. 修复是机械性的(无契约/权限/安全变更)。
  4. 编辑前,证据仍能匹配所引用的 file:line。

绝不要把 autofix_class 当作授权。提交 fix(review): apply review findings,当配置了远端时推送。

步骤 6 — 残余交接

以下两种触发器会持久写入残余:

当存在 PR 时:在步骤 9 的 PR 描述上下文中撰写 ## Unapplied review 章节(每条一项,对应一条 bullet)。无 PR 时:以非交互模式加载 references/tracker-defer.md,按配置跟踪器接受的数量尽可能多地建单。

步骤 7 — 复合(合格时)

调用 ce-compound mode:non-interactiveDocumentation skipped 即为成功。步骤 9 提交并推送 ce-compound 写下的内容,使该学习在 PR 开启时已合入。不要在步骤 10 之后运行——"CI 已决"之后再推送会留下无人看管的 head。

步骤 8 — 浏览器测试

调用 ce-test-browser mode:pipeline。无头运行,永远不要在 human-verify 流程上暂停;记录并附理由跳过。

步骤 9 — 发布

首先:发布前置。执行一次 git remote。无远端 = 全本地终止(仅提交;不推送、不开 PR、不守 CI)。有远端时:调用 ce-commit-push-pr mode:pipeline branding:on。将步骤 6 的 ## Unapplied review 作为 PR 描述上下文传入。传入 settled_decision_conflicts 条目。缺陷路由:改为传入 debug 的 root_causeissue_of_record

步骤 10 — 看护

默认调用 ce-babysit-pr mode:pipeline <pr-url>;当看护跟随一次 stack 提交时,传入 posture:stack-readyposture:stack-land不要在此处重新实现 CI 看护——看护拥有它。收集结构化结果 { status, fixes_applied, residuals }

步骤 11 — 收尾

停止条件

lfg 在以下任一条件成立时停止(不产生 DONE):

停止时,先前已推送的内容不会被推送走。

参考