The backend engine that resolves a jobsite's country into the exact permit and zoning paperwork that jurisdiction requires — then hands the form back using the same server-driven UI schema every other engine already speaks, so no new rendering code was needed to display it.
Construction paperwork isn't the same everywhere. Compliance Engine centralizes jurisdiction logic behind a single Strategy Pattern — a PermitStrategy interface with one concrete class per country, so adding a new jurisdiction means writing one class, not touching every screen that needs paperwork.
PermitStrategy class per jurisdiction — TR, US, and moreDefaultPermitStrategy fallback that never throwsresolveComplianceStrategy(countryCode) picks the right classA Turkish jobsite files Ada, Parsel and Pafta cadastral references, an SGK Sicil No, and TAKS/KAKS floor-area ratios. A US jobsite instead files a Parcel ID, a Contractor License Number, and an OSHA Certification Number. Each strategy returns exactly the field set its jurisdiction requires.
jobsiteId captured for the audit trail on every callThe engine's output isn't raw HTML or a hardcoded form — it's a UiComponent tree, the exact schema shape the UI Rendering Engine already defines. The same <DynamicScreenRenderer> that paints Matrix Agent's approval screens paints a Compliance Engine permit form too.
UiComponent/UiComponentKind/UiVariant directlyA "Generate Form" button on Permit Applications, Zoning & Land Use Rules, and Legal Contracts & Liens calls this engine with the jobsite's resolved jurisdiction and renders the result inline — without either screen containing a single line of country-specific form code.
useJobsiteJurisdiction()Compliance Engine ships a jurisdiction-resolution strategy layer, ready to power any add-on with country-specific paperwork.
One PermitStrategy interface, one concrete class per jurisdiction, and a DefaultPermitStrategy fallback that never throws.
TR strategies return Ada/Parsel/SGK/TAKS/KAKS; US strategies return Parcel ID/Contractor License/OSHA — no shared hardcoded form.
Output is a UiComponent tree — the same shape the UI Rendering Engine defines — so no new renderer was written.
Permit Applications, Zoning & Land Use Rules, and Legal Contracts & Liens all call the same fetchComplianceSchema().
Fields like Contractor License Number carry a regex prop directly, enforced by the shared input renderer automatically.
Every schema generation logs a success/failure event via the Event & Analytics Engine — same usage history as every other engine.