关于 harness-drift-from-history
该 Ruflo skill 将审计历史记录与当前 oia-audit 结果比较,输出结构化漂移报告并按相似度阈值触发告警,适用于定期检查审计变化。
主要功能
- 01选择最新审计记录作为基线
- 02运行当前 oia-audit 并比较
- 03支持基线时间范围与阈值
- 04输出结构化漂移报告
- 05区分漂移、配置和降级状态
适用场景
- 01定期检查审计结果是否发生变化
- 02在 CI 中根据相似度阈值设门禁
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill harness-drift-from-history安装后在 Claude Code 中输入/harness-drift-from-history确认已加载。
详细介绍
每周运行 oia-audit 后,自然会想问:“有没有发生偏移?”在使用此技能之前,需要按以下三个步骤操作:
npx ruflo metaharness audit-list --format json # → pick a key by hand
npx ruflo metaharness oia-audit --format json > /tmp/curr.json
npx ruflo metaharness audit-trend \
--baseline-key <picked-key> --current /tmp/curr.json \
--alert-on-distance-below 0.95
此技能将其简化为一条命令:
npx ruflo metaharness drift-from-history --threshold 0.95
功能说明
- 通过 audit-list.mjs 列出
metaharness-audit命名空间中的记录 - 根据
startedAt选取最新记录(或者使用--baseline-since 7d跳过最近 7 天内的记录) - 针对当前路径运行一次全新的
oia-audit - 通过 audit-trend 对两者进行比较,并应用
--alert-on-distance-below ${threshold} - 返回结构化的偏移报告
架构约束继承(ADR-150)
| 约束 | drift-from-history 如何满足 |
|---|---|
| 可移除 | 通过现有脚本进行纯子进程组合——不引入新的 @metaharness/* 导入 |
| 可选 | 如果 oia-audit 报告 degraded:true,此技能将以状态码 3 退出,并返回降级载荷 |
| 优雅处理 | 审计历史为空时以状态码 2 退出并给出初始化提示;绝不崩溃 |
| CI 门禁 | Smoke 步骤 17z16 锚定调度程序入口和子命令列表 |
退出码
- 0 — 相似度 ≥ 阈值(或未触发阈值)
- 1 — 检测到偏移:相似度 < 阈值(已触发警报)
- 2 — 配置错误(无历史记录、audit-list 失败)
- 3 — 上游 metaharness 不存在(已返回降级载荷)
示例
$ npx ruflo metaharness drift-from-history --threshold 0.95
# drift-from-history
Baseline: audit-2026-06-16T22-58-47-840Z
Current: 2026-06-16T23:05:02.231Z
Structural similarity: 1 (near-identical)
Distance: 0
✓ similarity ≥ 0.95 — OK
实现
评论
支持 Markdown