Governance · Assurance · AI

The Institutional Linter: Static Analysis for Your Organisation

📖 This article has an expanded ebook edition — read the full ebook.

You pass every audit. You may still be structurally broken. Audit checks whether you followed the procedure — it was never able to afford the four deeper questions. Now it can.

By Scott Farrell, LeverageAI  ·  A field guide for chief risk, assurance and internal-audit leaders

The short version

Somewhere in your organisation there is a control nobody dares remove. A double sign-off on a class of decision. A monthly report that lands on a desk and is filed. A safety check that has run, unchanged, for a decade. Every one of them was put there by someone, for a reason. The reason is written down — in a board minute, a post-incident email, a policy revision, a line of system config. And for most of your organisation's history, reading all of that back was simply unaffordable.1

So it stayed. And the quiet consequence is this: your organisation can pass every audit it faces and still harbour ceremonial controls, orphaned obligations and risks that nobody is watching. Not because anyone was negligent. Because the checking that would surface those defects was, until very recently, too expensive for any human institution to perform.

Software organisations already solved a version of this. They point AI at their source code and scour it for issues, vulnerabilities and unsafe assumptions — advanced static analysis, running continuously, finding the defects a passing test suite sails right past.2 The proposition here is blunt: do that to the organisation itself.

Use AI to inspect the organisation itself as though it were a legacy codebase.

Why the audit doesn't catch it

The trap is a comfortable assumption large organisations make almost unconsciously: the thing we do now is correct. We approved it. The workflow is correct, the reports are correct, the procedures are being followed. Audit confirms that last clause beautifully — and stops there.

That is not a criticism of audit; it is a description of its economics. Traditional audit, process mining and conformance checking all answer one question: did the activity follow the documented process? Process mining's own founders call it exactly that — "do we do what was agreed upon?" But look at what an event log actually records: an activity, a case, a timestamp. Sequence, never justification.4 It can prove step B followed step A a hundred thousand times. It is structurally incapable of telling you whether step A should still exist.

That single question — did we follow the procedure? — is the top rung of a five-rung ladder. The other four rungs hold the defects that actually hurt, and they were never economical to inspect. This piece is about making them inspectable.

The organisation is a codebase

The analogy is more precise than it first sounds. Map it out and every part of the software estate has an organisational twin.

Software estateOrganisational estate
RequirementsLaws, regulation, governance, risk appetite
Source codePolicies, procedures, workflows, system rules
Runtime behaviourWhat staff and contractors actually do
LogsEmails, reports, exceptions, incidents, meeting records
Unit testsIndividual controls and checks
Integration testsCross-functional assurance and handoffs
Static analysisPolicy, control and workflow consistency checking
Vulnerability scanningSearching for bypasses, gaps and unsafe assumptions
Regression testingReplaying current governance against historical and current operations
Dependency analysisWhich process, report, decision or control relies on which assumption
Code smellsGovernance cosplay, duplicated approvals, ritual reporting, circular assurance
Dead codeProcesses justified by constraints that no longer exist

To lint code you first compile it. The organisational compiler already exists in our published work: BI for Soft Data converts the unstructured exhaust — emails, reports, minutes, system rules — into an intermediate representation of claims, relationships, dependencies, authorities, exceptions, supersession and provenance.1 It even recovers something software can't: organisations run two systems at once — the as-designed in the policy manual and the as-operated in what people actually do — and the compile holds every disagreement between them as a contested edge with receipts attached.

Once that compiled representation exists, the organisation becomes lintable.

The five-level assurance ladder

Here is the spine of the whole discipline. Each rung asks a harder question than the one above it, and each was, until now, harder to afford.

  1. ConformanceDid the organisation follow the documented procedure? This is traditional audit, process mining, compliance checking. Necessary, mature, and only the beginning.
  2. ImplementationDoes the procedure actually implement the current obligation? Governance may have changed three years ago while the operating procedure, reporting template and system config stood still. Every local team can follow its procedure perfectly while the organisation is systemically wrong.
  3. EffectivenessEven when followed, does the control still reduce the risk it was designed for — or does it merely record that an activity occurred? A report completed, reviewed, signed and archived every month can be perfect procedural compliance with an ineffective control.
  4. Assurance integrityAre the watchers genuinely independent, or all reading the same representation of reality? Three departments confirming a control is effective — from one source report, produced by the control owner — is not three lines of defence.
  5. Negative-space assuranceWhat should be tested but is absent from the assurance model entirely? The hardest rung: not "did the control operate?" but "which failure could occur without producing any alert at all?"

Move down that ladder with worked findings and the abstraction turns concrete. Take a transmission network operator — a regulated, safety-critical, long-lived organisation, the kind that accretes governance sediment for decades. The linter doesn't hand it another dashboard. It hands it findings like these.

Finding — Dead control (Level 2)

A control introduced after a historical incident remains mandatory even though the original failure mode has been engineered out — while a newer failure mode receives no equivalent control.

Provenance chain: post-incident board minute (control origin) → superseding equipment change (failure mode eliminated) → risk register (new mode present, no linked control). Chesterton's fence, resolved by lookup: read why the fence was built, then check whether the bull is still alive.5

That is dead-code elimination for organisations.8 The point is not to tear the fence down blindly, nor to preserve it superstitiously, but to attach the receipt and let the process owner decide.

Finding — Ceremonial control / governance cosplay (Level 3)

A monthly report demonstrates that checks were completed but cannot demonstrate that the relevant safety margin was preserved. It measures whether the activity occurred, not whether the underlying condition holds.

Provenance chain: obligation (safety margin required) → procedure (report produced) → evidence (completion recorded) → gap (no field of the report tests the margin itself).

This is where the linter operationalises a diagnosis we have written about before as Compliance Cosplay: the gap between what is documented and what is actually enforced.6 The contribution here is mechanical — cosplay detection stops being a question a clever auditor happens to ask and becomes a lint pass you can run over the whole estate, on a schedule.

Who watches the watchers is a graph query

Level 4 deserves its own section, because it is the one that quietly defeats the entire "three lines of defence" model organisations trust.7 The comforting picture is three independent layers of assurance. The uncomfortable reality is often three reports that all trace, through different departments, back to a single source produced by the very team being assured.

That is not three lines of defence. It is one assumption reflected through three mirrors.

Once the soft estate is compiled, independence stops being a claim on an org chart and becomes a property you can query. For every important control, map the risk being controlled, the originating obligation, the current policy, the operating procedure, the control owner, the evidence producer, the reviewer, the approving authority, the source systems, the exceptions, and whether the control can actually block execution. Then ask the graph directly:

Does the reviewer depend on evidence generated by the control owner? Do the first, second and third lines all rely on the same underlying data? Can the control prevent an action, or does it merely document that the action happened? Is any assurance function testing the completeness of the assurance model itself?

Finding — Correlated checkers (Level 4)

Several assurance reports ultimately derive from the same contractor-supplied data source, creating correlated assurance failure: when that source is wrong, all three "independent" checks are wrong together, and nothing in the model notices.

Provenance chain: three reviewer reports → shared upstream feed → single contractor system. The fix isn't a fourth reviewer; it's an adversarial check against a mechanically different evidence source.10

The risk nobody wrote a check for

Level 5 is the hardest because a normal audit cannot get there by design. Audit begins with the established controls and asks whether they operated. Negative-space assurance begins one step earlier — with the risk, the intent and the operating environment — and asks which disqualifying conditions have no check, which safety margin exists in policy but nowhere in reporting, which assumptions have never been revalidated.

That is the organisational equivalent of finding a security vulnerability nobody had written a test for.

The way to make negative space measurable is to borrow test coverage from software and rename it Governance Coverage: have all mandatory risks, disqualifiers, failure modes and safety margins been checked somewhere — and is each check actually capable of detecting or preventing failure? Coverage is measured per risk-register entry, which is exactly why a first pass need not boil the ocean: you can score one policy domain and see its holes.

The Institutional Linter

Assemble those five levels into a standing system and you get the flagship:

The Institutional Linter — a continuous organisational assurance system that compiles policies, procedures, decisions, reports, operational evidence and historical exhaust into a dependency graph, then searches for contradictions, dead constraints, unenforced governance, ineffective controls, correlated assurance and missing checks.

Its operating loop is deliberately borrowed from software engineering, because the vocabulary carries the discipline with it:

  1. Compile the soft-data estate into an organisational model.
  2. Lint for contradictions, supersession, orphaned obligations, dead constraints and missing implementation.11
  3. Regression-test current policies against existing workflows and historical cases — replay a governance change across everything it should have touched.9
  4. Adversarially verify controls using mechanically different evidence sources.
  5. Diff the organisation over time: what changed, what didn't change but should have, and what silently became inconsistent.
  6. Produce proof-carrying findings, not confident verdicts.
  7. Refactor at human pace, with engineering, safety, risk and operational owners deciding what changes.

Step six is the trust contract, and it is non-negotiable. The linter never issues a ruling. Every finding ships with its provenance chain so a human can check the reasoning and disagree. The oracle asks for faith; the navigator offers receipts.1 This is what makes the system safe to run against something as consequential as a safety case: it directs expert attention, it does not replace expert judgement. Running quietly in the background, never answering today's management question but continually searching for the one nobody asked, it is the Institutional Third Lane — made affordable, for the first time, by cheap idle cognition.12

The honesty clause

One guardrail matters more than any finding. Organisations are not software, and the tempting final move — "the AI read everything, so let's regenerate the org" — does not transfer. You can delete and regenerate a codebase because code has no morale, tenure or trust. An organisation has all three. A big-bang restructure justified by "the AI read everything" would be the same catastrophe restructures have always been, with better paperwork.

Read at AI prices. Refactor at human pace. Never big-bang.

What this is not

The linter reads the codified organisation. Three adjacent problems are deliberately out of scope, each its own discipline:

Not behavioural telemetry. Reading the organisation's chatter — attention, tone, the weak signals of strain — is a different sensor entirely. The linter reads the codified org, not its chatter.

Not the disclosure plane. Once findings exist, routing, disclosing and attesting them without moving the formal traffic light is a separate architecture — the one we published as Elastic Assurance.13 The linter finds; Elastic Assurance routes.

Not capacity accounting. The hidden workload this surfaces, and how much human reserve an organisation has to absorb it, is its own question — a companion piece in this series.

Commission one lint pass

You don't need a transformation programme. Pick a single policy domain, compile its estate, and run the five levels over it once. Name the ceremonial controls, the orphaned obligations, the correlated checkers and the negative space — each with its provenance chain.

It gives the organisation a form of continuous self-examination that no human institution has previously been able to afford. If you'd like to scope a first pass, start a conversation: scott@leverageai.com.au.

References

  1. Scott Farrell, LeverageAI. "Your Organization Has Source Code (And You Can Finally Read It)" (BI for Soft Data). — the compile step: as-designed vs as-operated, the deviation report, the dead-constraint query, and "Read at AI prices. Refactor at human pace." leverageai.com.au/wp-content/media/articles/86-your-organization-has-source-code.html
  2. "Static program analysis." — analysing a program without executing it to find defects and inconsistencies; the software discipline transferred onto governance. en.wikipedia.org/wiki/Static_program_analysis
  3. "Lint (software)." — the original static-analysis tool (Stephen C. Johnson, Bell Labs, 1978); flags suspicious constructs a compiler passes. en.wikipedia.org/wiki/Lint_(software)
  4. Wil van der Aalst / IEEE Task Force on Process Mining. "Process Mining Manifesto." — conformance checking asks "do we do what was agreed upon?"; event logs record activity, case, resource, timestamp — sequence, never justification. tf-pm.org/upload/1580737614108.pdf
  5. G.K. Chesterton. "The Drift from Domesticity," in The Thing (1929). — "until we know what the reason was, we really cannot judge whether the reason was reasonable"; the century-old spec for the dead-constraint query. catholiclibrary.org
  6. Scott Farrell, LeverageAI. "Compliance Cosplay: Why AI Governance Without Runtime Authority Is Theatre." — the Preventive/Detective/Documentary taxonomy and the gap between what is documented and what is enforced. leverageai.com.au/wp-content/media/articles/55-compliance-cosplay.html
  7. The Institute of Internal Auditors. "The IIA's Three Lines Model — An Update of the Three Lines of Defense" (2020). — the canonical assurance model the Correlated Checkers Pitfall stress-tests. theiia.org
  8. "Dead code elimination." — removing code whose result is never used or whose enabling condition can never occur; the software name for processes justified by constraints that no longer exist. en.wikipedia.org/wiki/Dead_code_elimination
  9. Scott Farrell, LeverageAI. "Nightly AI Decision Builds." — CI/CD hygiene for decision systems: builds, regression tests, and "diffing is the killer feature." leverageai.com.au/wp-content/media/articles/45-nightly-ai-decision-builds.html
  10. Scott Farrell, LeverageAI. "Stop Asking AI Why It Decided — Build Decisions That Carry Their Own Proof." — mechanically different verifiers and letting the pipeline determine what must be checked. leverageai.com.au/wp-content/media/articles/56-stop-asking-ai-why.html
  11. Scott Farrell, LeverageAI. "The Index Is the Data." — the lint pass, contradiction-as-edge and supersession checking; self-maintaining is not the same as unsupervised. leverageai.com.au/wp-content/media/articles/63-the-index-is-the-data.html
  12. Scott Farrell, LeverageAI. "The Third Lane." — an economically feasible background cognition that searches for the question nobody asked. leverageai.com.au/wp-content/media/articles/102-third-lane.html
  13. Scott Farrell, LeverageAI. "Elastic Assurance." — reading the estate broadly and disclosing narrowly via Soft Attestation Packages; the routing plane the linter hands findings to. leverageai.com.au/wp-content/media/articles/136-elastic-assurance.html