For contributors — how XLOG’s validation gates work internally. This page
explains what each gate proves and why they are not interchangeable.
Validation Layers
The layers below run in different places and prove different things.
Green GitHub-hosted CI does not certify GPU correctness. The targeted
self-hosted job exercises focused Python and Rust surfaces after merge, an
explicit reviewed-SHA dispatch, or a same-repository pull request. Its job
condition compares the pull request’s head repository with the current
repository, so an external fork cannot claim the persistent CUDA runner. The
workflow uses the ordinary
pull_request event and never
pull_request_target. Release certification still requires the complete manual
gate on a CUDA machine.
GPU Release Gate
This is the canonical manual gate for GPU behavior. It needs a clean checkout of the pinned acceptance corpus at the exact reviewed commit. Create one without reusing a developer checkout:- sets the
XLOG_REQUIRE_CUDA=1environment variable, which forces a hard failure if CUDA cannot initialize (so a broken GPU cannot be silently skipped); - requires a visible NVIDIA GPU through
nvidia-smi; - runs release doctor checks;
- builds the workspace and
xlog-clirelease binary; - stages Python and CLI kernel artifacts;
- builds the
pyxlogwheel and CLI archive; - creates a fresh virtual environment with the host’s site packages visible, force-installs that exact wheel without resolving dependencies, verifies the imported native module, and runs the native relation-provenance, contract, public-API, and callback suites with CUDA required;
- runs the host-readable probabilistic CLI suite and the accepted epistemic GPU evidence adapter suite in release mode;
- enables the resident-graph test feature and requires exactly 20 passing runtime-module tests with no failures, ignored tests, measured tests, or CUDA-skip messages;
- runs the exact prepare-only, production-launch, disconnected-rule scaling, and semantic-matrix acceptance tests, requiring exactly one passing test from each filter;
- runs
xlog-cuda-testscertification in release mode; - runs a basic
xlog runsmoke command; - verifies that packaged artifacts include the expected kernel files.
--mode smoke for a shorter CUDA smoke gate. Use --dry-run only to
inspect the command sequence; it does not certify GPU behavior.
Run only the resident acceptance gates
Use these commands when reviewing the resident recursive path without building release archives. KeepXLOG_REQUIRE_CUDA=1 set so missing CUDA fails instead of
turning a skipped test into a pass. The prepare, production, and scaling tests
also require the clean XLOG_PINNED_CORPUS_ROOT checkout prepared above.
Docs Gate
This gate validates the documentation site. It triggers when documentation or a documentation-build input changes, including the docs tree, build scripts and deployment configuration, workspace manifests and crates, or the workflow itself. It uses Node 22, installs[email protected], and runs:
main, the exported static bundle is pushed to the docs-dist branch. The
DigitalOcean App Platform site serves that branch at xlog.md.
Reliability Gates
Reliability gates measure how consistently a higher-level engine produces correct results across repeated runs. They are not the same as CUDA kernel certification. The staged reliability labels used in the repository are:- alpha: 5/5;
- beta: 20/20, defined as 5 seeds across 4 stages;
- GA: 50/50 with Clopper-Pearson confidence accounting. Clopper-Pearson is a conservative way to put a confidence interval on a pass rate from a limited number of trials.
Single-pass epistemic candidate bounds
The Generate-Propagate-Test route enumerates candidate answers over a program’s epistemic literals (the atoms whose truth the reasoning is uncertain about). This single-pass route has no public fixed-literal limit and no large hardcoded candidate-count bound. Instead, it computes two concrete bounds:max_candidates = 2^(number of epistemic literals);- a per-reduction limit held in the configurable
max_models_per_reductionfield, which defaults toDEFAULT_EPISTEMIC_MAX_MODELS_PER_REDUCTION = 1024models.
- the default
faeelreduction, which is founded — a fact is known only if some rule derives it — and computes an ordinary least fixpoint; - the
g91route for supported exact-tuplepossiblecycles, which runs a GPU upper-bound pass and then descends through frozen-snapshot refinements to the greatest set of mutually compatible tuples; - the well-founded-semantics route for cycles through negation, the standard three-valued treatment where a fact can be true, false, or undefined.
g91 and well-founded routes keep relation evaluation and set comparison on
the GPU while the host orchestrates fixpoint iterations. For what those routes do
and where they stop, see
Epistemic Execution Internals.
Evidence Requirements
A certification claim should include:- exact command;
- commit or release tag;
- CUDA toolkit and GPU class;
- whether
XLOG_REQUIRE_CUDA=1was active; - route counters or transfer telemetry when the claim depends on a specific optimized path;
- artifact or log location when the evidence is durable.