Lesson 8.2Lesson 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
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 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.
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.
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.
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.
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.
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.
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
- 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.
- 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.
- 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.
- 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.
- 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.
Three altitudes on the same idea
Read the band that fits you — or all three.
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.
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.
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.
“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.”
Do it yourself
No software needed - reason it through.
- 1Explain the asymmetry between how the statute and its encoded copy get updated, and why it creates a drift gap.
- 2Why does building regulation being intensely local turn maintenance from a line into a matrix, especially in India?
- 3How does a stale rule produce a 'confidently-wrong' result, and why is that worse than a manual slip?
- 4Name four maintenance disciplines that keep an encoded rule set trustworthy.
- 5A tool passes your design. What three things should you establish about its rules before trusting the result?
The one line to carry out
Peer-reviewed journals & authoritative standards
- 01Building code — Wikipedia - Building code, 2026.
- 02National Building Code of India — Wikipedia - National Building Code of India, 2026.
- 03Urban local body — Wikipedia - Urban local body, 2026.
- 04Regulation — Wikipedia - Regulation, 2026.
- 05Metadata — Wikipedia - Metadata, 2026.
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.
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 →