Skip to content

Add expression trie sidecar - #78

Closed
MesTTo wants to merge 5 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-expression-trie-sidecar
Closed

Add expression trie sidecar#78
MesTTo wants to merge 5 commits into
trueagi-io:mainfrom
MesTTo:pr/mork-expression-trie-sidecar

Conversation

@MesTTo

@MesTTo MesTTo commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Stack dependency: review after #70. 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 a derived typed expression-trie sidecar over canonical term roots.

The branch builds a snapshot-local trie from complete fact roots, extracts the grounded prefix of a pattern, returns candidate fact IDs below that prefix, and exact-filters those candidates through the relational pattern matcher. It also factors the repeated pattern fixture used by the sidecar tests so the new tests do not duplicate existing setup code.

Validation:

  • 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/expression_trie.rs, kernel/src/pattern_relations.rs, and kernel/src/test_exprs.rs
  • jscpd on kernel/src/expression_trie.rs, kernel/src/pattern_relations.rs, and kernel/src/test_exprs.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