feat(pyxlog): compile resolved module entrypoints - #287
Open
levi770 wants to merge 1 commit into
Open
Conversation
levi770
force-pushed
the
codex/pyxlog-symbol-bridge
branch
from
August 31, 2026 19:26
e5ee140 to
247c10f
Compare
levi770
force-pushed
the
codex/pyxlog-file-compile
branch
from
August 31, 2026 19:26
a75691f to
6e9fca0
Compare
This was referenced Aug 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
Mistaber production Pyxlog integration must execute the same XLOG frontend and module resolver as the CLI route. The existing Python binding only accepted one source string, which would force consumers to concatenate modules and thereby bypass canonical import resolution, source identity, and normal compiler ownership.
This is a stacked PR on #286 because the downstream production worker also needs the symbol registry bridge introduced there.
Changes
LogicProgram::compile_file(entry_file, search_paths)inxlog-gpuxlog_logic::compile::load_modulesLogicProgram.compile_file(entrypoint, module_paths, device, memory_mb)in Pyxlogmemory_mb > 0validationmain -> rules -> factsCUDA integration testNo consumer-side concatenation or alternate parser is introduced.
TDD evidence
Before implementation, the new integration test failed with:
After implementation, the focused test resolves all three modules, compiles the canonical merged program, evaluates it on CUDA, and returns the expected query value.
Verification
Local checkout at
6e9fca079b882fdf3cb8d53ed9c3d73eeb7afc70:cargo fmt --all -- --checkcargo check -p pyxlog --lockedgit diff --checkAll passed.
Exact-commit GPU verification was performed on the authorized Mistaber RunPod host:
codex/pyxlog-file-compile6e9fca079b882fdf3cb8d53ed9c3d73eeb7afc70XLOG_REQUIRE_CUDA=1:python/tests/test_pyxlog_compile_file.pypython/tests/test_pyxlog_symbol_registry.pyResult:
3 passed in 1.21s.Scope and dependency
Stack topology
This PR is the second layer of the Pyxlog/runtime stack. It depends on #286; review and merge order is #286 -> #287 -> #288 -> #289.