Executive summary
Turning a code provision into an executable rule is an authoring discipline with approval gates. Skipping the gates produces rules that run confidently and are wrong in ways no one can detect from the output.
This lifecycle has eight steps and two mandatory human sign-offs: the interpretation, and the validated rule. Both are recorded, versioned and retired deliberately when the adopted edition changes.
Why authoring needs governance
The failure mode is specific: a provision is read slightly narrowly, its exception is missed, and every application thereafter receives a finding that is defensible-looking and incorrect. Because the logic is deterministic, the error is perfectly consistent.
This is why federal challenge material frames the problem as deterministic and AI-assisted rather than AI-decided [1], and why research on regulatory rule generation emphasises structured intermediate representations that people can inspect [2].
The eight-step lifecycle
- Select a bounded provision. One requirement, with a clear scope. Not a section.
- Collect definitions and references. Code definitions in force, referenced standards, related provisions that modify scope.
- Extract conditions, thresholds, exceptions and outputs. State what makes the requirement applicable and what the possible results are.
- Write a human-readable rule statement. Plain language a reviewer can check against the provision without reading logic.
- Encode the rule. Including required input facts, units and the behaviour when a fact is missing.
- Build test cases. Positive, negative, edge and exception cases, plus at least one case that must return "requires review".
- Validate with domain experts. Recorded approval of both interpretation and test results.
- Version, publish, monitor, retire. With jurisdiction, edition, effective dates and a retirement trigger.
The artefacts a rule must have
| Artefact | Purpose |
|---|---|
| Human-readable statement | Lets a reviewer verify the interpretation without reading code |
| Source citation | Provision, jurisdiction, edition, amendment |
| Required input facts | Makes data dependencies explicit, including where extraction is involved |
| Missing-fact behaviour | Prevents silent passes; missing inputs must return "requires review" |
| Test suite and results | Evidence that behaviour matches the interpretation |
| Named owner and validator | Accountability for content and for approval |
| Version and effective dates | Determines which applications the rule applies to |
| Retirement trigger | Ensures the rule is withdrawn when the basis changes |
Implications for authorities having jurisdiction
Insist on seeing three rules end to end during evaluation: statement, citation, tests, results, owner. It is the fastest way to judge whether a vendor’s rule content is governed or merely present.
Assign a rule steward internally, even where content is supplied. Someone in the department must be accountable for whether the encoded reading matches local practice and the adopted edition.
Implications for professionals and industry
Published rule statements let designers pre-check submissions against the exact reading in force. Where the reading is contested, the discussion is about one sentence rather than about automation in general.
For software teams, the discipline that matters most is missing-fact behaviour. Most dangerous defects are not wrong comparisons; they are evaluations performed on absent or mis-extracted inputs.
Risks, limitations and safeguards
- Encoding without expert validation produces consistent, invisible error.
- Test suites that only cover the happy path prove nothing; exception cases are mandatory.
- Rules copied across jurisdictions or editions must be re-validated, not re-labelled.
- Reproducing code text in the rule statement raises copyright issues; paraphrase and cite.
- Unretired rules continue to evaluate applications under a superseded basis.
PermitAssure perspective
PermitAssure implements this lifecycle as product function rather than process advice: rules carry statements, citations, owners, tests, versions and effective dates; missing inputs return "requires review"; and configuration is exportable so the jurisdiction retains its own rule content.
Five key takeaways
- A rule comprises interpretation, tests, owner, version and effective period — not logic alone.
- Bounded provisions only; sections are too large to encode reliably.
- Missing-fact behaviour must return "requires review", never a pass.
- Expert validation of both interpretation and test results is a gate, not a review step.
- Rules must be retired when the adopted edition or amendment changes.
References
- Deterministic Artificial Intelligence-Assisted Compliance Checking of Building Permit Applications. Innovative Solutions Canada, ISED. ised-isde.canada.ca. Accessed 3 August 2026.
- CODE-ACCORD: A Corpus of Building Regulatory Data for Rule Generation. arXiv preprint 2403.02231. arxiv.org. Accessed 3 August 2026.
- National Building Code of Canada 2025. National Research Council Canada. nrc.canada.ca. Accessed 3 August 2026.
- Building Code updates. Government of Ontario. www.ontario.ca. Accessed 3 August 2026.
- Codes Canada. National Research Council Canada. nrc.canada.ca. Accessed 3 August 2026.
Cited statements follow the sources above. Frameworks, diagrams and interpretation in this article are PermitAssure's own.
Related resources
Next step
Author one rule through all eight steps, including its retirement trigger, before scaling to a rule set.
See rule governancePermitAssure provides digital review, workflow and decision-support capabilities. This resource is educational and does not constitute regulatory, legal, architectural or engineering advice. Final interpretations, approvals and regulatory decisions remain the responsibility of the applicable Authority Having Jurisdiction and its authorized professionals.