v0.3.1
v0.3.1
Skill routing, measured: six descriptions gained the facts blind raters proved were missing — tool-health moments (--doctor, --skipped, index staleness), the N-way --connect moment, --lego interface-implementors, and an explicit fresh-eyes↔quality-bar boundary. Accepted at 9/9 under a pre-registered sealed two-rater protocol (baseline 7/9); rows routable only by guesswork fell from 8/9 to 1/9. Three corpus labels corrected with logged provenance.
New surfaces: --rank-by=churn-decay — recency-weighted churn (half-life 90d, disclosed in the legend; the clock anchors to HEAD's commit time, so output is a pure function of the repo, proven identical across trees dated years apart) · layer(SET, NAME) predicate in --graph-query — filter by the same layer taxonomy the map prints, refusing loudly on unlayered trees · Type-3 clone grouping — gid= per row plus clone_groups=/dup_loc=/dup_pct= corpus totals (floors, counting choice disclosed).
Hardening: per-gate timeout budgets in the test harness (a timeout names its own declared budget; the long benchmark gates get honest ones) and a killed regex scan now reports KILLED instead of a wrong verdict; cache eviction gains gates for the .cache family and the never-touch-a-lock invariant, verified by mutation.
Install or update:
RIPWIRE_REPO=redhat-et/ripwire bash -c "$(curl -fsSL https://raw.githubusercontent.com/redhat-et/ripwire/main/scripts/install.sh)"