技能 编程开发 检测审计历史结构漂移

检测审计历史结构漂移

v20260707
harness-drift-from-history
该工具将结构漂移检测流程整合为一个命令,用于简化代码维护。它能自动获取最新的审计基线,对当前代码库进行新审计,并通过结构相似度指标(如ADR-152)对比两者。当结构距离低于设定的阈值时发出警报,确保代码和结构的一致性。
获取技能
353 次下载
概览

The natural ops question after running oia-audit weekly is "did anything drift?" Before this skill, the answer required a three-step sequence:

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

This skill collapses it into one command:

npx ruflo metaharness drift-from-history --threshold 0.95

What it does

  1. Lists records from metaharness-audit namespace via audit-list.mjs
  2. Picks the most recent record by startedAt (or --baseline-since 7d skips anything newer than 7 days)
  3. Runs a fresh oia-audit against the current path
  4. Diffs the two via audit-trend, applying --alert-on-distance-below ${threshold}
  5. Returns the structured drift report

Architectural constraint inheritance (ADR-150)

Constraint How drift-from-history satisfies it
Removable Pure subprocess composition over existing scripts — no new @metaharness/* import
Optional If oia-audit reports degraded:true, this skill exits 3 with a degraded payload
Graceful Empty audit history → exit 2 with hint to seed it; never crashes
CI-gate Smoke step 17z16 anchors the dispatcher entry + subcommand listing

Exit codes

  • 0 — similarity ≥ threshold (or threshold not crossed)
  • 1 — drift detected: similarity < threshold (alert fired)
  • 2 — config error (no history, audit-list failed)
  • 3 — upstream metaharness absent (degraded payload returned)

Example

$ 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

Implementation

scripts/drift-from-history.mjs

信息
Category 编程开发
Name harness-drift-from-history
版本 v20260707
大小 2.49KB
更新时间 2026-07-09
语言