Skip to content

Use suggested order for BindingSpace trie join - #81

Closed
MesTTo wants to merge 16 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-binding-suggested-trie-order
Closed

Use suggested order for BindingSpace trie join#81
MesTTo wants to merge 16 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-binding-suggested-trie-order

Conversation

@MesTTo

@MesTTo MesTTo commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Stack dependency: review after #80. This branch is based on the prerequisite head. Until the prerequisite PRs merge, GitHub may include their commits in the aggregate diff; the intended review increment is the new commit at this branch tip.

Uses the analyzed variable order for BindingSpace trie joins.

The branch adds BindingSidecarPlan::execute_trie_join_suggested. It opens the existing plan factors, computes the same root-domain analysis used by analyze, chooses the suggested variable order, and runs the trie-backed join with that order.

The regression compares the suggested-order result with the manual-order trie join and checks that result rows remain equivalent when projected back into the plan's original order.

Validation:

  • cargo +nightly-2026-06-01 test -p mork --lib binding_plan with RUSTFLAGS='-C target-cpu=native'
  • cargo +nightly-2026-06-01 test -p mork --lib with RUSTFLAGS='-C target-cpu=native'
  • rustfmt --check on kernel/src/binding_plan.rs
  • jscpd on kernel/src/binding_plan.rs, kernel/src/expression_trie.rs, kernel/src/pattern_relations.rs, kernel/src/test_exprs.rs, and kernel/src/test_sidecar_queries.rs
  • git diff --check
  • normal diffstat matched git diff -w --stat

@MesTTo

MesTTo commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Closing: part of the un-wired binding_space sidecar line that reimplements the kernel's ProductZipper join (relational matcher / arrangements / trie-join / expression-trie) over a reinvented term_identity::TermId(u64), instead of reusing Expr and PathMap. The kernel core (space.rs/main.rs/sinks.rs/sources.rs/pure.rs) references none of these modules, so nothing is wired to the MeTTa surface. This is the 'reimplements rather than reuses / un-wired feature island' concern. Parking the line; if a specific piece is wanted (e.g. a new PathMap zipper type with property tests against existing ops), it can be reopened as a small standalone PR on PathMap primitives.

@MesTTo MesTTo closed this Jul 3, 2026
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