Studio Matrx Monthly · Volume 1 · Issue 4 · September 2026
Amogh N P
 In loving memory of Amogh N P — Architect · Designer · Visionary 
Garbage In, Garbage OutLesson 5.4
Automated Compliance & Rules-as-Code/Module 5 · The Data It Needs

Lesson 5.4 · The Data It Needs

Garbage In, Garbage Out

This is the module's plainest honesty: an automated check can never be better than the model data it runs on, so incomplete or mis-classified data does not produce an error - it produces a confident wrong answer that looks exactly like a right one, which means data quality is not a detail to tidy up later but a precondition for the whole idea, and someone accountable must own it, because a check that is trusted on bad data is worse than no check at all

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

An automated check cannot be more truthful than the data it runs on. Feed it garbage, and it will hand you a confident, clean, wrong answer.

There is a saying older than any building software: garbage in, garbage out. A computation faithfully transforms its input, so if the input is wrong, the output is wrong - no matter how sophisticated the process in between. Automated compliance checking is a pure case of this. The checker does exactly what it is told: it takes the model, applies the encoded rules, and reports what it found. It has no independent knowledge of the real building; it knows only the data. So if a corridor was mis-classified, a width left blank, a unit stored wrong, the checker cannot sense that something is off. It computes faithfully over the garbage it was given and returns an answer that is clean, confident, and false.

That is the module's plainest and most important honesty, and it is why this lesson closes 'The Data It Needs'. Everything before it - the model as data, what makes data checkable, the standards that let rules and models meet - converges on one uncomfortable claim: a check is only ever as good as the model data it runs on, and no part of the process downstream can rescue bad data upstream. The danger is not that bad data makes the tool crash; it is that bad data makes the tool lie convincingly. A false pass looks exactly like a real pass. This lesson makes the case that data quality is therefore not a detail to clean up later but a precondition for the whole idea of automated checking - and that, because it is a precondition, someone accountable has to own it. A check that is trusted on bad data is not neutral; it is worse than no check at all, because it manufactures false confidence.

A check knows only the model, not the building. Garbage data -> confident wrong answer (looks like a pass). Data quality = precondition, not detail. Someone must OWN it. A check != approval.

The core honesty

A check is only as good as the model data

State the claim as bluntly as possible: automated checking cannot be more correct than its input. The checker is a faithful machine. Given a model, it selects elements by class, reads properties, applies the encoded rules, and reports pass, fail or cannot-determine. Nowhere in that loop does it consult the real building, the designer's intent, or the actual code text; it consults only the data in the model. So the quality of its verdict is bounded, above, by the quality of that data. A brilliant checking engine over a mis-classified, incomplete model produces confident nonsense; a modest engine over a clean, complete model produces something you can act on. The engine is not where correctness comes from - the data is.

This reframes what an automated check actually certifies. When a tool passes a corridor-width rule, it is really asserting something narrow: 'among the elements I was able to identify as corridors, each carried a clear_width value that I read, in the unit I assumed, and none was below the minimum I was given.' Every clause of that sentence is a claim about the data. If an escape corridor was not identifiable as a corridor, it was not among the elements checked; if a width was missing, it was not read; if the unit was wrong, the comparison was wrong. The pass is true of the data and can be entirely false of the building. The check never had access to the building - only to a data-model of it, which may or may not faithfully represent reality.

The same holds in the failing direction. A flood of fails may say nothing about the design and everything about duplicated geometry or mis-tagged elements. In both directions the verdict is a statement about the model's data first, and about the building only to the extent the data is true. This is not a limitation to be engineered away; it is the nature of computing over a representation. You cannot check the world; you can only check a model of the world, and the check inherits every error in that model. That is the honest core of this module, and everything practical - validation, standards, ownership - follows from taking it seriously rather than wishing it away.

GARBAGE IN, GARBAGE OUT - THE SAME CHECKER, TWO INPUTSGOOD DATA INclassified, complete,right units + detailGARBAGE INmis-classified, missing,wrong units, messyTHE SAMECHECKERruns the encoded rulesTRUSTWORTHY RESULTpass / fail you canact on (still not approval)CONFIDENT WRONG RESULTlooks identical -false pass or false failThe checker is honest; the output is only as good as the input. A check cannot rise above its data.and neither output is an approval - the professional and the authority stay accountable
Zoom
The same checker, two inputs. Feed the identical checking engine good data - correctly classified, complete, in the right units, at the right detail - and it returns a result you can act on. Feed it garbage - mis-classified, missing, wrong-united, messy - and it returns a confident wrong answer that looks identical on screen, a false pass or a false fail. The checker is honest and faithful; it simply cannot rise above its input, because it knows only the model, never the real building. Correctness comes from the data, not the engine - and neither output is an approval, with the professional and the authority staying accountable for whether the design complies.

Same checker. Good data in -> result you can act on. Garbage in -> confident wrong answer. The check inherits every error in the model; it cannot rise above its data.

Confident wrong

How bad data produces a confident wrong answer

The specific danger of garbage-in is not error but confidence. A crashed tool warns you; a tool that computes cleanly over bad data does not. It returns a result that has exactly the same appearance as a correct one - the same green tick, the same tidy report - because from the tool's point of view nothing went wrong: it applied the rules to the data and found what it found. The wrongness lives entirely in the gap between the data and the building, a gap the tool cannot see. So bad data does not look like bad data on screen. It looks like a clean pass.

This is where the theme of automation bias becomes acute. Humans systematically over-trust confident automated output, and the more authoritative and clean the presentation, the stronger the pull. A crisp report with a row of green ticks radiates competence, and the natural response is to relax - to assume the tool has handled it. But that reflex is exactly inverted from what safety requires, because the confident, clean pass is precisely the output a garbage-in error produces. The cases where the data is worst and the risk highest can be the ones where the tool looks most reassuring, since a mis-classified element simply drops out of the check silently rather than announcing itself. Over-trust is therefore not a minor human factor bolted onto a technical system; it is the mechanism by which garbage-in actually causes harm. The false pass only hurts someone if it is believed.

The honest consequence is a specific stance toward the green tick. A pass must be read as a conditional, data-dependent statement - 'no flaggable issue was found in the data I was given, for the rules I could evaluate' - and never as a verdict on the building. That means treating 'cannot determine' results as seriously as fails, asking what the tool actually tested (its coverage) rather than only whether it passed, and reserving trust for results whose underlying data has been separately assured. It also means resisting the emotional pull of a clean report, which is a learned discipline, not a natural instinct. None of this makes automated checking useless - used with this discipline it genuinely catches real issues fast. It makes automated checking safe to use, by refusing to let a confident output substitute for confidence in the data behind it. And it keeps the boundary firm: a check, however clean, is never an approval, and whether the design truly complies stays with the accountable humans.

HOW BAD DATA PRODUCES A CONFIDENT WRONG ANSWERmis-classified /incomplete datathe input is wrongthe checker runsexactly as toldno error, no crashGREEN TICKconfident, clean,and WRONGAUTOMATION BIASthe cleaner and more confident the tick, the more it is trusted -so the confident wrong answer is the one most likely to be acted onBad data does not look like bad data on screen - it looks like a clean passwhich is exactly why over-trusting the tick is dangerous, and a check is never an approval
Zoom
How garbage-in causes harm. Mis-classified or incomplete data goes in, the checker runs exactly as told with no error or crash, and out comes a clean green tick that is confident and wrong. The harm is completed by automation bias: the cleaner and more authoritative the tick, the more it is trusted, so the confident wrong answer is precisely the one most likely to be believed and acted on. Bad data does not look like bad data on screen - it looks like a clean pass - which is why over-trusting the tick is dangerous, why 'cannot determine' must be taken as seriously as a fail, and why a check is never an approval.
A precondition

Data quality is a precondition, not a detail

If a check cannot rise above its data, then data quality is not one task among many in an automated-checking workflow - it is the foundation the whole workflow stands on. Picture the stack: results at the top, the checking engine and encoded rules beneath, the classification and property standards beneath that, and at the very base the quality of the model data. Weaken the base and everything above it is unreliable, no matter how good it is - a sound engine and sound rules over unsound data produce unsound results. This is why the earlier lessons insist that data validation must come before design checking: you assure the foundation before you build the verdict on it.

Calling data quality a precondition has a sharp practical meaning: it must be planned for and resourced up front, not discovered as a problem at the end. In practice this is exactly backwards from how it is often treated. Because modelling for compliance is unglamorous - classifying elements correctly, populating the right properties in the right units, keeping to agreed standards - it is easy to defer, skimp, or assume it will 'sort itself out', and then to run a checker over whatever model exists and trust the ticks. That is the failure mode this whole module is written against. The correct order is to decide which rules you need to run, provision the data those rules require to a fitness that lets them resolve cleanly, validate that the data actually meets that bar, and only then read the design check as meaningful.

There is also a design-judgement point here that goes beyond process. Because good data is fit-for-the-rules rather than maximal, deciding what data quality the project needs is itself a professional judgement: which checks matter, what classification and properties they require, what level of detail is enough. That judgement cannot be automated - it is part of the human work that frames the automated part. So data quality is not merely a chore that precedes the clever bit; it is a considered decision about what the model must be able to answer, made by people who understand both the rules and the design.

And the Indian reality makes the point concrete rather than abstract. Where many submissions are still 2D and structured models thin, the binding constraint on useful automated checking is almost always the data, not the tool - which is precisely why treating data quality as a precondition, and reaching a basic, achievable fitness for the quantitative development-control checks, is the realistic first step. Skip it, and a checker over poor data does not give you cheap compliance; it gives you expensive false confidence.

DATA QUALITY IS A PRECONDITION, NOT A DETAILRESULTS you can act on (still not an approval)the checking engine + encoded rulesthe standards + classification + property vocabularyDATA QUALITY - the foundation everything rests oncorrect classification, complete properties, consistent units, right detailSOMEONE must OWN it - a named, accountable personweaken the base and everything above is unreliable
Zoom
Data quality is the foundation, not an afterthought. Results sit at the top of the checking stack, resting on the engine and encoded rules, which rest on the classification and property standards, all of which rest on the quality of the model data at the base. Weaken that base and everything above it is unreliable, however good it is - a sound engine and sound rules over unsound data give unsound results. So data quality must be planned and validated up front, before design checking; deciding what quality the project needs is itself a professional judgement; and, as the amber bar insists, a named, accountable person must own it, because a precondition no one owns is a precondition that fails.
Who owns it

Someone must be responsible for the data

A precondition that no one owns is a precondition that fails. The final and most important move in this module is to insist that data quality is not an ambient property that arises on its own - it is a responsibility that must be assigned to accountable people, and named as such. If everyone assumes someone else is ensuring the corridors are classified and the widths populated in the right units, no one is, and the checker will faithfully compute over the gaps. So the honest question about any automated-checking workflow is not only 'is the data good?' but 'who is answerable for it being good?'.

This matters because responsibility for the data sits inside the larger accountability the whole course insists on. Automated checking augments, never replaces, the accountable humans: the qualified professional of record, the approving authority and the governing law. Data quality is where that accountability becomes concrete and daily. The professionals who author and coordinate the model are responsible for the data being fit for the checks run on it; reading a green tick without having assured the data behind it is not diligence, it is abdication dressed as technology. The tool cannot be blamed for a false pass produced by data someone was supposed to own and did not - the tool did exactly what it was told. Responsibility does not transfer to the software; it stays with the people, precisely because the software is only a faithful function of the data they provide.

This also clarifies the relationship between data quality and the boundaries repeated throughout the course. A check is never an approval - and one reason is that a pass is only a statement about data that accountable humans, not the tool, are responsible for. The authoritative rule is always the actual code and byelaw, never the encoded version - and even a rule correctly encoded is only as good as the data it runs against, which again is a human responsibility. So the module's honest through-line closes here: automated checking is genuinely useful for the checkable subset, but only over data that is correct, complete, consistent and fit for purpose, and that data does not maintain itself - someone must own it. Whether the design actually complies, the authoritative interpretation of every regulation, and legal responsibility for both remain with the qualified professional of record, the approving authority and the governing law - the National Building Code of India, the applicable local development-control regulations and the relevant IS standards - and the quiet, unglamorous discipline of owning the data is where that accountability is either honoured or quietly betrayed.

Verify-this: the check inherits the data's errors; own the data, and never read a pass as approval

A check cannot rise above its data

What bounds a check's correctness

The checker knows only the model, not the building, so bad data yields a confident wrong answer, not an error. Correctness comes from the data, not the engine. Modules 5.2, 5.3.

Data quality is a precondition

Where it sits in the workflow

It is the foundation the whole checking stack rests on, planned and resourced up front and validated before design checking - not a detail to fix later. Deciding what quality is needed is itself a professional judgement. Module 5.2.

Someone must own the data - and a check is not approval

Where accountability lives

Data quality is a human responsibility that must be named; it never transfers to the tool. A pass is a statement about the data, never a legal determination. Whether the design complies stays with the professional, the authority and the code and byelaws. Modules 8.3, 9.1.

Hands-on workshop

Workshop - trace a false pass back to the data, and name its owner

Garbage-in becomes real when you trace a specific false pass all the way back to the data fault that caused it and then ask who should have owned that data. In this closing workshop you take a plausible false pass, reconstruct the data error behind it, and write the one-line responsibility that would have caught it.

Just a scenario and a notebook - no software needed. The aim is to feel, concretely, that a check inherits its data's errors and that someone must own the data. Real validation tools and workflows come later, and binding compliance always stays with the professional, the authority and the actual code and byelaw.

Given & goal
Goal: connect a confident wrong answer to a specific data fault and a named owner
Inputs: a scenario (a tool passed the egress-width rule, but a real escape corridor is under-width) + a notebook
Time: ~45 minutes
  1. 1Reconstruct the false pass: list the data faults that could each produce this exact clean pass over a genuinely under-width corridor (mis-classified as a generic space so it was never tested; clear_width missing so it was skipped; width stored in mm read as m so it looked compliant).
  2. 2For each, write the narrow thing the tool actually certified ('among elements I identified as corridors, each carried a width I read, none below the minimum') and show how the fault makes that statement true of the data yet false of the building.
  3. 3Explain the automation-bias step: why the clean green tick made this false pass more likely to be believed and acted on than an honest 'cannot determine' would have been.
  4. 4Assign ownership: for each data fault, write one line naming who in a real workflow should have been responsible for that data being right, and what check they should have run before trusting the pass - framed as reasoning about accountability.
  5. 5Write a closing reflection: why a check trusted on bad data is worse than no check, and why data quality is a precondition someone must own - and restate that whether the design complies stays with the professional, the authority and the actual code.

You’ll walk away with
A one-page false-pass trace: the candidate data faults behind one clean-but-wrong pass, the narrow data-claim the tool really made, the automation-bias step, and a named owner plus a preventing check for each fault - framed as reasoning about data responsibility, not a compliance determination.

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

Treat data quality as a precondition you own, not a detail to tidy later - because an automated check can never be more truthful than the model you feed it, and bad data produces a confident, clean, wrong answer, not an error. A pass certifies only the data: 'the elements I could identify carried the values I read, in the unit I assumed, none below the minimum I was given' - every clause a claim about your model. So plan the data up front: decide which rules you need to run, provision the classification and properties those rules require to a fitness that resolves cleanly, validate that the data meets that bar, and only then read the design check as meaningful. Resist automation bias: a clean report over unassured data is expensive false confidence, and treating 'cannot determine' as seriously as a fail is part of the job. Above all, name who is answerable for the data being good - reading a green tick without assuring the data behind it is abdication, not diligence. Responsibility never transfers to the tool; whether the design actually complies stays with you, the authority and the governing code and byelaws.

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

In interiors, garbage-in is easy to create and dangerous to trust: a door with no clear_opening, a route mis-classified, an occupancy left blank all produce clean accessibility or egress passes that mean nothing. Because the checker only knows your interior data, an accessibility tick over thin data can confidently wave through a genuinely unusable route - and automation bias makes that clean tick the one most likely to be believed. So own the interior data as a precondition: classify doors, routes and spaces correctly, populate clear openings, gradients, turning space, occupancy and area in consistent units, at a detail the rule can resolve, and validate it before you trust any pass. Read a passed check as a statement about your data, never as proof of real accessibility, which remains a human judgement about whether a route works for a person. And be clear about responsibility: the data being fit is yours and your team's to own, not the tool's. Coordinate binding fire, egress and accessibility compliance with the qualified professionals, the authority and the governing code (NBC India, accessibility standards); the tool assists, it never certifies.

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

The most important honest idea in this whole module is the oldest one in computing: garbage in, garbage out - a check is only as good as its data, and understanding why marks a genuinely thoughtful designer. Grasp the mechanism: the checker is a faithful machine that knows only the model, not the real building, so it cannot sense a mis-classified corridor or a missing width - it computes over the garbage and returns a clean, confident, wrong answer that looks identical to a right one. That is why bad data is dangerous rather than merely annoying, and why automation bias - over-trusting the confident green tick - is exactly the reflex that turns a false pass into real harm. Draw the three consequences: data quality is a precondition the whole workflow stands on, not a detail to fix later; deciding what data quality a project needs is itself a professional judgement that cannot be automated; and a precondition must be owned by a named, accountable person, because responsibility never transfers to the software. And keep the boundary: a check is never an approval, and whether a design complies stays with the professional, the authority and the actual code. This honest, systems-level clarity is what employers and studios most value.

Misconception check

As long as I run a good, well-regarded checking tool, I can trust its results - the sophistication of the software is what makes the check reliable, so a clean pass from a capable tool means the design meets that rule. If the tool is good, minor issues in the model data will not really matter.

This misplaces where reliability comes from, and it is the exact error this module is written against. A checking tool is a faithful machine: it knows only the model data, never the real building, so it selects elements by class, reads properties, applies the encoded rules, and reports what it found - with no independent way to sense that a corridor was mis-classified, a width left blank, or a unit stored wrong. The sophistication of the software cannot rescue this, because the wrongness lives in the gap between the data and the building, which the tool cannot see. So a capable tool over poor data does not give you a slightly-less-reliable result; it gives you a confident, clean, WRONG result that looks exactly like a right one - a false pass hiding a real violation, or a flood of false fails from messy geometry. The tool did nothing wrong; it computed faithfully over garbage and returned garbage. This is why data quality is a precondition, not a detail: the check inherits every error in the model, so a brilliant engine over a mis-classified, incomplete model produces confident nonsense, while a modest engine over clean, complete, correctly-united, appropriately-detailed data produces something you can actually act on. Correctness comes from the data, not the engine. And automation bias makes it worse: the cleaner and more authoritative the report, the more it is trusted, so the confident wrong answer is the one most likely to be believed and acted on. The honest discipline is to assure the data before trusting any pass, treat 'cannot determine' as seriously as a fail, ask what the tool actually tested, and name who is answerable for the data being good - because responsibility never transfers to the software. And even a clean pass over well-assured data is never an approval: whether the design truly complies, and the authoritative interpretation of every rule, stay with the qualified professional of record, the approving authority and the governing code and byelaws.
Try it

Do it yourself

No software needed - reason it through.

  1. 1Explain 'garbage in, garbage out' for an automated check: why can a check never be more truthful than its data?
  2. 2Rewrite 'the model passed the corridor-width rule' as the narrow claim about the data it really is.
  3. 3Why is a confident, clean false pass more dangerous than an obvious error - and how does automation bias make it worse?
  4. 4What does it mean to call data quality a 'precondition, not a detail', and what order of operations does that imply?
  5. 5Who is responsible for the model data being good, and why does that responsibility never transfer to the tool?
Take this with you

The one line to carry out

An automated check is a faithful function of the model data and knows nothing of the real building, so it can never be more truthful than its input - incomplete or mis-classified data yields a confident, clean, wrong answer that looks exactly like a right one, which automation bias makes the most likely to be believed; therefore data quality is a precondition the whole workflow rests on rather than a detail to fix later, deciding what quality is needed is itself a professional judgement, and a precondition must be owned by a named, accountable person - because responsibility never transfers to the software, a check is never an approval, and whether the design complies stays with the professional, the authority and the actual code and byelaw.
Take it further
References & further reading

Peer-reviewed journals & authoritative standards

  1. 01Data qualityWikipedia - Data quality, 2026.
  2. 02Automation biasWikipedia - Automation bias, 2026.
  3. 03AccountabilityWikipedia - Accountability, 2026.
  4. 04Professional responsibilityWikipedia - Professional responsibility, 2026.
Related lessons
Recap
Garbage in, garbage out is the module's plainest honesty: an automated check is a faithful machine that knows only the model data, never the real building, so its verdict is bounded above by the quality of that data - a brilliant engine over a mis-classified, incomplete model produces confident nonsense, while a modest engine over clean, complete, correctly-united, appropriately-detailed data produces something you can act on. Correctness comes from the data, not the engine. This reframes what a pass certifies: it is a narrow, data-dependent claim - 'among the elements I could identify as corridors, each carried a width I read, in the unit I assumed, none below the minimum I was given' - true of the data and possibly false of the building, because the check never had access to the building, only to a representation of it. The specific danger is confidence, not error: bad data does not crash the tool, it makes the tool produce a clean pass identical in appearance to a real one, so bad data does not look like bad data on screen. Automation bias - over-trusting the confident, authoritative tick - is the mechanism by which this actually causes harm, since the false pass only hurts if it is believed. Three consequences follow. Data quality is a precondition the whole checking stack rests on, planned and validated up front, not a detail to fix later. Deciding what data quality a project needs is itself a professional judgement that cannot be automated. And a precondition must be owned: data quality is a human responsibility that must be named and assigned, and it never transfers to the software. In India, where many submissions are still 2D and structured models thin, the binding constraint is almost always the data, not the tool - so treating data quality as a precondition and reaching a basic fitness for the quantitative development-control checks is the realistic first step. And through all of it the boundary holds: a check is never an approval, the authoritative rule is always the actual code and byelaw, and whether the design complies stays with the qualified professional of record, the approving authority and the governing law.
Carry forward →

That closes 'The Data It Needs': automated checking is genuinely useful, but only over data that is correct, complete, consistent and owned. Next, the course turns from the data to the domains - how automated checking is applied across accessibility, fire and life safety, zoning and planning, and energy.

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 →