8000 test: import XTDB/Datomic compatibility test corpus · Issue #221 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

test: import XTDB/Datomic compatibility test corpus #221

Closed

Description

@adityamukho

Context

Minigraf is approaching v1.0.0 with Phase 8 completion tracked in #133. A project memory captured the intention to import as many XTDB and Datomic tests as practical once Minigraf reached sufficient feature parity, especially after Phase 7 Datalog completeness: aggregation, disjunction, filter predicates, temporal querying, UDFs, and prepared statements.

This is now timely: compatibility-style tests can increase reliability and credibility before or shortly after the v1.0 release.

Goal

Identify, license-review, port, and run compatible XTDB/Datomic test cases against Minigraf's Datalog engine and temporal model.

Scope

  • Identify public XTDB test corpora relevant to Datalog/query semantics, temporal behavior, transaction behavior, and edge cases.
  • Identify any Datomic test material that can legally and practically be used as a reference.
  • Review licenses before importing any verbatim code or data.
  • Prefer porting semantics/test cases over copying code when licensing is unclear.
  • Add one or more integration suites, for example:
    • tests/xtdb_compat_test.rs
    • tests/datomic_compat_test.rs
  • Normalize syntax and expected results to Minigraf's Datalog dialect where semantics align.
  • Clearly document skipped cases where XTDB/Datomic behavior is intentionally out of scope or incompatible with Minigraf's philosophy/API.

Candidate areas

  • Pattern matching and joins.
  • Recursion and rule behavior where semantics overlap.
  • Stratified negation and disjunction.
  • Aggregation and grouping.
  • Predicate/filter expressions.
  • Temporal/as-of query behavior where comparable.
  • Transaction/retraction edge cases where comparable.

Acceptance criteria

  • License review is documented in the issue or accompanying test module comments.
  • Imported/ported tests are traceable to their source corpus or documented as semantic ports.
  • Compatibility tests run under cargo test or a clearly named ignored/nightly test target if expensive.
  • Unsupported or intentionally divergent semantics are listed explicitly.
  • Failures produce actionable diffs between expected and actual query results.

Notes

This is not a requirement to emulate XTDB or Datomic wholesale. The purpose is to borrow battle-tested semantic coverage where Minigraf has feature parity, while preserving Minigraf's embedded, single-file, reliability-first design.

Activity

  1. added
    enhancementNew feature or request
    rustPull requests that update rust code
    stabilityStability/panic issue
    on May 1, 2026
  2. added a commit that references this issue on May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    data-integrityData integrity issueenhancementNew feature or requestrustPull requests that update rust codestabilityStability/panic issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0