reasonsmith audit engine

reasonsmith audit engine · research preview

Prove which legally‑owed reasons a system deleted. And from whom.

Abstract

reasonsmith runs conformance checks against formal regulation packs and issues reason-deletion certificates: evidence records showing that an explanation engine dropped reasons the law says a person is owed. Every claim carries a strength on an explicit lattice — observed → probed → proved — and nothing claims a strength it did not earn.

§1 — The case

One credit decision.
Five reasons on file.

Application APP-1042, adverse action. Under ECOA / Reg B (12 CFR 1002.9) the applicant is owed the specific principal reasons. The scoring system computed five: income, credit history length, delinquent obligations, recent inquiries, references. The graph behind you is the proof structure of that decision.

Decision
APP-1042
Duty
Adverse action reasons
Source
ECOA / Reg B · 12 CFR 1002.9
Model
credit-scoring-2026.03.1

§2 — The deletion

The engine kept one.
It deleted four.

The explanation engine answers adverse_action(APP-1042) with a top‑1 proof. The applicant sees one reason. The certificate shows what the full proof contained — and what was dropped on the way out.

  • used C01 — Income insufficient for amount of credit requested 0.7656
  • deleted C02 — Length of time credit has been established is too short 0.6972
  • deleted C03 — Delinquent past or present credit obligations 0.6320
  • deleted C04 — Too many recent inquiries on credit bureau report 0.6004
  • deleted C05 — Insufficient number of credit references provided 0.5112

Exact 0.9914 Engine 0.7656 Gap −0.2258

§3 — The duties

Six regulations, one engine.

01

ECOA / Reg B

12 CFR 1002.9 · credit

Adverse action reasons. A dropped reason is a reason legally owed and withheld — the sharpest test of certificate value.

02

GDPR Art. 22

automated decisions · clinical

Meaningful information about the logic involved, owed to the data subject, in a triage setting.

03

EU AI Act Art. 13

transparency · deployers

Deployer information duties for high-risk systems: instructions, capabilities, limitations.

04

EU AI Act Art. 12

record-keeping · logs

Automatic event logs over the system's lifetime, retained for the regulatory lookback window.

05

FDA GMLP

SaMD · good machine learning practice

Design history, verification logs and change control for software as a medical device.

06

NIST AI RMF 1.0

continuous monitoring

Monitoring logs, thresholds, reviews and incident tickets as ongoing evidence, not one-off attestations.

§4 — The evidence

Nothing claims a strength
it did not earn.

Every requirement verdict carries its position on the evidence lattice. unattainable means the system as built cannot emit the signals at all; observed means the trace carries them; probed is a real engine — bounded falsification against the system’s own decide() — and proved is a solver result, with GDPR Article 22 machine-checked over every input the constraints admit, and a verified counterexample when it fails, as its first requirement against real statute. Zero verdicts combine to inconclusive, never to satisfied.

unattainable observed probed proved

A probed verdict cannot be rendered without its search budget — that is enforced at construction, not by convention. This is a real one:

[PROBED] income >= 30000 implies approved == True: satisfied
probe budget: 200 input(s) replayed, seed 0,
input space: age (14 values), approved (2 values),
income (11 values), reason (3 values).
Strategy: seeded random perturbation of one recorded
decision, one or two fields replaced from that field’s
candidate pool.

What each verdict claims and what it does not, one engine at a time, with the test that fails if a soundness claim becomes false: docs/semantics.md.

Read the full conformance dossier report.html →

§5 — The limits

What this doesn’t catch.

We pointed reasonsmith at five real neuro-symbolic systems — nesyarena’s provenance semantics, 16 ground programs — and it cleared two systems whose decisions are wrong. top-1-proofs denies eight applicants that the semantics it claims would approve, and every duty the packs could check came back satisfied, identical to the exact oracle.

It is right to, and that is the point: every record duty asks whether a field is present, never whether the number it explains is the number the system claims to compute. Read a satisfied verdict as the record has the fields — not the system computes what it says it computes.

Full account, unflattering half first: docs/findings-nesyarena.md.

§6 — Run it

On your own decision log.

pip install reasonsmith
reasonsmith check --system decisions.jsonl --pack gdpr --html report.html

Seven packs ship: GDPR, ECOA / Reg B, EU AI Act, GPAI (Art. 53 & 55), Cyber Resilience Act, Seoul Frontier AI Safety Commitments, and the review paper’s Table 7. Every quoted statute in them is re-verified against the live official sources (EUR-Lex Cellar, eCFR) monthly, in CI, opening an issue on any difference.

35 quoted requirements No verification run recorded

Source, packs and authoring guide github.com/eduardstan/reasonsmith →