Ontario Part 9 drawing review
79 checks compare PDF evidence with mapped requirements. Every result still requires qualified human confirmation.
Open review workspaceCoverage and proof
This one page combines available checks, their source support, software testing, and the limits that still prevent authoritative use.
79 checks compare PDF evidence with mapped requirements. Every result still requires qualified human confirmation.
Open review workspace2 decisions, 17 source facts, and 6 checks verify an exact match and a safe escalation.
See decision replaysThese examples prove measurement, rule routing, and result states. They are synthetic and are not permit decisions.
Open technical demoProduct proof
Acquire a rights-cleared matched permit submission, correction history, and clause-level outcome, then complete independent double review before measuring field accuracy.
Open the explorer below to inspect sources, required inputs, executed expressions, and the status of each pack.
Available packs
Executable checks
2012 OBC, Division B, Clause 9.8.4.5.(1)(a)
observed turn <= 90°2012 OBC, Division B, Sentence 9.8.4.5.(2)
one set OR separation >= 1,200 mmChecks engine states and pathways with internal test cases.
Checks that disputes and missing evidence are escalated rather than invented.
Checks determinism, state accounting, and missing-data safety.
Process a bounded mixed-file permit-package ZIP; reconcile facts and conflicts across embedded-text PDF, ASCII DXF, HOT2000 H2K, JSON/JSON-LD, and IFC members; normalize one shared stair vocabulary across PDF, mapped DXF dimensions, structured facts, and physically plausible IfcStairFlight attributes; extract a bounded, non-identifying set of HOT2000 energy facts; and execute an IFC/IFCZIP geometry profile that resolves project units, world placements, a review-confirmed role pair, and common tessellated, swept, BRep, Boolean, and mapped representations.
The package profile permits 50 files and 100 MB expanded data, rejects unsafe paths, and does not process nested archives. Mapped DXF and IFC dimensions require human confirmation. Contradictory or implausible stair values are withheld. OCR, proprietary DWG, long-tail vendor semantics, and ambiguous geometry remain human-review or later-phase work.lib/input-formats.tslib/extraction.tslib/stair-validation-corpus.tsscripts/sync-stair-validation-corpus.tslib/part3-dxf-demo.tslib/ifc-geometry.tslib/ifc-broad-geometry.tstests/extraction.test.tstests/stair-corpus-live.test.tstests/input-formats.test.tstests/live-evidence.test.tstests/part3-dxf-demo.test.tstests/ifc-geometry.test.tstests/ifc-broad-geometry.test.tsPOST /api/applications/{id}/artifactsCompute Part 3 or Part 9 scope from occupancy, storeys, area, and high-building status, then distinguish houses, suites, small buildings, and Groups A through F. Demonstrate that changing actual DXF footprint vertices across the size boundary changes the selected pathway.
The public technical demo proves dynamic classification with a clearly labelled synthetic DXF fixture. Its 600 m² scope mapping is illustrative, not an authoritative jurisdictional rule.lib/compliance/classify.tslib/compliance/rules.tslib/part3-dxf-demo.tstests/classification.test.tstests/part3-dxf-demo.test.tsGET /challenge-labEvaluate constrained, versioned logic without a generative model in the decision path; produce repeatable fingerprints; run 10-check NBC 2020 and NBC 2025 Part 9 profiles, a 30-check Ontario Part 9 profile, and a focused 23-check Ontario Part 3 exit-stair profile; preserve all four result states; link public case checks to cited provisions; and execute one exact IFC surface-distance rule over normalized product geometry.
The Ontario and national stair mappings remain preliminary, review-gated candidate validations, not complete code coverage or automated permit determinations. The separate IFC pipe-clearance rule remains illustrative. Complete authoritative coverage remains a later milestone.lib/compliance/evaluate.tslib/compliance/nbc-2020-stair-candidates.tslib/compliance/obc-2024-stair-candidates.tslib/compliance/nbc-2025-candidates.tslib/stair-validation.tsscripts/run-stair-validation.tstests/nbc-stair-candidates.test.tstests/obc-2024-stair-candidates.test.tstests/obc-2024-part3-stair-candidates.test.tstests/stair-validation.test.tslib/ifc-geometry.tslib/ifc-broad-geometry.tslib/bc-pilot.tslib/ontario-pilot.tsPreserve immutable machine findings, require reasons for adjudication, link evidence, expose evaluation traces, and record append-only audit events.
Prototype roles are simulated; production authorization requires an identity provider and RLS policy review.components/application-workspace.tsxlib/store/state.tstests/store.test.tsValidate canonical JSON/JSON-LD rule packs; round-trip the recognized CodeTrace XML Rule Pack Exchange 1.0 profile into canonical executable rules; quarantine unmatched XML/DITA for mapping; reconcile English and French source variants; carry IFC dictionary mappings; and pin official sources by hash.
Only the documented XML 1.0 profile is executable. Every other NRC or AHJ vocabulary, derived mapping, and bilingual source pair needs an approved adapter and qualified review.lib/rule-packs.tslib/rule-pack-xml.tslib/bilingual-rule-reconciliation.tsscripts/sync-code-sources.mjstests/rule-packs.test.tstests/candidate-sandbox.test.tstests/official-sources.test.tsReturn Meets, Does Not Meet, Information Not Available, or Uncertain, while tracking non-applicability separately as an excluded disposition.
No confidence score can convert missing or uncertain information into a pass.lib/compliance/evaluate.tstests/engine.test.tslib/assurance/benchmark.tsProvide a guided Canadian intake-to-decision workspace, separate public-decision replays, a clearly bounded synthetic technical demo, source-file and extraction review, finding, revision, audit, and combined coverage-and-proof views, validation-only APIs for fixed candidate scenarios and generalized NBC 2020, Ontario Code 2024 Parts 3 and 9, and NBC 2025 stair facts, and persistent Ontario Code 2024 or NBC 2025 stair candidate runs in the normal workspace results flow.
Each bounded stair profile persists findings, exact pack metadata, audit events, and human decisions, but remains clearly labelled review-gated candidate validation rather than an automated permit determination. General CA-DEMO checks remain illustrative. Production authentication and role-based authorization remain implementation gates.app/workspace/page.tsxcomponents/review-workspace.tsxcomponents/application-workspace.tsxapp/api/revisions/[id]/run/route.tscomponents/rules-catalogue.tsxapp/api/rule-packs/sandbox/route.tsapp/api/rule-packs/stairs/route.tslib/openapi.tstests/stair-validation.test.tstests/store.test.tsRun fully local without external AI, build a non-root read-only on-prem container, and operate the hosted prototype with Supabase Canada Central plus Vercel Montréal functions.
The hosted prototype verifies regional configuration. Contractual residency, logs, backups, CDN behaviour, privacy controls, and subprocessors still require production review.Dockerfile.runtimecompose.yamldocs/ON_PREM.mdvercel.jsonsupabase/config.tomlExport PDF, SpreadsheetML, CSV, canonical JSON, and BCF 3.0 issue archives. Geometry issues include selected IFC GUIDs, a viewpoint, closest-point line, measurement, and deterministic trace.
The geometry topic and viewpoint validate against the official BCF 3.0 XSDs. Receiving-system certification, production APIs, and municipal connectors remain Phase 2.lib/exports.tstests/exports.test.tslib/openapi.tsProvide en-CA and fr-CA interface and rule content without changing deterministic IDs, values, states, or fingerprints, and report logic drift or missing source-language documents before candidate activation.
Shared canonical logic and source hashes detect drift; they do not replace qualified review of authoritative English and French legal text.components/language-provider.tsxlib/compliance/rules.tslib/bilingual-rule-reconciliation.tstests/bilingual.test.tstests/candidate-sandbox.test.tsPreflight IFC2X3, IFC4, IFC4X3, and IFCZIP; resolve a bounded ISO 16739 geometry profile with an exact fast path and web-ifc normalization fallback; export a BCF 3.0 selected-object viewpoint; preflight IDS structure; and document ISO 19650 as a process boundary.
This is a verified bounded profile, not universal IFC support, buildingSMART software certification, or ISO 19650 certification. Ambiguous selection and geometry outside limits fail safely for human review.lib/ifc-geometry.tslib/ifc-broad-geometry.tslib/standards.tslib/exports.tstests/ifc-geometry.test.tstests/ifc-broad-geometry.test.tstests/exports.test.tsPOST /api/standards/validateRun versioned simple and complex cohorts, publish exact synthetic results, exercise full Part 3 and Part 9 golden workflows, pin an independent 12-model IFC and Solibri benchmark, maintain a two-person-reviewed Ontario drawing control, register official case-discovery sources, and block field claims until a representative matched case passes its acceptance gates.
Synthetic workflows, external model benchmarks, and public drawings prove software behaviour and conservative evidence handling. They are not matched Ontario permit decisions. Field accuracy and representative-environment readiness remain blocked until the MTO package is received, independently adjudicated, and replayed through every required gate.lib/assurance/benchmark.tslib/external-stair-benchmarks.tslib/validation-manifests.tsvalidation/toronto-l2h-0-stair-answer-key.jsonvalidation/mto-representative-case.jsonscripts/sync-external-stair-benchmarks.tstests/external-stair-benchmarks-live.test.tstests/validation-manifests.test.tstests/golden-workflows.test.tslib/permit-case-sources.tstests/permit-case-sources.test.tsUse append-only revisions, artifact SHA-256 hashes, run fingerprints, and Ed25519 revision seals pinned to a configured public-key trust anchor.
Development-session keys prove integrity during a run, not a professional engineer’s identity. Production must use managed keys and verified credentials.lib/seal.tsPOST /api/seals/verifytests/seal.test.tsProvide bounded JSON, JSON-LD, and recognized XML rule-pack ingestion plus hash-verified official-source acquisition, duplicate detection, unmatched-format quarantine, bilingual logic reconciliation, and explicit activation state.
No imported or mapped pack becomes authoritative automatically. Permission, official-text reconciliation, independent bilingual review, and administrator approval are mandatory.lib/rule-packs.tslib/rule-pack-xml.tslib/bilingual-rule-reconciliation.tsscripts/sync-code-sources.mjstests/rule-packs.test.tstests/vbbl-sources.test.ts