CHANGELOG.md under [Unreleased] is main-only until a release artifact ships.
Published Artifacts
Public releases target:- Linux
x86_64; - NVIDIA CUDA Toolkit 13.x;
- crates.io packages for the public Rust crates;
pyxlogPython wheels;- GitHub release CLI archives for
xlog.
0.9.2.
Rust Package Boundary
Publishable crates:xlog-clixlog-corexlog-cudaxlog-gpuxlog-irxlog-logicxlog-probxlog-runtimexlog-solvexlog-stats
pyxlogxlog-neuralxlog-inducexlog-cuda-testsxlog-integration
pyxlog is distributed as a Python package. Do not describe it as a published
Rust crate.
CUDA Artifact Model
Generated CUDA artifacts are not source files. CUDA source lives undercrates/xlog-cuda/kernels and is compiled by the Rust build and packaging
scripts.
Runtime lookup is layered:
XLOG_CUBIN_DIR;- package- or binary-adjacent
kernels/; - Cargo
OUT_DIRfor source-tree builds; - embedded portable PTX compiled into the Rust binary.
GPU Release Validation
Before publication, maintainers run:XLOG_REQUIRE_CUDA=1, builds release
artifacts, runs the CUDA certification suite, and checks packaged kernel layout.
A green GitHub-hosted CI run is not a substitute for this GPU gate.
Docs Deployment
The public docs live athttps://xlog.md.
Source pages are in docs-site/. The GitHub workflow
.github/workflows/docs-site.yml runs when docs-site/** changes on pull
requests or main. It pins Node 22 and [email protected], validates the Mintlify
site, exports a static bundle, and force-pushes the generated site to the
docs-dist branch on main.
DigitalOcean App Platform is configured by .do/docs-app.yaml to serve the
docs-dist branch. The app owns both xlog.md and www.xlog.md.
Generated static HTML is not edited by hand in the source tree. Change MDX in
docs-site/, validate, export, and let the workflow publish docs-dist.
Main-Only Feature Boundary
The following work exists onmain but is unreleased beyond 0.9.2:
- aggregate-fused WCOJ;
- GPU Free Join and factorized count-by-root;
- factorized recursive deltas;
- factorized non-count aggregate folding;
- joint multi-rule mixtures;
- Stage-B existential joins;
- grouped forward/backward neural-symbolic training.
Required Secrets
Release workflows depend on repository secrets for crates.io, PyPI, GitHub release automation, and DigitalOcean deployment metadata. Keep those secrets in GitHub Actions settings; do not commit tokens or generated credentials.Release Checklist
For a release candidate:- Confirm
CHANGELOG.mdseparates[Unreleased]from the target release. - Run ordinary CI and docs validation.
- Run CUDA release validation on a supported GPU host.
- Build and inspect Python wheel and CLI archive layouts.
- Publish Rust crates, Python wheels, and GitHub release artifacts.
- Confirm
xlog.mdserves the exported docs over HTTPS.