用途
Editor Harvest Plan 是 editor-test-harvester 的下游技能,用于把一次测试采集报告转化为某个 owner lane 专属的执行级计划。当 editor-test-harvester 已经产出报告并要求对单个 owner lane 进行处理时使用它。
主要能力
- 解析 harvest 报告,读取状态、分数、license mode、输出模式、inventory 计数、matrix 行、跳过项、下一步切片和 pass-state ledger。
- 校验伴随文件(inventory.md、test-index.md)是否存在或记录缺失原因。
- 归一化 lane 别名。
- 对每一行做归属核算:in-lane、out-of-lane、split、duplicate、skip、unresolved。
- 对 slate-v2 lane,涵盖 selection DOM 映射、beforeinput/input、IME/composition、剪贴板与拖放、历史撤销/重做、规范化与 transform、删除/退格、插入片段、marks/inline/void 原语、shadow DOM、浏览器引擎行为、focus/blur、大文档性能等原始 Slate 底层行为;并排除或拆分 link/autolink、列表/清单策略、markdown 转换 UX、mention/hashtag/emoji/date-time 插件、媒体装饰器、工具栏/菜单/对话框状态、React 插件宿主、NodeView/PluginView 式编写等产品行为。
- 在当前 owner 工作区中检索现有覆盖情况:slate-v2 检索 .tmp/slate-v2,plate 检索 packages、kits、docs、examples 与 behavior-law 文档。
- 应用下游 lane 技能的门禁(slate-plan 或 plate-plan)。
- 按模板生成 docs/plans/YYYY-MM-DD-<lane>-<repo>-harvest-plan.md,并提供 accepted-plan 交接。
使用方式
示例调用:
editor-harvest-plan slate-v2 tinymce
editor-harvest-plan slate-v2 .tmp/editor-test-harvester/tinymce/report.md
editor-harvest-plan docs/editor-test-harvester/tiptap/report.md --lane slate-v2
参数解析:先 lane 再 report/repo key,或 report/repo key 加 --lane。报告解析顺序:显式路径优先,其次 docs/editor-test-harvester/<repo>/report.md,再次 .tmp/editor-test-harvester/<repo>/report.md,否则需先运行或请求 editor-test-harvester。
使用 agent-native goals 保存持久状态:先用 get_goal,无匹配活跃 goal 时用 create_goal(每线程仅一个活跃 goal)。生成计划的命令:
node .agents/skills/autogoal/scripts/create-goal-scratchpad.mjs \
--template editor-harvest-plan \
--title "<Lane> <Repo> Harvest Plan"
Lane 注册表
| Lane | 别名 | 下游技能 | Owner | 输出 |
|---|---|---|---|---|
| slate-v2 | slate, raw-slate | .agents/skills/slate-plan/SKILL.md | .tmp/slate-v2 中的原始 Slate v2 底层 | docs/plans/YYYY-MM-DD-slate-v2-<repo>-harvest-plan.md |
| plate | platejs, plate-owned | .agents/skills/plate-plan/SKILL.md | 本仓库中的 Plate 包、kits、docs、examples 与产品行为 | docs/plans/YYYY-MM-DD-plate-<repo>-harvest-plan.md |
若 lane 未知,仅当 harvest 行的 owner 标签能明显推断时才推断,否则询问 lane,不得虚构新的 owner lane。
适用场景
- 已有完成或接近完成的 editor-test-harvester 报告。
- 需要处理某个 lane(如 slate-v2 或 plate)的全部行。
- 用户要求“这个 harvest 的全部 Slate 测试”“全部 Plate-owned 行”或“把 harvester 结果处理成计划”。
限制
- 这是规划/路由技能,不修补实现代码、测试、示例、包文件或构建配置。
- slate-v2 不得从本技能编辑 .tmp/slate-v2;plate 除计划外不得编辑 packages、apps、docs、examples 或行为。
- 用户说“go”“process”“apply”“all tests”等不覆盖规划边界;需先建计划,用户接受后再交给下游 lane 技能执行。
- 除非报告缺少必要证据,否则不重跑完整 harvest;harvest 不完整但可用时处理已有部分,计划保持 pending 并注明缺失的 harvester 环节。
- 保留 harvest 的 license mode;对 behavior-only 来源,任何带版本的计划行只使用新鲜的本地 invariant 措辞与源路径出处。
- 绝不把上游测试代码、fixture、helper、快照、预期输出或表达性文本复制到版本化输出。
- 不得把 Plate/产品行算作 Slate v2 测试,也不得把原始 Slate 底层行算作 Plate 插件待办,除非已明确拆分并路由。
- “全部 lane 测试”指属于该 lane 的每一行,包括 covered、refactor-existing、create-new、fresh-invariant、permissive 来源的 copy-now、defer 以及未解决的 lane 候选,不限于 create-new。
- 浏览器、剪贴板、选择、移动端与 IME 行需要诚实的证明路径;仅包测试不足以关闭浏览器/设备断言。
动作取值
covered、refactor-existing、create-new、仅 permissive 来源的 copy-now、仅 behavior-only 来源的 fresh-invariant、defer、split、skip。对 behavior-only 来源,版本化输出中绝不使用 copy-now,而用 fresh-invariant。
置信度评分
维度与权重:Harvest 来源就绪度 0.15、Lane 过滤完整度 0.25、当前 owner 覆盖映射 0.25、执行队列可操作性 0.20、License/出处纪律 0.15。
分数上限:报告缺失时总分不超过 0.80;inventory 或 test-index 状态未知时不超过 0.86;除非每条 harvest matrix 行都被记为 in-lane 或 out-of-lane/split/duplicate/skip,否则 Lane 过滤完整度不超过 0.80;除非已在目标工作区检索当前 owner 测试/源码,覆盖映射不超过 0.85;除非每条未覆盖的 in-lane 行都给出目标文件、证明类型、聚焦验证命令或 defer 原因,可操作性不超过 0.85;对 behavior-only 来源,除非计划写明 fresh-invariant-only 规则并避免复制源措辞,License/出处不超过 0.80。
完成阈值:总分 >= 0.92;任何维度不低于 0.85;无未解决的 in-lane 行;create-new、refactor-existing、copy-now、fresh-invariant 或 defer 行均有 owner 与验证/defer 证据;已记录下游 lane 应用;最终 goal-plan 检查通过。
验证
规划阶段验证(plate-2):
rg -n "Harvest grounding|Lane contract|Full harvest row accounting|In-lane candidate matrix|Execution queue|Downstream lane application|Accepted-plan execution handoff" docs/plans/<plan>.md
node .agents/skills/autogoal/scripts/check-complete.mjs docs/plans/<plan>.md
编辑本技能后的来源同步验证:
pnpm install
test -f .agents/skills/editor-harvest-plan/SKILL.md
rg -n "editor-test-harvester|slate-plan|Lane Registry|Full harvest row accounting" .agents/skills/editor-harvest-plan/SKILL.md
pnpm lint:fix
Slate v2 行为验证仅属于从 .tmp/slate-v2 执行的 accepted-plan。
最终响应格式
Pending 时:
Editor Harvest Plan is pending: [docs/plans/...](docs/plans/...)
Score: 0.xx
Next owner: ...
Done 时:
Editor Harvest Plan is ready: [docs/plans/...](docs/plans/...)
Lane processed:
- `<lane>`: N in-lane rows, N covered, N refactor, N create/fresh-invariant, N defer, N excluded/out-of-lane.
- Downstream skill: `<skill>`.
- Execution next: `<first execution queue id or none>`.
暂未提供
该技能的收费标准、价格、适用平台或运行环境的明确限制,资料中暂未提供。