RES-01

RES-01 · EAE Barcelona · 2026

Already decided, left open, out of reach: decoding regulation with AI

Before a company reports anything under CSRD it has to decide what it will report on. That decision runs on 99 provisions spread across eleven standards, most of them undefined. We used AI to read every one, sorted each by what kind of decision it holds, and built a working platform to test which kinds a machine can actually reach.

99 provisions, by kind
26 already decided
17 left open
56 out of reach
Authors
David Wells, Adrien Loridon, Jordan Sheldahl · Prof. Luca Magagni
Institution
EAE Business School, Barcelona · MSc Project Management
Presenting
IV Annual Congress, Barcelona, 14 to 16 October 2026
Method
AI-assisted classification of 99 CSRD/ESRS provisions, checked by two authors, tested by building a working platform against it
Built
124 commits over 83 days. One of us, not a software engineer, AI-assisted
Status
Full paper drafted. Presenting in Barcelona in October 2026.

Read this first. One case study, one artefact, no outside adopters. A model proposed the classification of all 99 provisions and two of the four authors checked it. Nobody outside that group has validated it yet. The paper's own limits section says what would fix that, and the PDF linked below has the full argument. This page has the shape of it.

The problem

CSRD makes every large company in Europe publish an audited account of what it does to people and the environment, and what sustainability issues do to its finances. Before any of that gets written, the company runs a double materiality assessment, which decides what goes in the report and what never appears at all. Get that step wrong and every downstream number answers the wrong question.

The standards governing it run to 99 obligations. They state a rule and decline to set the number: a company must apply a "materiality threshold" and is never told what the threshold should be. The job usually lands on whoever is free, with no background in the standard and no benchmark to check the result against. ESMA reviewed 91 issuers after the first reporting cycle. Only 61.7% met the objective for this step, some disclosures were boilerplate, and two issuers got a qualified opinion, one of them specifically for the materiality assessment. No AI was involved in any of it.

Vendors are already selling AI as the fix. We wanted to know which parts of the regulation it can actually reach.

Three kinds of provision

Every provision is a decision in one of three states. Already decided: the rule is fully stated and a machine executes it exactly, no judgement involved. Left open: the rule is stated and the number is not, so a person has to supply a value and the standard requires them to say why. Out of reach: the obligation needs judgement about the company's own circumstances that no model can supply, such as engaging a workforce or a supplier.

A model read all 99 provisions and proposed a category and a reason for each. An author checked every proposal against the text, and a second author independently reviewed all 99 rows and agreed the result. The model did the reading. The authors made the calls.

Source Already decided Left open Out of reach Total
ESRS 1 18 4 15 37
ESRS 2 8 1 22 31
Nine topical standards 0 12 19 31
Total 26 17 56 99

The left open group is the smallest and decides the most. Seventeen provisions, and two of them are the materiality determinations themselves. The topical standards contribute no already decided provisions at all, because every mechanical rule in them runs after the scope is already set.

What we built

Vera, the CSRD platform elsewhere on this site, is the artefact in the paper. It takes a company through the assessment as a nine step sequence and produces a workpaper an assurance provider can read. One of us, not a software engineer, built it in 124 commits over 83 days with AI assisted tooling, encoding the 26 already decided provisions as executable rules in most of 19 working days.

At runtime nothing calls a model. The scoring engine has no way to reach the internet, so it cannot call one even by accident. What it does instead is refuse. It will not let a topical standard be skipped, will not score a record without all six scores, and will not close an approval without a named submitter and approver. A complete assessment of 20 records across all ten topical standards ran end to end against the frozen build, with 506 unit tests and 13 integration tests passing. That is what it means to say the already decided group is genuinely decided.

What we found

A machine can enforce that a decision was made. It cannot enforce that the decision was any good. We found the gap between those two in our own build, in five places.

Every record carries a required field for where in the supply chain an impact sits, and another for the reason behind a materiality threshold. Both accept an empty string. Nothing in the code checks whether they hold anything, so a record with nothing in that field gets scored and exported to a client workpaper where it prints as "Not captured". No code path even lets anyone set a threshold yet, so every assessment ships with a default reason that says, in effect, somebody should write the reason. A non-empty check would have been trivial. What the standard actually needs is a named approver attached to the value, which is a process control, not a validation rule.

The threshold conclusion on screen next to the same threshold as it renders in the exported workpaper, with the tool's default rationale text visible in the deliverable.
The threshold on screen, and the same threshold in the client deliverable. The rationale column still carries the tool's default text.

Autonomy makes the same failure worse by removing the author. In one development session an agent applied twelve database migrations with nobody watching. One caused infinite recursion in the read policies, and the service was down for two hours. Nobody had signed off on any of the twelve. That is the exact failure mode the classification predicts for the left open group, found by a team that was trying to be careful.

What it means

73 of the 99 provisions cannot be resolved by a machine at all, and no future model shrinks that number, because it belongs to how the regulation is written rather than to the state of the technology. The useful question about any compliance tool in this market is not whether it helps. It is which of the three states it operates on, and who signs for the rest.

The method is not specific to sustainability reporting. Tax rules set thresholds and leave "reasonable" undefined. Procurement sets a procedure and leaves "proportionate" open. Any regulation containing "shall" and an undefined term has the same three way split waiting to be mapped, and mapping it is cheap: reading the regulation is what AI did best here, and it needs no platform at all.