№ 01 — FOUR SYSTEMS, ONE ARGUMENT

Case files

All four lean on language models. In none of them does a model produce a number anybody signs — or a verdict anybody must trust.

01 FLAGSHIP · RIYALPLUS.AI · FOUNDER & ARCHITECT
The filing engine

Saudi corporate filings — Zakat and income tax at the core, ten shipped engines in all: statements, verification, transfer pricing, withholding, VAT, RETT, excise, UBO — computed from ledgers into submission-ready declarations, with the proof attached. Models are used heavily. The arithmetic is untouchable. That boundary is not a policy; it is the architecture.

The boundary

The computation core is a pure function: no network, no database, no import path to a model client — verified across the full transitive import graph, not promised in a README. The last model influence is a mapping suggestion a person approved; the engine’s parameter is literally named approved_mappings.

The checkpoint

Every input freezes into a versioned checkpoint before the engine runs; replay is asserted bit-identical, and expected values are hand-derived from the regulation before the code exists. Inputs are stored, not conclusions — a corrected rule should change the answer; what you need is to know that it did.

The controls

Twenty-one controls in a flat sequence with no short-circuits — twelve blocking. Some re-derive the arithmetic from the raw inputs by an independent route and compare; others surface the engine’s own identity checks as first-class, auditable results. One gate has teeth: a filing with failing blockers cannot be exported. All math in fixed-precision decimal, converted at the boundary so nothing inherits float imprecision at birth.

The ladder

Ingestion tries the cheapest thing first: known vendor formats, deterministic column maps, a cached layout fingerprint — a familiar file is processed with zero model tokens, and learned layouts are shared across tenants as structure only, never values: the tenth user of an ERP format pays what the first nine already taught. Eleven model call sites in total, all behind one wrapper with retries, a circuit breaker and a hard budget abort.

“A control that is right most of the time is not a control.”

02 OKAZ · SISTER PRODUCT TO RIYALPLUS · FOUNDER & ARCHITECT · PRE-LAUNCH
The ledger platform

Cloud accounting, Arabic-first, Saudi-first — built so the second country is a data change, not a rewrite. Most accounting software is one country’s rules with a translation bolted on. Okaz separates what changes at different rates: a ledger kernel that knows double entry and nothing else, jurisdiction packs as versioned declarative data, and engine plugins for what data can’t express.

The dependency rule

Nothing in the kernel imports from tax, jurisdiction or e-invoicing code. The layering test: would Riyadh and Rotterdam disagree about it? If they would, it can’t live in the kernel. Every pack is validated at startup — a pack defect fails the boot, not a customer’s first invoice.

The invariants

Every posted entry balances — as a database constraint, not a code promise. Posted entries are immutable: corrections are reversals, dated at discovery, both left visible. Nothing posts into a closed period; every entry names the document that caused it. And no float ever touches money — the money type refuses floats rather than converting them.

Versioned rules

A released jurisdiction pack is never edited; a change is a new version, and every entity pins the version it books under — tax rules change, history must not. A filed return snapshots both its computation and the ledger figures it came from. And the Saudi pack ships a known-gaps list rendered in the dashboard: where professional judgement belongs, a blank beats a default.

One direction

RiyalPlus reads from Okaz: a versioned, content-hashed trial-balance snapshot that refuses to generate if it doesn’t balance. Debits and credits as separate columns, every amount a decimal string, the pack version inside the payload — figures only mean something next to the rules that produced them. Okaz never calls back, and is complete without RiyalPlus existing.

“Double entry is the same in Riyadh and in Rotterdam.”

03 LEGAL-INFO PLATFORM · FRANCE · CONTRACT ENGINEER
Facts, not verdicts
▸ Answers grounded in ~35,000 official passages plus live in-force law lookups — five languages, Arabic RTL ▸ Citations are parsed, not pasted: an answer cites only sources it used; an invented reference renders inert ▸ The service never assesses the user — eligibility gates record what the user affirms, versioned, re-checked server-side

“The model reads the law. It never judges your case.”

04 STEEL DISTRIBUTOR · PUBLIC REPO, MIT
Email → quote
▸ Inbox to ERP draft, six stations ▸ The model reads text. Nothing else. ▸ Every stage fails loudly, never silently

“If a model writes the price, nobody in the building can explain it.”

ONE ACTION. TWO LINES: WHAT IT DOES NOW, WHAT MUST BE TRUE AFTER.
MAIL@ADAMSHAWA.COM

Availability & full contact →