New Features (2026-06-19) — Heal Analytics & Secret Scan
Two pure-standard-library audit/analysis tools: aggregate the self-healing log into drift metrics, and scan action JSON for hardcoded secrets. Full stack.
Self-heal analytics
from je_auto_control import analyze_heal_log, heal_stats
analyze_heal_log(limit=200) # over the live self-heal log
heal_stats(events) # over a supplied event list
Aggregates self-heal events into {total, healed, heal_rate, by_method,
fallbacks, fallback_rate, avg_duration_ms, top_brittle} — surfacing
locators that increasingly need the VLM fallback (decaying selectors) before
they fail. Exposed as AC_heal_stats / ac_heal_stats.
Secret scan
from je_auto_control import scan_secrets
scan_secrets(action_json) # [{path, kind, preview}, ...]
Walks a JSON-like structure and flags string values that look like secrets —
by key name (password / token / api_key …), by value pattern
(AWS / GitHub tokens, private-key blocks), or by high Shannon entropy — that
should reference the vault (${secrets.NAME}). Values already referencing
the vault are ignored; previews are masked. Exposed as AC_scan_secrets /
ac_scan_secrets.