Axiom technical stack

From scraped documents to executable rules

Axiom separates source acquisition, structural normalization, rules encoding, harness evaluation, runtime execution, and public inspection into distinct layers so each can be audited, improved, and replaced without collapsing the whole system into one tool.

AutoRAC is one layer in a longer chain. A provision moves from official document capture, to structural normalization, to a reproducible source slice, to a tested RAC file, to harness evaluation, to runtime execution, and finally to Atlas. The system is split this way so authority, transformation, correctness, and presentation can each be inspected on their own terms.

Example thread

One concrete path through the stack:

Pension Credit regulation 4A(1)(a)
official data.akn -> extracted source slice -> 4A/1/a.rac -> wave16 AutoRAC summary -> Atlas
7
7 layers
5
5 runtime stages
8
8 core repos
1
1 public inspection surface

Start with the overview

General flow

Pick a runtime stage to highlight the relevant layers. Then open a layer to inspect the repos, outputs, and code shape underneath that part of the stack. The hero example stays constant; the cards below show representative technical shapes from each layer.

Selected stage

Acquire

Official documents are fetched, normalized, and turned into exact slices with stable references.

Relevant layers

Follow one real rule

This is one promoted UK rule traced across the stack. Each step links to a real artifact, not a placeholder.

Acquire

Official source snapshot

Open official AKN source

The point-in-time legal text comes from the official legislation source for the exact instrument and date.

official source
https://www.legislation.gov.uk/uksi/2002/1792/2025-03-31/data.akn

Official point-in-time source for regulation 4A(1)(a).

Layer detail

The overview above is the map. This section is the architecture reference for one selected layer: responsibilities, repository boundaries, outputs, and representative code or data shape.

Overview mode

Choose a layer to inspect

Start with the selected runtime stage, then drill into one layer to see its repositories, outputs, and representative code or data shape.

Current stage

Acquire

Official documents are fetched, normalized, and turned into exact slices with stable references.

Drill into

Execution and promotion path

After a rule is encoded, the downstream path is verification, runtime execution, and public inspection. This section is the post-encoding path, not a second architecture map.

See the harness-only view
Stage 01
Acquire
Official documents are fetched, normalized, and turned into exact slices with stable references.
Stage 02
Encode
AutoRAC generates `.rac` and `.rac.test` against explicit harness rules and hydrated context.
Stage 03
Verify
Deterministic CI, tests, and semantic review decide whether the candidate is promotion-safe.
Stage 04
Execute
The RAC engine validates, tests, and executes the accepted encoding.
Stage 05
Inspect
Wave manifests and Atlas sync expose the result as a durable, inspectable rule artifact.

Repository map

The stack is split across repositories because source acquisition, rule corpora, execution tooling, and public presentation change at different speeds.

Source and structure

Document acquisition, converters, and AKN structure live here before any rules encoding starts.

atlas
rac-uk sources
rac-us sources
rac-us-co sources

Rule corpora

Jurisdiction-specific `.rac` files, tests, imports, and provenance manifests.

rac-uk
rac-us
rac-us-co

Language and harness

The RAC engine executes rules, while AutoRAC builds, benchmarks, and repairs encodings.

rac
autorac

Presentation and inspection

Atlas and the site expose source, encodings, provenance, and logs to users.

atlas
axiom-foundation.org

Why the split matters

If source ingestion is sloppy, every later layer inherits bad authority.
If AKN structure is weak, you cannot target exact slices or build reliable imports.
If the corpus layer is weak, the harness has nothing durable to promote into.
If the harness is weak, you get compileable but semantically unsafe encodings.
If the execution layer is weak, the rules are not actually usable.
If the inspection layer is weak, the system becomes a black box even if the rule is technically correct.