mdproctor opened a new issue, #6713:
URL: https://github.com/apache/incubator-kie-drools/issues/6713

   ## Context
   
   The ReteEngine (replacing BruteForceCompiledEngine) carries 
`not()`/`exists()` scope handling forward from 
`RuleDescriptor.getScopeDescriptors()` via lambda evaluation at head fire time 
— the same approach as the brute-force engine. This is correct but not 
incremental: on each rule firing, the scope DataSources are iterated at runtime 
rather than using the pre-built `NotNode`/`ExistsNode` network structure.
   
   ## What's needed
   
   Proper `NotNode`/`ExistsNode` Rete evaluation:
   - `NotNode` beta memory tracks blocked/unblocked matches as right-side facts 
arrive and retract
   - `ExistsNode` fires when the right-match count first reaches 1, withdraws 
when it drops to 0
   - Uses `JoinTupleBlockable` / `ObjectHandleTupleBlocker` (already in 
`TupleFactory`)
   - Eliminates the lambda `scopeHasMatch()` scan at fire time
   
   ## Prerequisite
   
   #6712 (ReteEngine) — the tuple-based propagation model must be in place 
first.
   
   ## Parent epics
   
   #6684, #6639


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to