context-infra 检查与复盘infra.guiming.net · 全内容自包含呈现 · 生成于 2026-07-21 16:28 UTC

workflow_tool_skill_evolution

Z3 全文↑ Z2 条目

道-方法 · 道层 skill 全文

← 返回道层 skill 索引 · 返回方法论区

本页是 <code>rules/skills/drafts/workflow_tool_skill_evolution.md</code> 的逐字投影(仅隐私清洗,零改写)。

时点提示:本页是仓内文件 rules/skills/drafts/workflow_tool_skill_evolution.md 的逐字投影(仅做隐私清洗:仓库根绝对路径→相对路径、家目录→~/;除此零改写)。若源文件后续有修订,以仓内真源为准。

报告元数据(frontmatter)
name: workflow_tool_skill_evolution
type: 道(治理 / 演进)
status: draft (Beta) — 晋级前需 ≥1 个真实更新点经本 skill 的动态 workflow 端到端优化并过 landing_gate(FU-11 forcing_closure 三态为首个 dogfood)
created: 2026-06-15
description: 给一个已注册的工具、skill 或方法论文件加内容、改已有、或弃用时,怎么走才不破坏耦合、不丢旧需求、还保持模块化的方法论(道)。也判一次更新是否真 landed,以及怎么为一个具体更新点排一条任务专属的动态更新流程。触发场景:要改 tools/、rules/skills/ 或方法论文件(contexts/methodology/ 及各域 methodology/)下任一已注册资产、要为某更新点排更新流程、要判一次更新有没有破坏全系统、要让一次方法论修订真正传播到消费者、要用 trace 台账反推该优化什么。配套术 = 动态 workflow planner + 结构/行为/意图三家族检测器。设计真源在 adhoc_jobs/tool_skill_evolution_workflow_20260613/;方法论资产类与修订传播的机制真源在 adhoc_jobs/methodology_system_buildout_20260719/design/f_loop_design.md。

工具/skill 更新与演进(道)

道 skill。给判断,不调度执行。设计正文与扎根证据在 adhoc_jobs/tool_skill_evolution_workflow_20260613/design/,本 skill 是其可路由的判断面,不复制正文。工具按名引用(路径查 tools/INDEX.md)。

一句话

一次更新不是"把文件改了",是对一个运行系统的扰动。改动者从自己内部算不出"我有没有破坏耦合、丢了旧需求、还模块化吗",这个判断和原任务同等代价、且从内部不可见。所以更新 workflow 的本质是闭环控制:harness 替改动者制造机械、可操作、独立调控者裁决的误差信号。一份让改动者自我打勾的清单,恰恰是那个失效本身。

何时用 / 不做什么

用:要改 tools/rules/skills/ 下任一已注册资产(加能力 / 加内容 / 改已有 / 弃用);要改方法论文件(contexts/methodology/ 及各域 methodology/,见「方法论文件资产类」节);要为某个更新点排一条更新流程;要判一次更新有没有破坏全系统或是否真 landed;要让一次方法论修订真正传播到消费者(见「修订传播义务」节);要用 trace 台账反推该优化什么。

不做:不调度执行(那是术层 phase_runtime / 动态 planner);不替代落地判级(workflow_landing_to_production)、需求入库(workflow_requirement_intake)、版本判定(workflow_version_evolution),本 skill 在更新场景里把它们串起来用;trivial 一行改动不必走全流程(按下面裁剪纪律)。

核心原理:三个正交误差信号源

误差信号有三个正交来源,对应改完可能破坏的三样东西。这是个跨域同构:把变更看成对运行系统的扰动,系统状态分三层,每层各有"对不对"的判据(接 [[project_open_loop_control_theory]] [[project_anti_performative_diligence_methodology]] [[project_verifiable_checkpoint_experiment]])。

三层都闭,这次更新才真正受控。闭环的硬条件是有可测误差信号 + 调控者独立于被控对象,本 skill 的所有判断都为这两条服务。

方法论 A:如何更新(point 2a)

一次更新依次穿过 U0–U8 的可裁剪主干,括号标供给该步误差信号的家族。裁剪要显式记理由,不静默跳(沿用 workflow_phase_framework 的裁剪纪律)。

不同更新类型走同一主干,差别在裁剪和门的松紧:加工具能力重 U2 + U4 + U5;加 skill 内容重 U1 + U5 + U6(分类/联动边变了回写矩阵);改已有全程最重,U2 是命门,U5 验老行为没退化;弃用重 U1 的 DEPRECATED + U2 找全下游 + U3 的机械标记动作(deprecation.py mark:文件内插入 banner + 追加 maturity registry 行,只 append 不删改既有内容,提供迁移指针且不破坏兼容)。

方法论 B:如何验证效果(point 2b)

更新的"做对了"判据不是文件改了,是三层都给出非自报的信号:

  1. 行为验证而非文件验证:给独立 sub-agent 一个 held-out 场景,不告诉它改了什么,看它是否自然命中新行为(对标 superpowers TDD skill 验证;接 [[workflow_real_task_test_case_design]])。改 skill 尤其要这样验,改工具验它的真实调用效果。
  2. 结构门机械过:U4 的 reference_validator 全绿 + schema 守卫不报。
  3. landing_gate 四条件 + 独立调控者:运行证据 / 注册 / git-tracked / 下游引用,且第二 agent regulator 判引用是真消费边、claim 没偷换 frame。停机权不在改动者手里(接 [[workflow_landing_to_production]] 晋级门)。

粗粒度的"没过"救不了,误差信号必须可操作:指出哪条义务没覆盖、缺在哪、怎么复现(接 [[project_verifiable_checkpoint_experiment]]:1-bit ≈ 无信号)。

方法论 C:可能的方法(point 2c)= 三家族 + 动态选择

三个误差信号源各对应一个解法家族,扎在真实做法上(设计真源有完整扎根三齐):

发现问题到优化的闭环四拍:发现(B 挖台账出机械信号)→ 定位(信号带 task_id 沿台账回到具体文件,给可定位反例)→ 优化(定位出的问题本身是一次更新,进 U0 走全程)→ 回验(下一轮 B 确认信号消失)。回路不靠人记得,因为 B 持续产信号。

动态 workflow:检查→决定→任务专属流程(point 3)

本 skill 不是固定序列,是一个"为这个具体更新排流程"的判断引擎。拿到一个更新目标后:

  1. 检查(point 3a,要考虑哪些点):跑 U2 影响分析枚举下游;判更新类型(U0);从本 skill 取适用的家族和门。检查是机械动作,先有数据再决定。
  2. 决定(point 3b,做完检查后再决定):据检查结果裁剪 U0–U8、选适用的家族/门,产出针对该任务的 plan。裁剪有据:每个省略的步写一句锚回目标特征的理由。决定基于真实情况(下游有多少、是不是 BREAKING、有没有 schema 契约),不套模板。
  3. 形成任务专属 dynamic workflow(point 3c):决定的产物是一份接 phase_runtime plan schema 的 dynamic 计划,由术层执行。同一个 skill 对不同目标产不同的流程。

道术结合(point 4)

术基于道(point 4a):动态 planner(术)显式读本 skill 取方法论,机械可查它读了道的哪部分(receipt / canary)。不同优化需求产对应术(point 4b):四种更新类型走不同 plan 路径,由 planner 据 U0 分类生成。能更新整套相关内容(point 4c):U2 影响分析枚举下游 + 提案带出需联动更新的关联资产,使一次更新能机械地带出它牵动的全部。

区分判据(接 [[workflow_guidance_skill_matrix]] / [[workflow_landing_to_production]] Part 2):输出 judgment(该怎么更新 / 何时算验证过)= 道,在本 skill;输出调度执行(planner / gate / runner)= 术,在 tools/。术替换后道仍成立。

验收(无上下文 agent 可自判)

一次更新算走完本 skill,当且仅当:U2 影响分析有机械产出(下游清单非空或确证无下游);U4 结构门 PASS;U5 行为验证由独立 verifier 给非改动者自报;变更记录进 contexts/evolution_changes/;改动锚 task_id 进台账;最终过 landing_gate 四条件。任一缺 = 没走完,按 [[workflow_manage_unexpected]] 动作阶梯处理,不声称完成。

配套工具 / skill(按名引用)

已知陷阱(来自实证缺口,非臆测)

claim ceiling

证据 observational(纸面设计 + 首个 dogfood FU-11 进行中)。晋级 production(rules/skills/ 顶层)需 ≥1 个真实更新点经本 skill 端到端 + 过 landing_gate + 人确认 + 走 workflow_version_evolution,不在纸上拍 solid。

S6 Dogfood Addendum(2026-07-02,Beta)

S1-S6 的术层 surface 已集中在 tools/evolution_workflow/planner.py / record.py / maturity.py / reviews.py / trace_mining.py / refresh.py / todo_bridge.py,并由 tools/INDEX.mdevolution_workflow 行作为工具入口指针。S6 自指 dogfood 包为 contexts/evolution_changes/2026-07-02-evolution_workflow_refresh-add-capability/

S6 只支持 bounded claim:refresh.py 对 importable runtime seam 做兼容 guard,当前工作区模式是 real-seam-present guarded,因为 tools/phase_state/reassess/ 存在但未作为 HEAD-landed runtime integration 处理。EW-29 adapter 为 python3 -m tools.evolution_workflow.reviews file_generation|implementation_effect;maturity 记录走 python3 -m tools.evolution_workflow.maturity update。本 DAO skill 保持 Beta;没有 human confirmation 时不得晋级 stable/production。

EW-5 / EW-11 Addendum(2026-07-07,Beta)

两个此前只有方法论描述、没有术层执行手段的缺口补上:

方法论文件资产类(2026-07-19,Beta)

本 skill 的资产清单从 tools/ + rules/skills/ 扩到第三类:方法论文件——contexts/methodology/ 正文与各域 program 内 methodology/(如 career),含其候选与修订区。承认理由:方法论文本同样是被读、被引用、约束行为的运行资产,改它同样是对运行系统的扰动,此前却没有演进框架接住它(更新即裸改)。方法论体系 campaign 的反馈回路把这类更新接进本 skill 的同一控制论框架;回路拓扑(源→候选队列→周裁决批→三着陆道→四谓词)的机制真源 = adhoc_jobs/methodology_system_buildout_20260719/design/f_loop_design.md §A-§E,本节只收资产类承认与判断面,不复制机制正文。

三家族对这类资产的具体化(信号形态与代码/skill 资产不同,按此取信号、不硬套原 gate):

U0-U8 对这类资产的裁剪基线(裁剪仍显式记理由,不静默跳):U1 提案 = 队列候选行(evidence_refs + target + sketch);U2 影响分析 = 指针存活 grep + 消费边清单,非全量 backlinks;U4 结构门 = patrol 断言;U5 行为验证 = 「修订传播义务」节的拉取门强制重读(held-out sub-agent 验证对单条修订成本不成比例);独立调控者 = 周裁决批(裁决是证据核验非模型意见);U7 归档锚 = 版本指纹 + 队列状态转移(woven),非 evolution_changes 完整包。走候选队列 + 裁决批落地的方法论更新,视为已走本 skill 的裁剪化实例。

修订传播义务(2026-07-19,Beta)

一次修订 landed ≠ 消费者读到。push 型传播(修订落地时编排者向在跑 lane 注入重读指令)是口头义务,已实证失效——「一句话」节那条失效律(让执行者自我打勾的清单恰是失效本身)在传播环节的重演。义务 = 拉取门为主、push 为辅,对任何有 mid-run 消费者的方法论文件 / 道 skill 修订生效:

  1. 版本指纹:每个方法论文件带指纹(SOP tag 或 行数 + 末行 hash);织入落地时由确定层再生指纹索引(文件→指纹的单文件投影,GENERATED 区)。
  2. 边界拉取门:长期 program 的开工卡 / 入口件记录「所读方法论指纹」;phase 边界 / run 起点由确定层比对所记指纹 vs 索引现值,不一致 = flag,须重读修订区才放行。传播从「广播义务」变成「过界检查」,不依赖任何人记得。
  3. push 降为第二层 best-effort:修订 commit 落地时仍向在跑 lane 注入重读指令,但保证性来自拉取门。

三实例锚(真实证据,本次扩节时逐条 grep 核实在位):

  1. push 失效实证:career/methodology/METHODOLOGY_OPTIMIZATION_PHASE_v1.md:190(E15——E1-E13 落地后 2/3 lane 新条款零执行痕迹;传播义务写明了也没被执行)。
  2. 拉取门已运行先例:adhoc_jobs/context_infra_migration_20260709/RUN_TEMPLATE.md:23(每张派发卡 must_read 必含 program 根 GLOSSARY.md;同文件 :6 起卡缺引用 = gate flag、:42 具名消费者 = 每张派发卡)——「过界检查」形态已在 migration program 实战。
  3. 挂靠监测面:periodic_jobs/guardian_health/health_scan.py:46(L3Finding / severity 阈值框架已 live)——staleness 检查挂这里(含「指纹索引 mtime 落后于最新方法论文件 mtime = 织入了没登记」),不新造监控系统。

义务判据(何时必须更新指纹索引):每次 accept-as-revision / accept-as-new 落地(织入正文或新生文件)即必须同批更新指纹索引 + 一行路由差量(接口裁定 D-SYN-3,同 campaign design/SYSTEM_DESIGN.md:随周裁决批由单 writer 同批 apply);机械核验 = 指纹索引 mtime 不落后于全部方法论文件的最新 mtime,落后即 guardian finding。零 mid-run 消费者的静默窗内织入免 push(义务自动满足),拉取门在下一次开工时兜住。术层落地(指纹索引生成脚本 + 开工卡义务行)= campaign 队列 LOOP-4;工具未落地前本义务以手工比对执行,不因工具缺位而免除。


← 返回道层 skill 索引 · 返回方法论区