Mechanism · Ungated · Runs on this page

What the AI is allowed to do

The model never produces a number. It narrates over a result a deterministic engine computed — and if one figure in the prose did not come from that result, the memo is thrown away.

The contract

  • The engine computes. The model writes sentences about what the engine computed.
  • Every standalone number in the narrative must trace to the verified result, to a figure the client supplied in their own facts, or to a calendar year.
  • One that does not, and the memo is not returned at all — the caller receives the deterministic result with no narrative, and the run is not metered.
  • The gate fails closed. A gateway error or an empty response is a rejection, never a pass.

Figures the engine produced for this demonstration: 3,940,000 · 375,000 · 9 · 320,850. The narratives below may cite these and nothing else.

Three narratives, put through the gate

Every figure traces to the engine ACCEPTED

Taxable income of AED 3,940,000 attracts 0% on the first AED 375,000 under Article 3, and 9% on the excess, giving Corporate Tax of AED 320,850.
Numbers the gate found
3,940,000 · 0 · 375,000 · 3 · 9 · 320,850
Verdict
Memo returned

Every amount cited is one the engine produced. The article number and the 0% pass through a small-integer allowance, which is why the token list is longer than the figure list — the narrative adds language, not arithmetic.

One invented amount destroys the memo REJECTED

Taxable income of AED 3,940,000 gives Corporate Tax of AED 320,850, after a further small-business relief of AED 412,500.
Numbers the gate found
3,940,000 · 320,850 · 412,500
Verdict
Memo discarded

Narrative introduced 1 figure(s) not present in the verified result: 412500. Rejected to prevent unverified numbers in a regulated deliverable.

The relief is fluent, plausible and false. It is not a figure the engine produced, so the memo is not returned at all — the caller receives the deterministic result instead.

A number welded to letters is not a number ACCEPTED

For FY2025 the rate above the band is 9% on AED 3,940,000.
Numbers the gate found
9 · 3,940,000
Verdict
Memo returned

The token boundary is enforced on BOTH sides, so FY2025 yields no figure. Without that, a hallucinated “25%” could enter the allow-list through the tail of a year.

What this does not catch

A bare four-digit integer between 1900 and 2100 with no currency word before it is admitted as a calendar year. “AED 2000” is caught; “a deduction of 2000” is not.

The obvious tightening does not work, and it was measured rather than assumed. Requiring a cue word before a year sounds stricter and is not: ofhas to count as a cue, because primary-law citations are the densest source of four-digit numbers in a tax memo — “No. 47 of 2022” — and ofis also how an amount gets introduced. Tried against the suite, it rejected “the 2024 Executive Regulations amendment” while still admitting “a deduction of 2000”: a regression bought for nothing, so it was reverted. Closing it properly means putting the period years on the allow-list in every advisory specification, so that no number is special-cased at all. That is the fix, and it is not done yet.

Every published positionScope an engagement