度量与校验体系维护(Measurement & Verification System)
【安全20/目标60】原创 skill(agent_created)。2026-08-12 创建(用户拍板:沉淀为 skill,换环境/克隆谢尔比时整体迁移,不散在 RULES/MAINTENANCE/脚本各自描述)。
用途
维护"度量谢尔比"体系——三判据(预判命中/想法落地/能力证据)的口径定义、跨文件一致性自动检查、三道防漂移防线、以及体系扩展指引。换环境/克隆时按资产清单恢复并验证。
资产清单(落点文件,缺一即体系不完整)
| 资产 | 位置 | 内容 |
|---|---|---|
| 脚本 | ~/.workbuddy/scripts/consistency_check.py | 一致性检查器(版本自报/组清单自动生成) |
| 判据基准①命中 | RULES 例行⑧ + MAINTENANCE 14 | 三级判据 + 可证伪指向 |
| 判据基准②落地 | MAINTENANCE 15 | 落地=有持久化载体,口头同意不算 |
| 判据基准③证据 | MAINTENANCE 16 + CAPABILITY.md 头部 | 只记三类,停滞域排除例行 |
| 挂载说明 | MAINTENANCE 18(周维护自动跑) | 检查项定义 + 维护动作 |
| 硬检查① | RULES 蒸馏优化⑥ | 优化被覆盖文件后必跑,DRIFT 即回滚 |
| 硬检查② | RULES 收工同步⑧ | 收工时跑(7→8 件事) |
| 保底自动化 | automation-1786539480282(每日 22:30) | 日终收工同步·保底(已收工则跳过) |
| 评估窗口 | TODO #29·30·31 | 08-16 口径评估 / v5 数值型候选 / 收工保底 |
使用流程(Use Flow)
- 看状态:
python ~/.workbuddy/scripts/consistency_check.py --version——自报版本(文件 mtime 自动生成)+ 组清单 - 全量检查:
python ~/.workbuddy/scripts/consistency_check.py——默认全部组(metric 8 + host 4 + log 2 + dual 2 = 16 关键词)+ 今日日志动态检查(--daily-log) - 出报告:
--report输出 markdown 小结,直接粘贴进维护报告 - 漂移处理:CONSISTENCY_DRIFT / DAILYLOG_DRIFT → 按输出定位缺失文件 → 按下方基准表述补齐(改前先备份)→ 重跑至 OK
- 扩展(新增跨文件口径):GROUPS 字典加 group + 关键词映射(先实测关键词分布再定)→ 实测通过 → 同步 TOOLS/PATHS 描述(描述引用 --version,通常无需改细节)→ MAINTENANCE 18 记一笔
- 改措辞必同步关键词:优化/蒸馏基准文件(RULES/MAINTENANCE/CAPABILITY/TODO/USER)改口径措辞时,必须同步更新脚本关键词并重跑实测——防"文件优化了、脚本对不上了"
- 新资产必跑 verify_sync(2026-08-12 教训:consistency_check.py 漏登记 MIGRATION_CHECKLIST+pack.py 被 verify_sync 抓出):新增脚本/文件后,必须运行
python ~/.workbuddy/scripts/verify_sync.py确认全部登记——登记点多(TOOLS/PATHS/SYSTEM_MANIFEST/MIGRATION_CHECKLIST/pack.py 5 处)易漏,不靠逐处登记,靠机器核查兜底;SYNC_FAIL 即补登记再重跑至 SYNC_OK - 动态日志检查的路径口径(2026-09-18 修,ISSUES #30):
--daily-log的今日日志不得依赖 cwd——候选顺序 = ①cwd/.workbuddy/memory/<date>.md②~/WorkBuddy/*/.workbuddy/memory/<date>.md(新→旧)。教训:旧实现写死 cwd,从~/.workbuddy运行时拼出.workbuddy/.workbuddy/...(双写)→ 找不到文件 →return True静默放过 → 收工⑧这条防线等于没查且不报警。通用原则:凡"找不到就算过"的检查,必须打印尝试范围,否则无法区分"当日未开工"与"路径写错" - 待蒸馏区检查的格式口径(2026-09-18 修,ISSUES #31):
verify_distill.py识别候选必须兼容 ①- [ ](原始 checkbox)②- **(<日期> 待蒸馏·N 条候选 = …)**:(2026-08-30 起实际格式),并排除含「已蒸馏/已即时蒸馏」的历史行;语义=非空只提示、不判 FAIL(候选允许滞留至周维护,但【周维护必须清零】)。教训:旧实现只认- [→ 08-30 改格式后恒报「空 ✅」,候选可无限堆积而仍 DISTILL_OK。通用原则:凡解析固定格式的检查,格式一变就静默失效——匹配式必须绑定当前实际格式,且格式变更时把校验器列为同步项(对齐 RULES 蒸馏优化⑥) - 两条硬教训合并:「检查了但等于没查」比「没有检查」更危险——前者会给出绿色的假安全感。设计任何校验器时自问三句:① 目标找不到时返回什么?(True=危险)② 路径/格式变了会不会静默失配?③ 失败时是否留下了可区分的证据(尝试范围/候选数/实际格式)?
三道防线(防口径漂移)
| 防线 | 时机 | 规则 |
|---|---|---|
| ① 蒸馏硬检查 | 优化被覆盖文件后 | RULES 蒸馏优化⑥:必跑,DRIFT 即回滚措辞,不带着漂移收工 |
| ② 收工硬检查 | 日终收工同步时 | RULES 收工⑧:跑脚本(含 --daily-log),DRIFT 即处理 |
| ③ 保底自动化 | 每日 22:30 | automation-1786539480282:先查收工标记,已收工则跳过;未收工按收工 8 件事执行(含⑧) |
三判据基准表述(补齐/校准用,改此必同步脚本关键词)
- 命中判据(预判):强命中=用户明确回应(对/正是/拍板采纳);行为命中=行为证实无需明说(保守判定,宁可漏判不强判);落空=次日收工验证无对应行为;预判必须写可证伪指向("今天你会处理备份事项"而非"今天你可能有事");用户当日出现即当场验证
- 落地判据(想法闭环):落地 = 有持久化载体(RULES / skill / 脚本 / 清单登记变更),口头同意不算——采纳≠落地,落地率只统计有实据的采纳
- 证据判据(能力清单):只记三类——①超既有自动化/规则覆盖的新场景处理;②用户明确采纳或表扬的新做法;③错误修正复盘(坏事变证据);停滞域判定排除"例行使用"(区分"在用但没涨"与"完全没碰")
自动化候选·双层判据(2026-08-12 用户认知校准「便利与可靠不矛盾」)
打磨本体/任何自动化候选的通用判据:每个候选都要有两层,缺一层即不合格——
- 便利层:脚本/工具(省事、一键)——提供"能做什么"
- 可靠层:流程/验证/记录(可核验、防漏)——提供"凭什么信"
- 单层风险:单便利=裸工具易失联(做了没人知道/没法核验);单可靠=重流程没人用(有机制没抓手)
- 判断动作:给候选点标「便利层=___ / 可靠层=___」,缺哪层补哪层
- 示例:收工一键=8 件事脚本(便利)+ 结果记录/一致性检查(可靠);一键体检=报告生成(便利)+ 核对口径/登录补跑豁免(可靠);邮箱日报=ask_bridge 汇总(便利)+ evidence 化落盘(可靠)
- 最快产出路径(08-12 用户认可):给今晚已建机制补便利层(如收工一键)——可靠层已厚,补一层即产出
换环境/克隆迁移清单
- 恢复脚本 consistency_check.py(随 scripts/ 打包,verify_sync 检查)
- 核对资产清单 8 项落点文件齐全(RULES 三处 / MAINTENANCE 4 处 / CAPABILITY 头部 / TODO #29-31)
- 跑
--version+ 全量检查 → CONSISTENCY_OK 即体系就绪 - 保底自动化需在新环境重建(automation id 会变;prompt 见 automation memory)
- 触发词自查:度量口径 / 一致性检查 / 口径漂移 / 收工保底
更新记录
- 2026-08-12 建立(沉淀自 08-12 晚间「度量口径前置→consistency_check v1-v4→硬检查→收工⑧→保底自动化」整条链)
