Studio Matrx Monthly · Volume 1 · Issue 4 · September 2026
Amogh N P
 In loving memory of Amogh N P — Architect · Designer · Visionary 
The Ambiguity ProblemLesson 2.4
Automated Compliance & Rules-as-Code/Module 2 · Understanding Building Regulations

Lesson 2.4 · Understanding Building Regulations

The Ambiguity Problem

Regulation is full of words a machine cannot pin down - 'adequate', 'suitable', 'reasonable', 'appropriate' - and this is not sloppy drafting but the deliberate way law stays flexible enough to fit cases no drafter foresaw; the ambiguity that makes rules humane is exactly what makes so much of compliance resist automation, and understanding why is the heart of knowing what rules-as-code can and cannot ever do

12 min Interactive lessonFree · open lessonByAmogh N P· Architect & interior designer
The hook

'Adequate.' 'Suitable.' 'Reasonable.' A machine cannot check a single one of these words - and building regulation is full of them, on purpose.

You can encode 'the corridor shall be at least 2.0 m wide' in an afternoon. Now try to encode 'the building shall be provided with adequate ventilation', or 'access shall be suitable for use by disabled persons', or 'the works shall be carried out to a reasonable standard'. There is no number. There is no measurement. There is a word that deliberately refuses to name a threshold - and no honest encoding can turn it into a check, because the word's whole job is to require a judgement that fits the case in front of you.

This is the ambiguity problem, and it is the deepest reason so much of compliance resists automation. It is tempting to see these words as sloppy drafting, gaps a better-written code would close. Sometimes they are. But far more often the vagueness is *deliberate and valuable*: open-ended terms let a rule flex to circumstances a drafter could never foresee, tie the requirement to its real purpose rather than a brittle proxy, and leave room for an expert to exercise judgement where a fixed number would be absurd or unjust. Ambiguity, in other words, is often a feature of law, not a bug in it. This lesson looks squarely at that fact - the kinds of ambiguity, why it exists, why genuine experts disagree, and what it means for rules-as-code - because understanding it is the difference between respecting the limits of automated compliance and being fooled by the promise that the messiness can be engineered away.

'adequate' / 'suitable' / 'reasonable' = a standard to JUDGE, not a number to measure. Usually deliberate (law flexes to the unforeseen). Experts differ defensibly = the interpretation gap. Automate the determinate; defer the judgement.

The kinds

The many faces of ambiguity in a rulebook

"Ambiguity" is a loose word for several distinct things a machine struggles with, and it helps to separate them. The most visible is judgement-laden or evaluative terms: "adequate", "suitable", "reasonable", "appropriate", "satisfactory", "sufficient", "proper". These words do not name a threshold; they name a *standard to be judged*. "Adequate ventilation" asks: adequate for what, in this room, for these occupants, in this climate? The rule deliberately declines to answer with a number and hands the assessment to a competent human.

A second face is vagueness proper - terms with fuzzy boundaries even when no evaluation is intended. When exactly does a "minor" alteration become a "major" one? When is a slope "gentle"? There is a clear core and a genuinely blurry edge, and cases fall in the blur. A third face is open texture: a term may be perfectly clear for the situations anyone anticipated and simply undetermined for a new one - a rule written before a technology or a building type existed does not tell you how it applies to that novelty, not because it is badly written but because no rule can anticipate everything. A fourth is context-dependence: the same word means different things in different settings. "Suitable access" for a warehouse and for a hospital are not the same standard, and the rule relies on the reader supplying the context. A fifth is semantic and referential ambiguity: a sentence that can be parsed two ways, or a term whose definition is itself partly qualitative or circular.

What unites these is that each requires a reader to *supply meaning the text does not fully fix* - by evaluating against a purpose, resolving a boundary, extending a rule to an unforeseen case, importing context, or choosing a reading. A prescriptive number leaves nothing to supply; that is why it automates. A judgement-laden term leaves the decisive step to a human by design; that is why it does not. For automated compliance the practical consequence is direct: whenever a rule turns on one of these words, the tool reaches the edge of what it can do. At best it can flag that the clause exists and route it to a person; it cannot pronounce on it. And building regulation is thick with such words, because so much of what we want from buildings - that they be safe, healthy, accessible, decent - is easier to state as a standard to be judged than as a number to be met.

THE LADDER OF DETERMINACY Top rung: fully determinate and checkable. Bottom rung: pure judgement. "clear width >= 2.0 m" - a precise, testable number CHECK "width per the occupant-load table" - determinate after a lookup CHECK+ "sufficient" ventilation - a boundary, but a fuzzy one FUZZY "suitable" access - depends heavily on context CONTEXT "adequate" / "reasonable" - pure judgement, no number JUDGE
Zoom
A ladder of determinacy: as a rule moves from a precise number, through a value fixed by a lookup, to fuzzy and context-dependent terms, down to pure judgement words like 'adequate', the meaning gets less fixed and checkability disappears.
Why it exists

Why the vagueness is there on purpose

The instinct of someone who wants to automate compliance is to treat every vague word as a defect - if only the code said "2.0 m" instead of "adequate", we could check it. But pause on why a skilled drafter chose the open word, because the reasons are good, and missing them leads to worse regulation, not better tools.

First, the future is unforeseeable. A rule must govern buildings, materials, uses and situations that did not exist when it was written. A fixed number bakes in the drafter's assumptions and breaks on the case they never imagined; an open term like "adequate" flexes to fit the novel case by referring to its purpose. Second, the purpose is what matters, not the proxy. "Adequate means of escape" ties the rule directly to the real goal - people getting out safely - whereas any specific number is only a proxy that is right for typical cases and wrong for some. When the proxy and the purpose diverge, the open term follows the purpose. Third, a fixed rule can produce absurd or unjust results. Rigid numbers applied literally to an odd case can demand something pointless or forbid something plainly fine; a judgement standard lets a competent human avoid the absurdity. Fourth, it delegates to expertise on purpose. "Suitable", "reasonable" and "adequate" are the law's way of saying: a qualified professional, and ultimately the authority, should judge this against the circumstances, because a central drafter cannot foresee them all. Fifth, over-specification is gameable and brittle - a rule reduced to a precise number invites designs that meet the letter and defeat the spirit, and shatters the moment reality steps outside its assumptions.

This is why legal systems everywhere are full of open-textured standards, and why the discipline of interpretation exists at all. Ambiguity is frequently the mechanism by which law stays humane, adaptable and tied to purpose. That does not mean all vagueness is virtuous - some really is careless drafting that clearer wording would improve, and reformers rightly push to sharpen rules that could be sharper without loss. But the crucial recognition for automated compliance is that a large, deliberate core of vagueness *cannot be engineered away without making the regulation worse* - more rigid, more gameable, blind to the unforeseen. The messiness is not always a bug to be fixed on the road to full automation; often it is the point. And a rule that has been forced into a fake precision just to please a checker is a rule that has quietly changed what the law requires - which is not a small thing to do by writing code.

AMBIGUITY IS OFTEN A FEATURE Why drafters leave it open - fits cases no one foresaw - flexes with new tech + context - ties rule to real purpose - lets an expert use judgement - avoids absurd literal results The cost it carries - meaning is contested - outcomes less predictable - cannot be reduced to code - needs a human to interpret - room for dispute (and abuse) A rule made fully determinate to please a machine can become a worse rule - rigid, gameable, blind to the unforeseen. So the interpretation gap is not a bug to fix - it is where human judgement legitimately lives.
Zoom
Ambiguity as a deliberate feature: open-ended terms let law fit the unforeseen, follow purpose over proxy and delegate to expertise - at the cost of contested meaning that cannot be reduced to code - so the interpretation gap is where human judgement legitimately lives, not a bug to fix.
Genuine disagreement

When experts genuinely disagree - and no algorithm settles it

The sharpest evidence that ambiguity is real, and not merely a gap awaiting a better definition, is that competent, honest, qualified people read the same clause and reach different, defensible conclusions - and there is often no fact of the matter that settles which is right. Two experienced plans-examiners can look at the same design against "suitable access for disabled persons" and disagree: one holds that a code-compliant ramp and door width satisfy it, the other that "suitable" means usable in practice - real wayfinding, real turning space for this building's actual users - and is not yet met. Both readings are competent. Both are defensible. The disagreement is not ignorance; it is genuine interpretive divergence about what an open term requires in a particular case.

This matters enormously for rules-as-code, because it dismantles a seductive assumption: that if we just wrote the encoding carefully enough, we would capture "the" correct meaning of the rule. For a genuinely ambiguous term there may be no single correct meaning to capture - only a range of reasonable interpretations among which a human authority chooses, exercising discretion, often guided by purpose, precedent and context. An encoding cannot make that choice legitimately; if it hard-codes one interpretation, it silently substitutes the programmer's reading for the authority's, and presents a contested judgement as if it were a settled computation. That is not automating the rule; it is quietly rewriting it, and hiding the rewrite behind a green tick.

This is what this course calls the interpretation gap, and it is the heart of why compliance resists automation. It is not that machines are too slow or too dumb, or that the software is immature. It is that a large part of applying regulation *is* interpretation - deciding what an open term means here, which of several rules applies, how conflicting requirements reconcile, whether an unforeseen case falls inside or outside a rule - and interpretation, where reasonable experts genuinely differ, is a human and institutional act, not a calculation. The legal system has a whole apparatus for it: qualified professionals who form a view, authorities who decide, and above them the machinery of appeal and, ultimately, the courts. A checking engine sits outside all of that. It can help by handling the determinate parts and by surfacing the ambiguous clauses for a human to judge - a genuinely useful division of labour. What it cannot do is close the interpretation gap, and any tool or vendor that claims to has either narrowed "compliance" to only its checkable slice or is misrepresenting what it does.

GENUINE INTERPRETIVE DISAGREEMENT "Access shall be suitable for use by disabled persons." Expert A reads: a compliant ramp and door width meet it - the recipe is enough verdict: PASS Expert B reads: "suitable" means usable in practice - wayfinding, this crowd verdict: NOT YET Both are competent and defensible. There is no algorithm that settles which is right - the authority decides.
Zoom
Genuine interpretive disagreement: two competent experts read the same open clause and reach different, defensible verdicts, with no algorithm to settle which is right - the binding interpretation is the approving authority's, applying the actual code.
What it means

Living with ambiguity - what it means for rules-as-code

So what should a compliance-literate designer *do* about the ambiguity problem? Not despair of automated compliance - and not pretend the vagueness away. The competent response is a division of labour that respects the boundary.

First, automate the determinate and route the rest. The right role for a checker facing a rulebook full of mixed content is to run the clear, quantitative, prescriptive rules confidently, and - crucially - to *flag* the judgement-laden clauses rather than fake a verdict on them. A tool that says "corridor widths: checked; 'adequate ventilation': requires human assessment - here is the clause" is being honest and genuinely helpful; a tool that silently scores "adequate ventilation" as pass or fail is misleading. Surfacing the ambiguous clauses to the right human at the right time is itself real value; pretending to resolve them is the failure mode. Second, read a green tick for what it covers. A pass means the encoded, checkable rules found no flaggable issue in the data given - it says nothing about the judgement-laden requirements the tool could not evaluate, which may be exactly the ones that decide whether the building is truly safe and decent. Third, keep the interpretation with the people the law gives it to. Where a term is genuinely open, the reading that binds is the qualified professional's considered judgement and, above all, the approving authority's decision - not the programmer's encoded guess. If you must adopt an interpretation to proceed, hold it as provisional and confirm it with the authority.

There is also a forward-looking point worth holding honestly. Some ambiguity can and should be reduced - careless vagueness clarified, terms defined, quantitative content separated from qualitative - and better drafting can enlarge the checkable subset over time. Emerging work in computational law even explores encoding rules and their interpretation together. But a deliberate, purposeful core of open-textured standards will and should remain, because it is how regulation stays flexible, purposive and humane. The mature stance, then, is neither the technologist's dream of dissolving all ambiguity into code nor the sceptic's dismissal of automation as hopeless. It is to see clearly that regulation is part determinate and part judgement, to automate the first part rigorously, to surface and defer the second part honestly, and to keep the interpretation gap firmly in human hands - the qualified professional of record, the approving authority, and the governing law itself (the NBC, local byelaws and IS standards), whose reading of an ambiguous rule is the only one that binds. Get that right and you have the central insight of the whole course: know exactly which rules can be run, which must be judged, and why the human stays accountable for the difference.

AMBIGUITY IS OFTEN A FEATURE Why drafters leave it open - fits cases no one foresaw - flexes with new tech + context - ties rule to real purpose - lets an expert use judgement - avoids absurd literal results The cost it carries - meaning is contested - outcomes less predictable - cannot be reduced to code - needs a human to interpret - room for dispute (and abuse) A rule made fully determinate to please a machine can become a worse rule - rigid, gameable, blind to the unforeseen. So the interpretation gap is not a bug to fix - it is where human judgement legitimately lives.
Zoom
Ambiguity as a deliberate feature: open-ended terms let law fit the unforeseen, follow purpose over proxy and delegate to expertise - at the cost of contested meaning that cannot be reduced to code - so the interpretation gap is where human judgement legitimately lives, not a bug to fix.
Verify-this: at a judgement word, the machine stops and the human decides

Judgement words are uncheckable

Where automation reaches its edge

'Adequate', 'suitable', 'reasonable', 'appropriate' name a standard to be judged, not a threshold to measure. A tool should flag such clauses for a human, never fake a pass/fail. Modules 4.3, 9.3.

Vagueness is often deliberate

Why the open terms are there

Open terms let law flex to the unforeseen, follow purpose over proxy, avoid absurd literal results and delegate to expertise. Forcing fake precision to suit a checker makes the rule worse, not clearer. Modules 8.1, 9.2.

The interpretation gap is intrinsic

Why experts genuinely differ

For a genuinely open term there may be no single correct meaning to encode - only reasonable readings a human authority chooses among. Encoding one silently rewrites the rule. Modules 9.1, 9.2.

Interpretation belongs to the authority

Whose reading binds

Where a term is open, the binding reading is the qualified professional's judgement and the approving authority's decision applying the actual code - not the programmer's encoded interpretation. Modules 8.3, 10.1.

Hands-on workshop

Workshop - hunt the judgement words and test whether experts would agree

The ambiguity problem becomes concrete the moment you look for it in real rules. In this workshop you find the judgement-laden language in a set of clauses, classify why it is open, and probe whether two competent readers would actually agree - the test of genuine ambiguity.

Just real clauses and a notebook. No software - the whole point is to feel the interpretation gap by hand. The binding interpretation of any ambiguous rule stays with the professional, the approving authority and the actual code.

Given & goal
Goal: a sharp feel for where a rulebook crosses from checkable to judgement, and why
Inputs: a handful of real building rules (include some with 'adequate', 'suitable', 'reasonable', 'sufficient') + a notebook
Time: ~45 minutes
  1. 1Collect 6-8 real clauses, deliberately including several that use evaluative words ('adequate', 'suitable', 'reasonable', 'appropriate', 'sufficient') and a few purely quantitative ones for contrast.
  2. 2Mark the ambiguity type: for each open term, classify it - judgement-laden/evaluative, vague (fuzzy boundary), open texture (undetermined for a new case), or context-dependent - and say why the drafter might have chosen it.
  3. 3Run the two-reader test: for one open clause, write two competent, defensible but different interpretations of what it requires for a specific building, showing that no number settles it.
  4. 4Draft honest tool behaviour: for a mixed clause, write how a responsible checker should report it - what it can check, what it must flag for human judgement, and the wording it should use.
  5. 5Write a reflection: on whether the vagueness you found is deliberate-and-valuable or careless-and-clarifiable, and on why the interpretation of the open terms must stay with the professional and the authority - flagged as reasoning.

You’ll walk away with
A one-page ambiguity hunt: 6-8 clauses with their judgement words identified and classified, one clause given two defensible competing readings, an example of honest tool reporting for a mixed clause, and a reflection on deliberate-versus-careless vagueness and who owns the interpretation. Framed as reasoning; keep it.

The worked example

Three altitudes on the same idea

Read the band that fits you — or all three.

For the architectUsing automated checking for early feedback and self-checking - while you and the authority stay accountable

A great deal of what a code actually demands turns on words a machine cannot check - 'adequate', 'suitable', 'reasonable' - so treat any clause that hinges on one of them as human territory, not tool territory. These terms are usually deliberate: they let the rule flex to your specific case and tie it to purpose rather than a brittle number, which is exactly why an automated checker cannot pronounce on them. The right tool behaviour is to run the determinate rules and flag the judgement-laden ones for you, not to fake a verdict; if a tool silently scores 'adequate ventilation' as pass, distrust it. Where a term is genuinely open, expect competent people - including plans-examiners - to disagree defensibly, hold your own reading as provisional, and confirm it with the approving authority, whose interpretation is the one that binds. Read every green tick as covering only the checkable slice, never the judgement that may decide whether the building is truly safe and decent. You and the authority own the interpretation; the authoritative rule is the actual code as read by the people the law empowers to read it.

For the interior designerWhere automated rule-checking helps interiors (accessibility, fire, egress) and where judgement is required

Much of what makes an interior genuinely accessible, safe and healthy lives in exactly the judgement-laden language a checker cannot evaluate - whether access is 'suitable', ventilation 'adequate', a layout 'reasonable' in use. The quantitative rules (door and corridor widths, ramp slopes, turning space) a tool can check; but 'suitable access for disabled persons' is a standard to be judged against real usability - wayfinding, the actual users, the way the space is really occupied - and two competent people can read it differently. So treat a passing check as confirmation of the measurable recipe, never as proof the accessibility or safety outcome is met, and expect the open terms to require a human. When a clause turns on a word like 'adequate' or 'suitable', that is your cue to coordinate with the qualified professionals and confirm the reading with the authority rather than lean on a tool. Binding fire, egress and accessibility interpretation stays with the professionals, the authority and the governing code - your literacy is recognising when a rule has crossed from the checkable into the judgement-laden.

For the studentHow regulations become machine-readable rules - and why many rules resist being coded at all

The deepest reason compliance resists automation is not that machines are slow or software immature - it is that a large part of regulation is genuine interpretation, and interpretation where reasonable experts differ is a human act, not a calculation. Learn the kinds of ambiguity: judgement-laden terms ('adequate', 'suitable', 'reasonable'), vagueness with fuzzy edges, open texture (rules undetermined for cases no one foresaw), and context-dependence. Learn why the vagueness is usually deliberate - it lets law flex to the unforeseen, tie rules to purpose, avoid absurd literal results, and delegate to expertise - so that forcing fake precision to please a machine makes the regulation worse. And learn the interpretation gap: for a genuinely open term there may be no single correct meaning to encode, only a range of reasonable readings among which a human authority chooses. This is the intellectual core of the whole field. Being able to explain why ambiguity is often a feature of law and why it cannot be engineered away is what marks someone who truly understands rules-as-code rather than its marketing.

Misconception check

Vague words like 'adequate' and 'suitable' are just imprecise drafting. As building codes are modernised and rewritten more clearly, that ambiguity will be defined away and almost everything will become automatically checkable.

This is half-right in a way that makes it dangerous. Some vagueness genuinely is careless drafting, and clarifying it - defining terms, separating quantitative from qualitative content, stating exceptions explicitly - can and should enlarge the checkable subset. But a large, deliberate core of open-textured language cannot be defined away without making the regulation worse, and treating it as mere imprecision misunderstands what it is for. Words like 'adequate', 'suitable' and 'reasonable' are chosen precisely because they refuse to name a fixed threshold: they let a rule flex to buildings, materials and situations no drafter could foresee; they tie the requirement to its real purpose (people escaping safely, air being healthy) rather than to a brittle numeric proxy that is right for typical cases and wrong for others; they let a competent human avoid the absurd or unjust results that rigid numbers produce in unusual cases; and they deliberately delegate the assessment to professional and institutional judgement. Force such a term into a fixed number just so a machine can check it, and you have not clarified the rule - you have changed what the law requires, usually making it more rigid, more gameable and blind to the unforeseen. The proof that this ambiguity is real, not merely unclarified, is that competent, honest experts read the same open clause and reach different, defensible conclusions, with no algorithm that settles which is correct - only a human authority choosing among reasonable readings. So the honest expectation is not that modernisation will make everything checkable, but that regulation will always be part determinate (automate it rigorously) and part judgement (surface and defer it honestly), with the interpretation of open terms belonging to the qualified professional and the approving authority applying the actual code, never to an encoded guess.
Try it

Do it yourself

No software needed - reason it through.

  1. 1List four different kinds of ambiguity in regulation and give an example of each.
  2. 2Give three reasons a skilled drafter might deliberately choose a vague term like 'adequate' over a fixed number.
  3. 3What is the interpretation gap, and why is it the heart of why compliance resists automation?
  4. 4Why is it misleading for a tool to score 'adequate ventilation' as pass or fail, and what should it do instead?
  5. 5If two competent experts read the same open clause differently, whose interpretation binds - and why can't an encoding settle it?
Take this with you

The one line to carry out

Regulation is thick with judgement-laden, vague, open-textured and context-dependent language - 'adequate', 'suitable', 'reasonable' - and this is usually a deliberate feature that lets law flex to the unforeseen, follow purpose over proxy and delegate to expertise, not a defect to engineer away; because competent experts genuinely and defensibly disagree about what such terms require, there is often no single correct meaning to encode, so the honest response is to automate the determinate rules rigorously, flag and defer the judgement-laden ones openly, and keep the interpretation gap in the hands the law gives it to - the qualified professional, the approving authority and the actual code.
Take it further
References & further reading

Peer-reviewed journals & authoritative standards

  1. 01Statutory interpretationWikipedia - Statutory interpretation, 2026.
  2. 02RegulationWikipedia - Regulation, 2026.
  3. 03Rules as codeWikipedia - Rules as code, 2026.
  4. 04Computational lawWikipedia - Computational law, 2026.
  5. 05Legal informaticsWikipedia - Legal informatics, 2026.
Related lessons
Recap
The deepest reason compliance resists automation is ambiguity - a loose word for several things a machine cannot pin down: judgement-laden or evaluative terms ('adequate', 'suitable', 'reasonable', 'sufficient') that name a standard to be judged rather than a threshold to measure; vagueness with a clear core and a genuinely fuzzy edge; open texture, where a rule is undetermined for cases no drafter foresaw; and context-dependence, where the same word means different things in different settings. Each requires a reader to supply meaning the text does not fully fix, which is exactly what a prescriptive number never asks and a judgement word always does. Crucially, this vagueness is usually deliberate and valuable: open terms let a rule flex to the unforeseen, tie the requirement to its real purpose rather than a brittle proxy, avoid the absurd or unjust results rigid numbers can produce, and delegate the assessment to professional and institutional judgement - so forcing fake precision to please a checker makes the regulation worse, not clearer. The proof that the ambiguity is real is that competent, honest experts read the same open clause and reach different, defensible conclusions with no algorithm to settle which is right - the interpretation gap. For rules-as-code the mature response is a division of labour: automate the determinate, prescriptive rules rigorously; flag the judgement-laden clauses for a human rather than fake a verdict; read every green tick as covering only the checkable slice; and keep the interpretation of open terms with the qualified professional and the approving authority applying the actual code, whose reading is the only one that binds.
Carry forward →

That completes the module: you now know what the rulebook is, how its rules are written, the prescriptive-performance divide, and why ambiguity keeps so much of compliance human. Next, Module 3 takes the rules that CAN be coded and shows exactly how a clear rule becomes machine-readable logic.

A

The author

Amogh N P

Architect, interior designer, and creative polymath. Studio Matrx began in his notebooks — his vision of design made honest, useful, and open to everyone. Its Academy is written and taught in his memory, and free, forever.

More about Amogh →