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.
reasonsmith audit engine · research preview
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
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.
§2 — The deletion
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.
§3 — The duties
01
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
automated decisions · clinical
Meaningful information about the logic involved, owed to the data subject, in a triage setting.
03
transparency · deployers
Deployer information duties for high-risk systems: instructions, capabilities, limitations.
04
record-keeping · logs
Automatic event logs over the system's lifetime, retained for the regulatory lookback window.
05
SaMD · good machine learning practice
Design history, verification logs and change control for software as a medical device.
06
continuous monitoring
Monitoring logs, thresholds, reviews and incident tickets as ongoing evidence, not one-off attestations.
§4 — The evidence
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.
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.
§5 — The limits
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
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.
Source, packs and authoring guide github.com/eduardstan/reasonsmith →