All 15 fixes from the review are complete. Summary of changes:#123
Merged
Conversation
Critical (C1, C2)
- C1: Fixed lowercase/uppercase variable documentation in schema.ex moduledoc (lines 49-66, 94, 97-99, 110-113, 124-126), rule/2 docstring (line 537), article 01 (lines 14, 60, 64), README — all now correctly state "uppercase = logic variables, lowercase = constants"
- C2: Aggregate syntax now raises ExDatalog.DSL.CompileError with "aggregates are not yet supported (planned for v0.6.0)" in both head and body positions, instead of crashing. Removed {:aggregate, ...} handling from parse_rule_body. Fixed CHANGELOG and article 05 to match reality.
High (H1, H2)
- H1: Replaced meaningless struct-literal aggregate tests with real DSL syntax tests (testing both head and body agg(...) raise DSL.CompileError)
- H2: Query without where now raises DSL.CompileError with "query requires a where clause" instead of opaque Protocol.UndefinedError
Medium (M1, M2)
- M1: find variables not present in where pattern now raise DSL.CompileError at compile time
- M2: Unknown expressions in relation/facts blocks now raise DSL.CompileError instead of being silently dropped
Low/Nit (L1-L6)
- L1: All DSL errors now raise ExDatalog.DSL.CompileError (was mixed with CompileError/ArgumentError)
- L2: README test count updated to 786 (was 751)
- L3: Dropped unused _program parameter from validate_rules!
- L4: Removed duplicate eq constraint test from SchemaCoverageTest
- L5: Fixed moduledoc: materialize/0,1
- L6: Deleted livebooks/examples.md (521-line LLM artifact)
Verification: 792 tests, 0 failures, mix compile --warnings-as-errors clean, mix credo clean.
thanos
added a commit
that referenced
this pull request
Jun 22, 2026
Merge pull request #123 from thanos/v0.4.1/PR-fixes
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.
Critical (C1, C2)