Studio Matrx Monthly · Volume 1 · Issue 4 · September 2026
Amogh N P
 In loving memory of Amogh N P — Architect · Designer · Visionary 
Keeping Rules CurrentLesson 8.2
Automated Compliance & Rules-as-Code/Module 8 · Building & Governing the Rules

Lesson 8.2 · Building & Governing the Rules

Keeping Rules Current

Codes and byelaws change constantly and vary across thousands of local bodies, so an encoded rule set is never finished - it must be versioned and kept in sync with the living law, or the checker gives confidently-wrong results against a rule that no longer applies

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

The law does not hold still. An encoded rule is a photograph of it - and a photograph goes out of date the moment the thing it pictured moves.

Suppose you did the hard work of the last lesson perfectly - you read a clause with care, made every interpretive choice well, and encoded it faithfully. You now have a rule that matches the law exactly. For how long? Building regulation is not a fixed monument; it is a living body of rules that is amended, extended, corrected and replaced continually. A national code is revised; a state issues an amendment; a city updates its development-control regulations; a fire or accessibility standard is superseded; a threshold that was 30 metres becomes 45. The instant any of that happens, your faithful encoding stops matching the law - and unless someone notices and updates it, the checker keeps running the old rule as if nothing changed.

Now multiply that by geography. In India the National Building Code is a model, but the rules that actually govern a plot are the local building byelaws and development-control regulations, adapted and issued by the state and the urban local body - thousands of jurisdictions, each with its own setbacks, coverage, floor-space limits and use classifications, each amended on its own schedule. An encoded rule set that aspires to check real designs must therefore track not one moving target but thousands, and know which version of which jurisdiction's rules applies to this specific plot at this specific date. This is the maintenance burden, and it is not a footnote - it is the difference between a tool that helps and a tool that quietly lies. A rules-as-code system is never finished; it is a standing commitment to keep the encoded rules in sync with the living law, or to be honest that it cannot.

Law amended -> encoded copy lags -> DRIFT GAP = confidently-wrong checks. x thousands of local byelaws, each versioned. Fix: version + date every rule, track changes, confirm against the current law.

The moving target

The law keeps changing - so an encoding is always going stale

The first thing to internalise is that regulation is dynamic by design. Codes and byelaws are revised because the world changes: new materials and building types appear, disasters expose gaps, accessibility and energy expectations rise, and errors in earlier versions get corrected. This is healthy - a code that never changed would be a code that stopped protecting people well. But it means any encoded version of a rule is a snapshot with an expiry you cannot see printed on it. The prose in the statute book is updated when the law changes; the encoded copy is updated only when a human deliberately does the work.

That asymmetry is the whole problem. When the National Building Code is revised, when a state notifies an amendment to its byelaws, when a city issues a new development-control regulation, when an IS standard is superseded, the authoritative rule changes at that moment. The encoded rule does not - it changes only later, if at all, when a maintainer reads the amendment, works out what it means, re-encodes the affected rules (with all the interpretive choices of the previous lesson, again), tests them, and releases the update. Between the change in the law and the update to the encoding there is a gap, and in that gap the checker is running a rule that no longer applies. The design under test is being measured against yesterday's regulation.

Worse, the change is often silent from the user's side. A designer running a check has no way to know, from the green tick alone, whether the encoded threshold reflects the current byelaw or one from three years ago. The tool looks exactly as authoritative either way. This is why 'is this rule current?' is not a niggle but a first-order question about any automated check - and why the honest answer is frequently 'we do not fully know', because keeping up with every amendment across every jurisdiction is genuinely hard. The competent response is to treat currency as something to be actively established, not assumed: to ask what version of what rules the tool encodes, when it was last reconciled with the law, and for which jurisdictions - and to confirm the binding requirement against the actual, current code or byelaw, which is the only authoritative source.

Rules drift out of sync with the law The law (authoritative) 2019 byelaw 2023 amendment 2026 revision The encoded rule set (lags) v1 encoded v2 (late) DRIFT GAP checker uses stale rule During a drift gap the tool returns confidently-wrong results: it checks the OLD rule while the law has moved on. Version every rule; pin each check to a dated rule set.
Zoom
The law is amended on its own schedule while the encoded rule set lags. In the drift gap the checker returns confidently-wrong results against a stale rule.
Multiply by geography

Thousands of local bodies, each with its own rules and schedule

If keeping one code current were the whole task, it would be manageable. The reality is far larger, because building regulation is intensely local. In India especially, the National Building Code functions as a model and a technical reference, but the rules that legally bind a specific project are the building byelaws and development-control regulations of the state and the urban local body that governs that plot. There are thousands of such local bodies, and their rules are not copies of one another: setback requirements, ground coverage, floor-space index, permissible height, plot-size categories, use classifications and parking norms all vary from city to city and sometimes zone to zone within a city. And each of these jurisdictions amends its own rules on its own timetable, driven by its own planning politics and priorities.

For an encoded rule set, this turns maintenance from a line into a vast matrix. It is not enough to encode 'the setback rule'; there is no single setback rule. There is City A's current setback rule, City B's, City C's, each at its own version, each subject to its own next amendment. A checker that claims to work across jurisdictions must hold all of these, keep each one current, and - critically - know which jurisdiction and which version applies to the plot in front of it. Apply City B's coverage rule to a plot in City A and the check is precisely, confidently wrong, even though the logic ran perfectly. The engine did its job; the wrong rule was loaded.

This is why coverage and currency are as important as correctness. A tool may encode a jurisdiction's rules impeccably and still mislead if it silently falls back to a generic or national default where it lacks the local byelaw, or if its coverage of local bodies is thin and undated. The honest posture is explicitness: state which jurisdictions are covered, to what version and date, and where the tool does not have the local rule at all - so a user knows when they are outside its competence. For the designer, the discipline follows directly: identify the actual sanctioning authority for the plot, confirm which byelaws and DCR version currently govern, and treat any tool's local coverage as a convenience to be verified against that authority's own current rules, never as a substitute for them.

One code, thousands of local variants India: the NBC is a model; each state and urban local body adapts its own byelaws. City A byelaw setback rule v4 City B byelaw setback rule v2 City C byelaw setback rule v7 ... thousands more Each cell must be encoded, versioned and re-verified when its byelaw changes - The same parameter (a side setback) differs by jurisdiction, plot size and use. - A checker must know WHICH jurisdiction and WHICH version applies to this plot. - Maintenance never ends: it is a standing governance duty, not a one-off build. - Confirm the current local byelaw with the authority; the encoded copy may lag.
Zoom
One model code becomes thousands of local variants. Every jurisdiction-and-version cell must be encoded, versioned and re-verified - a standing maintenance duty, not a one-off build.
The mechanism of harm

Stale rules produce confidently-wrong results

It is worth being precise about how out-of-date rules cause damage, because the mechanism is quiet and easy to underestimate. An automated check does not fail loudly when its rules are stale; it succeeds - it runs smoothly, applies the encoded logic exactly as written, and returns a clean, confident pass or fail. The problem is that the confidence is attached to the wrong rule. If the byelaw's side setback increased last year and the encoding still holds the old smaller value, a design that violates the current requirement sails through with a green tick; if a threshold was relaxed and the encoding still holds the old stricter one, a compliant design is flagged and needlessly changed. Either way the tool is emphatic and wrong, and nothing in its output signals that the rule behind the result has expired.

Automation bias makes this far more dangerous than a manual slip. A human checking against a printed byelaw might at least glance at the date on the document; a user trusting a slick automated result rarely asks which version of the rule it encodes. The green tick reads as 'compliant', full stop, and the stale reading is laundered into false confidence - about setbacks, yes, but also about safety-relevant matters like egress widths, fire separations and accessibility provisions where a superseded value can matter a great deal. And because the same stale rule is applied to every design the tool checks, the error is systematic, not occasional: one un-updated encoding quietly mis-checks every project that passes through it until someone notices.

The defence is not to distrust automation wholesale but to make currency legible and to keep the human anchored to the living law. A well-governed rule set carries visible version and date metadata, so a result can be tied to a specific rule version and jurisdiction. It reconciles against the authoritative source on a real schedule, with a process for tracking amendments. And it fails honestly - flagging 'no current rule for this jurisdiction' rather than silently substituting a default. For the professional, the rule is simple and firm: never let a tool's currency be assumed. Confirm the binding requirement against the actual current code or byelaw from the authority, because the authoritative rule is always the living law, never a snapshot of it that may have quietly gone out of date.

Rules drift out of sync with the law The law (authoritative) 2019 byelaw 2023 amendment 2026 revision The encoded rule set (lags) v1 encoded v2 (late) DRIFT GAP checker uses stale rule During a drift gap the tool returns confidently-wrong results: it checks the OLD rule while the law has moved on. Version every rule; pin each check to a dated rule set.
Zoom
The law is amended on its own schedule while the encoded rule set lags. In the drift gap the checker returns confidently-wrong results against a stale rule.
Governing the maintenance

Versioning and sync as a standing discipline

If a rule set is a living thing, it needs governance built for change, not a one-time build followed by neglect. The practices that keep encoded rules trustworthy are not glamorous, but they are what separates a responsible system from a liability, and they are worth knowing even if you never build one, because they tell you what to ask of any tool you rely on.

The foundation is versioning: every encoded rule carries a version and an effective date, tied to the specific source instrument it encodes - this byelaw, this amendment, notified on this date. A check should be able to report not just pass or fail but against which rule version, for which jurisdiction, as of when. This makes results reproducible and lets a user or auditor trace any outcome back to a dated source clause. The second is change tracking and reconciliation: a deliberate process to watch for amendments across the codes and jurisdictions the tool claims to cover, assess what each change means, re-encode and re-test the affected rules, and record the update - a workflow, not a heroic occasional effort. The third is explicit coverage: publishing which jurisdictions and which versions are covered, and being honest where they are not, so the tool's competence is legible. The fourth is temporal correctness: applying the rule that was in force at the relevant date, since a project may be assessed under the byelaws current at submission, and rules have transition provisions.

None of this makes an encoded rule authoritative - it never becomes the law - but it makes it trustworthy enough to help, and honest about its limits. In the Indian context, this points strongly toward regulators and local bodies owning and maintaining the encodings of their own current byelaws, with published versions and dates, rather than leaving thousands of jurisdictions to be tracked, imperfectly and invisibly, by private tools. That is a governance and public-infrastructure task as much as a technical one. Whatever the arrangement, the through-line holds: the encoded rule is a maintained snapshot with a date, the living code or byelaw is the authoritative rule, and the accountable professional and the approving authority - checking against the current law - decide whether a design truly complies. Currency is not a feature you can assume; it is a discipline you must verify.

One code, thousands of local variants India: the NBC is a model; each state and urban local body adapts its own byelaws. City A byelaw setback rule v4 City B byelaw setback rule v2 City C byelaw setback rule v7 ... thousands more Each cell must be encoded, versioned and re-verified when its byelaw changes - The same parameter (a side setback) differs by jurisdiction, plot size and use. - A checker must know WHICH jurisdiction and WHICH version applies to this plot. - Maintenance never ends: it is a standing governance duty, not a one-off build. - Confirm the current local byelaw with the authority; the encoded copy may lag.
Zoom
One model code becomes thousands of local variants. Every jurisdiction-and-version cell must be encoded, versioned and re-verified - a standing maintenance duty, not a one-off build.
Verify-this: an encoded rule is a dated snapshot - confirm currency against the living law

The law is a moving target

Why encodings go stale

Codes and byelaws are amended continually; the encoded copy updates only when a human re-encodes it. Between change and update the checker runs an expired rule. Modules 8.2, 9.1.

Local variation at scale

India: thousands of byelaws

The NBC is a model; the binding rules are local byelaws/DCR that vary by jurisdiction and version. A tool must know which applies to this plot - load the wrong one and it is confidently wrong. Modules 8.2, 10.3.

Version and date every rule

Maintenance discipline

Trustworthy rule sets carry version and effective-date metadata, track amendments, publish coverage explicitly, and apply the rule in force at the relevant date. Modules 5.4, 8.2.

Confirm against current law

Who guards currency

Never assume a tool's rules are current. The binding requirement is always the living code or byelaw from the authority; the professional and authority confirm compliance against it. Modules 3.4, 7.3.

Hands-on workshop

Workshop - trace one rule's version history and design its currency check

Currency stops being abstract the moment you look at how one real rule has actually changed. In this workshop you pick a single quantitative building rule, trace its versions and jurisdictional variation as far as you can, and design the metadata and checks a tool would need to keep it honest.

One real quantitative rule and a notebook - no software. The exercise is about feeling the maintenance burden and governing it; the authoritative, current requirement always rests with the approving authority and the actual byelaw or code.

Given & goal
Goal: feel the maintenance burden of one rule and how to govern it
Inputs: one quantitative byelaw/code rule (e.g. a setback or coverage rule) + notebook
Time: ~45 minutes
  1. 1Pick one quantitative rule that plausibly varies and changes - a side setback, ground coverage, FSI cap, or a fire-exit travel distance - and name the jurisdiction whose byelaw you will use.
  2. 2Find its current value and, if you can, an earlier version or a different city's value for the same parameter - note the effective dates you can establish and where you could not find them.
  3. 3Design the metadata: write down what a rule set must store to keep this rule honest - jurisdiction, version, effective date, source instrument, and how a check would report them alongside pass/fail.
  4. 4Model the drift: describe a plausible amendment to the rule and trace what a checker still holding the old value would wrongly conclude for a borderline design - state whether it is a false pass or false flag and why that is dangerous.
  5. 5Reflect as reasoning: outline the reconciliation process and honesty rules (e.g. flag 'no current rule for this jurisdiction') you would require, and note that binding currency must be confirmed against the authority's current byelaw - framed as reasoning, not a compliance determination.

You’ll walk away with
A one-page currency brief: one rule with the versions and jurisdictional variation you could establish, the metadata a rule set must carry, a modelled drift scenario with its wrong result, and a reconciliation-and-honesty process - all framed as reasoning, with binding currency deferred to the authority's current law.

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

Before you trust any automated check, ask how current its rules are and which jurisdiction they cover - currency is not a given, and a stale rule fails silently. For your project the binding rules are the local byelaws and development-control regulations of the sanctioning authority for that plot, at the version in force, not a generic national default. So establish, for the checks that matter, when the tool last reconciled its rules with the law, which local bodies and versions it actually holds, and where it falls back to a default it should not. Treat a tool's local coverage as a convenience to be verified, and confirm the binding setback, coverage, FSI, height and use rules against the authority's own current byelaw - especially near a known amendment. You remain the professional of record: a check against an out-of-date rule is your risk to catch, and the authoritative requirement is always the living code or byelaw, interpreted by you and the approving authority.

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

Accessibility, fire and egress standards are revised over time, and an interiors checker is only as current as its last update - so do not assume the encoded clear width, travel distance or provision reflects the standard in force today. The values that make an interior compliant - accessible-route dimensions, ramp slopes, exit widths and counts, washroom provisions - sit in standards and byelaws that get amended, and a tool holding a superseded value will pass or fail your design against a rule that no longer applies, with no warning in the result. Ask when the tool's rules were last reconciled with the current accessibility and fire standards, and confirm binding provisions against the actual current code or standard through the qualified professionals and the authority. Use the automated check for fast early feedback, but anchor anything binding to the living standard - the encoded value is a dated snapshot, not the authoritative requirement.

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

This lesson adds a crucial dimension to why rules-as-code is hard: even a perfect encoding goes stale, because the law is a moving target and building rules are intensely local. Understand the asymmetry - the statute updates the moment it is amended, but the encoded copy updates only when a human deliberately re-encodes it, so there is always a drift gap where the checker runs an expired rule and reports confidently-wrong results. Then grasp the scale: in India the NBC is a model, but thousands of local bodies issue and amend their own byelaws, so a rule set must track a vast matrix of jurisdiction-and-version and know which cell applies to a given plot. Learn the governance that answers this - versioning, change tracking, explicit coverage, temporal correctness - and why it points toward regulators owning current encodings of their own rules. The lasting idea: an encoded rule is a maintained snapshot with a date; the living code or byelaw is the authoritative rule. It is a systems-thinking insight that impresses because most people forget maintenance exists.

Misconception check

Once the building rules have been encoded correctly, the hard work is done - the rule set is a finished product. From then on you just run it. Encoding is a one-time build, and a correct encoding stays correct.

This underestimates the single largest ongoing cost and risk of rules-as-code: maintenance. An encoded rule is a snapshot of a law that keeps moving. Building regulation is revised continually - national codes are updated, states notify byelaw amendments, cities issue new development-control regulations, standards are superseded, thresholds change - and the instant any of that happens, a previously faithful encoding stops matching the authoritative rule. The statute updates itself the moment it is amended; the encoded copy updates only when a human deliberately reads the amendment, re-encodes the affected rules, re-tests and releases them. In the gap between the two, the checker runs the old rule and returns confident, clean results against a regulation that no longer applies - a stale threshold passing a now-non-compliant design, or flagging a now-compliant one - with nothing in the output signalling that the rule has expired. And the burden multiplies with geography: in India the NBC is only a model, while thousands of local bodies issue and amend their own byelaws on their own schedules, so a real rule set must track a vast matrix of jurisdiction-and-version and know exactly which applies to the plot in front of it - load the wrong city's rule and the check is precisely, confidently wrong even though the logic ran perfectly. Because the same stale rule is applied to every design, the error is systematic, and automation bias means few users ask which version they are trusting. So a rules-as-code system is never finished; it is a standing commitment to versioning, change tracking, explicit and dated coverage, and temporal correctness - reconciling the encoding against the living law on a real schedule and failing honestly where it lacks the current local rule. Even then the encoding never becomes authoritative: the binding rule is always the current code or byelaw, and the accountable professional and approving authority must confirm compliance against it. Currency is a discipline to verify, never an assumption.
Try it

Do it yourself

No software needed - reason it through.

  1. 1Explain the asymmetry between how the statute and its encoded copy get updated, and why it creates a drift gap.
  2. 2Why does building regulation being intensely local turn maintenance from a line into a matrix, especially in India?
  3. 3How does a stale rule produce a 'confidently-wrong' result, and why is that worse than a manual slip?
  4. 4Name four maintenance disciplines that keep an encoded rule set trustworthy.
  5. 5A tool passes your design. What three things should you establish about its rules before trusting the result?
Take this with you

The one line to carry out

An encoded rule is a dated snapshot of a law that keeps moving - codes and byelaws are amended continually and vary across thousands of local bodies, so a rule set drifts out of date fast and a stale rule checks confidently against a regulation that no longer applies; keeping rules current is a standing discipline of versioning, change tracking, explicit dated coverage and temporal correctness, and even then the encoding never becomes authoritative - the living code or byelaw is the rule, and the professional and the authority must confirm compliance against it.
Take it further
References & further reading

Peer-reviewed journals & authoritative standards

  1. 01Building codeWikipedia - Building code, 2026.
  2. 02National Building Code of IndiaWikipedia - National Building Code of India, 2026.
  3. 03Urban local bodyWikipedia - Urban local body, 2026.
  4. 04RegulationWikipedia - Regulation, 2026.
  5. 05MetadataWikipedia - Metadata, 2026.
Related lessons
Recap
Even a perfect encoding goes stale, because building regulation is a living body of rules amended continually - national codes revised, state byelaw amendments notified, city development-control regulations reissued, standards superseded, thresholds changed. The problem is an asymmetry: the statute updates the moment it is amended, but the encoded copy updates only when a human deliberately re-encodes, re-tests and releases it, so between the change and the update there is a drift gap in which the checker runs an expired rule. The burden multiplies with geography: in India the NBC is a model, but the binding rules are local byelaws and development-control regulations issued and amended by thousands of urban local bodies on their own schedules, so a rule set must track a vast matrix of jurisdiction-and-version and know which applies to a given plot - load the wrong one and the check is precisely, confidently wrong though the logic ran perfectly. Stale rules cause harm quietly: the tool succeeds, returns a clean pass or fail, but the confidence is attached to an expired rule, and automation bias launders it into false confidence, systematically, across every design checked. The defences are governance for change - versioning with effective dates tied to source instruments, deliberate change tracking and reconciliation, explicit and honest coverage, and temporal correctness - which make results traceable and the tool's competence legible without ever making the encoding authoritative. The through-line: the encoded rule is a maintained snapshot with a date, the living code or byelaw is the authoritative rule, and the accountable professional and approving authority - checking against the current law - decide compliance. Currency is a discipline to verify, never an assumption.
Carry forward →

Currency and correct encoding both come down to work that people must do and stand behind. When a check nonetheless misses or mis-flags something, the question turns from the rules to the responsibility: who is accountable? That is next.

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 →