xlog-runtime 0.9.2

Runtime executor and relation store for XLOG
[package]
name = "xlog-runtime"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
description = "Runtime executor and relation store for XLOG"
documentation = "https://docs.rs/xlog-runtime"
readme = "../../README.md"

[dependencies]
cudarc = { workspace = true }
xlog-core.workspace = true
xlog-ir.workspace = true
xlog-cuda.workspace = true
xlog-stats.workspace = true
xlog-logic = { workspace = true, optional = true }

[dev-dependencies]

[features]
default = []
epistemic-logic-tests = ["dep:xlog-logic"]
# Diagnostic-only: per-phase timing of WCOJ triangle dispatch
# (classifier + 3 layouts + count/scan/total/materialize).
# Forwards to xlog-cuda's `wcoj-phase-timing` so the events
# inside the provider are recorded too. Off in production.
wcoj-phase-timing = ["xlog-cuda/wcoj-phase-timing"]
# W2.3: per-iteration recursive-SCC stats trace seam. Gates
# the trace types, the Executor field, the populating call
# sites in `execute_recursive_scc`, and the accessor. Default
# OFF — production builds carry zero trace overhead (no
# field, no work, no symbol). The W2.3 acceptance test
# `tests/test_w23_recursive_stats.rs` declares this feature
# in its `required-features`, so it is only compiled when
# the feature is enabled (e.g., `cargo test --features
# xlog-runtime/recursive-stats-trace` or `--all-features`).
recursive-stats-trace = ["dep:xlog-logic"]

# W2.3 acceptance gate test target — only compiled when the
# `recursive-stats-trace` feature is enabled. Workspace
# command to run W2.3 tests:
#   cargo test --workspace --features xlog-runtime/recursive-stats-trace
[[test]]
name = "test_w23_recursive_stats"
path = "tests/test_w23_recursive_stats.rs"
required-features = ["recursive-stats-trace"]