mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-09-03 04:00:18 +00:00
Reconciles this PR's Token-based alpha/beta matching (#300) with the rule-actions/provenance layer merged separately in #1096. That PR built bind_reasoner()/execute_matches() action-firing/_executed_activations/ reset_action_history() on top of the still-broken always-True stubs (via an interim _bindings_for_rule() regex re-extraction), so main and this branch touched the same propagation code with incompatible shapes. Kept this branch's Token(facts, bindings) model for alpha/beta propagation (the actual fix for #300) and layered main's action/ provenance plumbing on top of it, sourcing Match.bindings directly from Token.bindings instead of re-deriving them with _bindings_for_rule(), which is now redundant and removed. Also fixes a 2-tuple/3-tuple unpacking break in test_matches_reasoner_match_rule caused by Reasoner._match_rule()'s return shape changing upstream, and drops an unrelated encoding-only .gitignore diff. Verified: tests/reasoning/ (106 tests) and flake8 --max-line-length=88 both clean on the merged tree.