pragmatiq
Reference

Acceptance gates

pragmatiq's acceptance gates — what each asserts and how to run it.

pragmatiq is an independent implementation inspired by the PRAGMA paper (arXiv 2604.08649) and is not affiliated with or endorsed by Revolut.

pragmatiq ships an acceptance gate for each major component — an executable script under scripts/gates/ that runs the real pipeline and asserts the property that component promises. They are the reproducible contract: end-to-end integration checks you can run yourself.

GateAsserts
gate_1Synthetic generator acceptance — realism + byte-identical determinism.
gate_2Key–value–time tokenizer — round-trip, [UNK] fallbacks, vocab range.
gate_3Sharding + varlen collation — packed (varlen) attention ≡ padded attention.
gate_4Model — the encoder stack and tied MLM head match the documented architecture.
gate_5End-to-end training — the probe beats the same-classifier raw-count baseline.
gate_6AML GNN ablation — a graph over transfers recovers signal an isolated probe misses (c>a), and message passing adds over the same features without a graph (c>d).
gate_7Inference / serving / demo.
gate_8Polish — nano end-to-end on CPU, validation, packaging + attribution.

Running them

bash scripts/gates/gate_5.sh                 # CI scale (small N, CPU, minutes)
PRAGMATIQ_GATE_FULL=1 bash scripts/gates/gate_5.sh   # full scale (GPU box)

Each gate is runnable standalone and honors PRAGMATIQ_GATE_FULL=1 for full-scale runs. The CI-scale defaults run on a CPU in minutes; the full-scale variants (50k–100k users) are intended for a GPU host — see Pretrain (and scale).

Gates are integration checks

Each gate runs the real pipeline for its area and asserts the property it guards. Run the relevant gate after a change to that area; a red gate means the guarded property is broken.

On this page