How Reverter works
Three surfaces. One @ariada/core-engine. Every fix request
answers four questions: deterministic? cached? adaptive context? validated?
Where Reverter sits
The Ariada family covers eight scanner layers (L0 axe-core
baseline through L7 governance). Reverter owns
Layer 4 — Remediation. The Ariadne purple
thread between layers is the shared @ariada/core engine.
- L7 Governance & dashboards ariada.ai
- L6 Visualisation & comms draculascan / Patent K
- L5 CI gate clamper.ai / Patent B
- L4 Remediation reverter.ai / Patent A
- L3 Attribution blamer.ai / Patent G + H
- L2 Cross-domain mapping shared in core
- L1 Single-pass DOM iteration ariada engine / Patent J
- L0 axe-core baseline shared in core
The pipeline (Patent A IC1)
DETECT -> CLASSIFY -> FETCH/GENERATE -> VALIDATE -> DIFF
Finding (from axe-core via @ariada/core scan)
-> Tier 1 deterministic rule engine (zero LLM cost)
-> Tier 2 signature cache lookup (~$0.0001 / Redis)
-> Cache miss: adaptive context -> LLM (Claude / GPT-4 class)
-> PII layer: detect, swap placeholders, restore (Patent A IC8)
-> Validate: parser must accept patched text
-> Unified diff or in-IDE applyEdits
-> Source code changes (NOT runtime overlay) (Patent A IC4)
Tiered remediation (Patent A IC1)
| Tier | What it does | Cost per fix | Coverage target |
| Tier 1 — deterministic | lang="en", decorative alt="", for/id, aria-required-attr, duplicate-id, meta-viewport | $0 (pure code) | 35–50% of axe findings |
| Tier 2 cache hit | Signature key matches a prior remediation; reuse the diff template | ~$0.0001 (Redis lookup) | 80–90% of Tier 2 calls after warm-up |
| Tier 2 cache miss | Adaptive context window → LLM → candidate fix → validate | $0.005–$0.05 per fix | residual ~5–10% of all violations |
| Tier 2 needs-review | LLM produces a TODO marker plus diff; human reviews semantic content (alt text, link text, headings) | same as cache miss | 10–15% of all violations |
Patent A IC1 reads on the cascade itself: "classifying identified
accessibility violations by complexity into processing tiers, wherein
deterministic violations are remediated by a rule-based engine
without invoking a generative language model." Cost figures are
per-fix order-of-magnitude estimates from the Patent A spec.
MVP codemod library
Top-10 axe rules by real-world frequency. Phase 2 expands to
30 rules; Phase 3 to the full axe rule set.
| # | axe rule | Tier | Risk | Patent A IC binding |
| 1 | color-contrast | Tier 2 | needs-review | IC1, IC2, IC3 |
| 2 | image-alt | Tier 2 | needs-review | IC1, IC2, IC3 |
| 3 | label | Tier 1 | safe | IC1, IC4 |
| 4 | html-has-lang | Tier 1 | safe | IC1, IC4 |
| 5 | link-name | Tier 2 | needs-review | IC1, IC2, IC3 |
| 6 | button-name | Tier 2 | needs-review | IC1, IC2, IC3 |
| 7 | heading-order | Tier 2 | needs-review | IC1, IC2, IC3 |
| 8 | duplicate-id | Tier 1 | safe | IC1, IC4 |
| 9 | aria-required-attr | Tier 1 | safe | IC1, IC4 |
| 10 | meta-viewport | Tier 1 | safe | IC1, IC4 |
Three delivery surfaces
1. VS Code Extension
Microsoft Marketplace install. Squiggly underlines on violation
locations; severity mapping
critical/serious → Error,
moderate → Warning,
minor → Info. Lightbulb code-action proposes a unified diff
the developer accepts or rejects.
- Activation: TS/JS/JSX/TSX/HTML/CSS/SCSS/Vue/Svelte/Astro
- Triggers: command palette / optional
onSave opt-in via .ariada.yml - Local mode by default; cloud LLM is workspace-opt-in
- Bundle target < 5 MB VSIX (chromium lazy-installed, not bundled)
- Telemetry: zero by default; opt-in PostHog records crash + activation only (never code or scan data)
- Patent A binding: IC1, IC2, IC3, IC4
2. MCP Server (@ariada/mcp)
npx @ariada/mcp — STDIO transport (default) or
--transport sse --port 8765. Two-line config in
Claude Desktop, Cursor, Claude Code, or any other MCP-aware
agent.
{
"mcpServers": {
"ariada": {
"command": "npx",
"args": ["-y", "@ariada/mcp"]
}
}
}
Tool surface (P0):
scan_url — run @ariada/core scan against a URL scan_local — serve and scan a local static-files directory get_fix_suggestion — propose without applying apply_fix — apply codemod to source file (supports dry_run) explain_rule — WCAG criterion + plain-language explanation list_supported_codemods — enumerate codemod IDs with risk levels
All tool inputs validated via zod; logs to stderr only
(STDIO transport reserves stdout for JSON-RPC); rate-limited via
in-process LRU. Patent A IC6 binds the entire endpoint
set.
3. CLI (ariada fix)
Local + CI/CD invocation; SARIF input/output for pipeline
integration.
npx @ariada/cli fix ./src
npx @ariada/cli fix --input nightly.sarif --severity moderate-up
npx @ariada/cli fix --dry-run
- Output formats: unified diff (default), JSON, applied-files summary
- Exit codes: 0 = all fixes applied cleanly, 1 = some rejected, 2 = scan error
- GitHub Action wrapper
ariada/fix-action@v1 (planned) - PII layer (IC8) always on for cloud LLM; bypassed for self-host LLM
- Patent A binding: IC4 + IC8
Installation
Reverter is in early access. Public packages will publish to npm
and the Microsoft Marketplace once the early-access programme
closes. Contact us for the early-access
list.
PII-safe preprocessing (Patent A IC8)
Input DOM
v
Microsoft Presidio + spaCy NER scan
v
For each PII span: replace with type-preserving placeholder
(Erik Andersson -> [NAME_1], [email protected] -> [EMAIL_1], ...)
v
Sanitised DOM -> adaptive context window -> LLM
v
LLM returns remediation referencing placeholders (or none)
v
Restore: every [NAME_N] / [EMAIL_N] / [ADDRESS_N] swapped back
v
Audit log: { prompt_redacted, restored_count, leakage_check: pass | fail }
Round-trip non-PII byte-diff is zero by construction; PII never
enters the LLM prompt (verified via prompt audit-log assertion).
Patent A IC8 covers the round-trip; the leakage bound is
expressible as a function of the PII detector's false-negative
rate (Patent A spec, §IC8 disclosure).
Validation evidence
Patent A's methodology is grounded in a four-phase pre-filing
whitespace audit: Phase 1A/1C confirmed Patent A's four
independent claims (IC1 tiered, IC2 multi-tool with confidence,
IC3 version-aware, IC4 PDF document remediation) return
0 results across approximately 11.4 M
arXiv + DBLP papers for the four-element conjunction;
Phase 2B CPC density analysis confirmed 100% accessibility
whitespace in the G06F40/00 NLP zone across 295 utility patents;
Phase 4B independent NPL re-sweep confirmed
Fernández-Navarro & Chicano (Universidad de Málaga,
arXiv:2602.17887, Feb 2026) is the closest single-paper
prior art worldwide and lacks every distinguishing feature of
Patent A's pipeline (no tiered processing, no signature
cache, no adaptive context, no PII layer, no MCP).
End-to-end Reverter accuracy on production customer code is
pending Patent A PoC v1.0 — the
industrial-scale validation runs against AccessGuru 3,500-pair
corpus, the WebAIM Million 5K subset, and ACT Rules. We do not
claim "validated on N customer sites".
See pricing →