plugins/ruflo-metaharness/skills/harness-drift-from-history/SKILL.md
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
metaharness-audit namespace via audit-list.mjsstartedAt (or --baseline-since 7d skips anything newer than 7 days)oia-audit against the current path--alert-on-distance-below ${threshold}| 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 |
$ 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