Abdullah Akbar Khalid
← All exhibits

Exhibit C · Governed AI

The RICS AI standard is a records problem, and nobody had built the records tool

Compliance tooling for the professional standard on responsible use of AI in surveying practice, in force since 9 March 2026.

Status
Public, live evidence pack
Stack
Python · Jinja2 · git
Source
github.com/akbar-33/oversight
Demo
example evidence pack

The problem

Since 9 March 2026, RICS members and regulated firms whose AI use has a material impact on the delivery of surveying services must be able to show four things: what AI they use, that a named qualified surveyor made a written decision about the reliability of AI outputs, that clients were told in the Terms of Engagement, and that AI procurement was diligenced.

That is not a modelling problem. It is a records problem, and when I looked there was no tooling for it at all.

The design bet: compliance records are plain files in a git repository

No database, no SaaS, no vendor holding records a firm must retain for years. Git already provides append-only history, authorship and timestamps, which is what an audit trail is. A regulator-ready evidence pack then becomes a render of the repository, with the commit log as the evidence timeline.

The repository is the database. Each path evidences an obligation.Hover any path
your-compliance-repo/
├── config.yamlfirm, staleness thresholds
├── systems/*.yamlGovernance. Every AI system, each with a named surveyor
├── rdrs/<engagement>/Documentation. The reliability decision, bound to the SHA-256 of the output
├── disclosures/*.mdClient transparency. ToE wording, generated from the register
├── dd/*.mdRisk management. Vendor procurement diligence
└── incidents/*.mdRisk, lifecycle. Outputs rejected and errors caught

How it operates

Commands capture each record, the repository stores them, and the validator refuses to let an incomplete set become a document anyone could rely on.

How it operates: capture, store, enforceHover any stage
Capture
initfirm config
add-systemthe AI register
rdrbinds SHA-256 of the output
discloseToE text
dd · incidents
Store
Plain files in a git repository: systems/ · rdrs/ · disclosures/ · dd/ · incidents/the commit log is the evidence timeline
Enforce
checkexits non-zero, names the obligation breached
packrefuses to render while any check fails
Regulator-ready record

The teeth

oversight check validates every record and exits non-zero on failure, so it runs in CI or as a pre-commit hook. Every failure cites the obligation it would breach:

Real validator output
FAIL systems/leasereader.yaml external system with no procurement due-diligence record on file ↳ Risk management: procurement due diligence, data governance, and review through the AI lifecycle FAIL rdrs/2026-114/ engagement used AI but has no ToE disclosure on file: run 'oversight disclose' ↳ Client transparency: material AI use disclosed in the Terms of Engagement

It catches unnamed responsible surveyors, external systems without due diligence, diligence gone stale past twelve months, overdue lifecycle reviews, unsigned or malformed decision records, records referencing unregistered systems, engagements that used AI with no client disclosure, and template placeholders left sitting in a record.

Decisions worth defending

The pack refuses to render while any check fails

This is the whole point. If a pack can always be produced, its existence proves nothing. Because it cannot, a pack is itself evidence that the records were coherent at the moment it was generated.

Bind the decision to the output, not to a description of it

A reliability decision can be bound to the SHA-256 of the exact output reviewed, so the record provably covers that output and no other. Without it, a decision record is an assertion that some review happened, some time, about something.

Paraphrase the obligations, never invent clause numbers

The published RICS text is authoritative and this tool is not it. Obligation text is deliberately paraphrased and no clause numbers are fabricated, so nobody can mistake independent tooling for the standard itself.

Back to all exhibits