Skip to content

Add expression trie BindingSpace access - #79

Closed
MesTTo wants to merge 14 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-expression-trie-binding-access
Closed

Add expression trie BindingSpace access#79
MesTTo wants to merge 14 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-expression-trie-binding-access

Conversation

@MesTTo

@MesTTo MesTTo commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Stack dependency: review after #77 and #78. 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.

Adds expression-trie access for BindingSpace plans.

The branch adds a BindingAccessPlan::Pattern access path. A pattern factor builds a typed expression trie from the current sidecar snapshot, retrieves candidate facts by grounded prefix, exact-filters those candidates, and projects matched user slots into a BindingRelation. It also adds PatternProjection validation and counters for indexed facts, candidate facts, exact pattern checks, and matches.

Review this after both pr/mork-binding-domain-cursor and pr/mork-expression-trie-sidecar. The stack base combines those prerequisites so this PR diff is only the BindingSpace integration layer.

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 expression_trie 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 and kernel/src/test_sidecar_queries.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