Skip to content

Release 1.1.0: undefined-predicate check and docs overhaul - #4

Merged
YoanSallami merged 2 commits into
mainfrom
ci-fix-smoke-named-arg
Aug 3, 2026
Merged

YoanSallami merged 2 commits into
mainfrom
ci-fix-smoke-named-arg

Conversation

@YoanSallami

Copy link
Copy Markdown
Contributor

Two commits: the CI smoke-test fix already on this branch, and the 1.1.0 release work.

Version bumped to 1.1.0 in Cargo.toml, Cargo.lock and pyproject.toml.

Verifier

  • New undefined-predicate check (src/verifier/undefined.rs). A body reference to an undefined Predicate-cased name is silently treated as an external database table by the compiler, so Custmer(id:) does not fail — it reads a phantom table and returns nothing. The check flags it and, when a defined predicate is close enough by edit distance, suggests it.
  • Lowercase references (raw tables) and function calls (legitimate SQL passthrough) are deliberately left alone.

Compiler and parser

  • Collapse the unused Parse/Compile error variants into Syntax and Generic.
  • Remove the incantation mode from the parser.
  • Restore upstream Logica attribution headers on modified files; add NOTICE.

Docs

  • New Why Synalog page: the business case, what changes in practice, what Synalog is not, and how it compares to text-to-SQL, BI semantic layers, graph databases, RDF stores and vector RAG.
  • Knowledge graphs expanded with the modeling rationale: why model a graph at all, what it buys and what it costs, a comparison with a dedicated graph database, a "choosing a time model" decision guide, where bitemporality pays for itself and what it costs.
  • New runnable examples: temporal_graph.l and bitemporal.l.
  • Regenerate example outputs; remove CLAUDE.md.

Verification

  • cargo test: all suites pass (735 + 14 + 18 + 1 + 1, 0 failed, 2 ignored).
  • zensical build: no issues.

Note: the branch name predates this work — it was originally just the CI smoke-test fix.

🤖 Generated with Claude Code

YoanSallami and others added 2 commits August 3, 2026 14:32
Version bumped to 1.1.0 in Cargo.toml, Cargo.lock and pyproject.toml.

Verifier:
- new undefined-predicate check: a body reference to an undefined
  Predicate-cased name is silently treated as an external table by the
  compiler, so a typo reads a phantom table and returns nothing. The check
  flags it and suggests a close defined predicate by edit distance.
- lowercase table references and function calls are deliberately left alone.

Compiler and parser:
- collapse the unused Parse/Compile error variants into Syntax and Generic.
- remove the incantation mode from the parser.
- restore upstream Logica attribution headers on modified files; add NOTICE.

Docs:
- new "Why Synalog" page: the business case, what changes in practice,
  what Synalog is not, and how it compares to text-to-SQL, BI semantic
  layers, graph databases, RDF stores and vector RAG.
- knowledge graphs: why model a graph, what it buys and costs, comparison
  with a dedicated graph database, a "choosing a time model" decision
  guide, where bitemporality pays for itself and what it costs.
- new runnable examples: temporal_graph.l and bitemporal.l.
- regenerate example outputs; remove CLAUDE.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The PyPI and Discord badges are the only dynamic shields.io endpoints in
the header, so they intermittently rendered as broken images: when the
upstream API call is slow or rate-limited shields returns a non-2xx, and
GitHub's camo proxy caches that failure. Raise cacheSeconds on both
(PyPI 10800 -> 86400, Discord 300 -> 3600) so the proxy refetches far
less often, and add the brand logos while there. Changing the URL also
mints a fresh camo hash, bypassing any already-cached failure.

Point the logo and the LICENSE/NOTICE/SKILL.md links at absolute URLs.
PyPI ships this README verbatim as long_description and strips <source>,
so the relative paths resolved on GitHub but 404'd there. Keeping
<picture> preserves the GitHub dark-mode variant.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@YoanSallami
YoanSallami merged commit 695b986 into main Aug 3, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant