Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 23:31
· 1221 commits to main since this release

v0.3.0

New language tier: YAML config keys (.yml/.yaml) — scalar-keyed mapping pairs at depth ≤2, anchors/aliases and block scalars handled, sequences transparent. Vendored tree-sitter-yaml v0.7.2 with two safety patches (a serialize-bounds overflow at 254 indent levels and an int16 column wrap on very long lines).

Sharper call graph: field-typed member narrowing — a call through a field whose declared type is known now resolves against that type's members (with base-class walk) instead of every same-named symbol in the corpus. On a large polyglot validation tree: ambiguous references −300, real edges +392. Unknown or dynamic receivers stay honestly ambiguous.

SARIF export: ripwire <dir> --lint --sarif emits SARIF 2.1.0 for GitHub code scanning — result count pinned equal to native findings, deterministic byte-for-byte, partial modes refused rather than half-represented.

Substitution meter: the nudge hook can now count tool choices (ripwire vs native Read/Grep/Glob, rtk-unwrapped) into a local JSONL — docs/SUBSTITUTION_METER.md covers the schema, the A/B toggle, and the disclosed limits. RIPWIRE_METER=0 opts out.

Vendored-patch convention: third_party/patches/ with a drift gate — patches to vendored grammars now survive re-vendoring, every UBSan ignorelist entry is validated against the tree, and a family audit classifies every vendored scanner's serialize posture. First tenants: the Swift raw-string truncation fix and the YAML patches above.

Quality-lens fixes: short-horizon churn now keys on (file, scope, name) — a same-named symbol in an untouched file can no longer donate churn identity; shell functions called only from file top level are no longer flagged dead; 109 stale churn acknowledgements retired.

Skills & methodology: routing corpus grown to 152 judged rows with honest re-derived floors; two negative results published in docs/EVALS.md per METHODOLOGY §5, which gains §7: audit the choice, not the trigger. (A further set of measured description fixes passed its blind-rater acceptance after this tag and lands in the next release.)

Install or update:

RIPWIRE_REPO=redhat-et/ripwire bash -c "$(curl -fsSL https://raw.githubusercontent.com/redhat-et/ripwire/main/scripts/install.sh)"