Open toaomalkster opened 5 years ago
Bug - it's not writing the PerceptEvent into STM:
STM Add: MemoryEvent{179fc,1ms,0.500,{eventData:3 + ? = 8,eventType:TextRequestEvent}}
STM Add: MemoryEvent{b0cdd,0ms,0.600,{eventData:true,eventType:StuckThoughtEvent}}
I think that should include
PerceptEvent{8ffb0,19ms,0.058,ref=0efb6,Equation#3b388[Number#a6fea(3) Operator#48bb5(+) ExpressionToken#6221f(?) EquationOperator#1c814(=) Number#0fb94(8)]}
Part of the problem is that I think I've missed a step:
Nice to have - silence all those TRACE events if they're just repeats:
00:01:14 [main] TRACE EquationEvaluationPr - Unable to evaluate PerceptEvent{8ffb0,7ms,0.068,ref=0efb6,Equation#3b3...
00:01:14 [main] TRACE Emulator - Events: [[MemorySearchRequestEvent{6cfa6,1ms,0.078,ref=8ffb0,Equation#...
00:01:14 [main] DEBUG WorkingMemory - WM Add: MemorySearchRequestEvent{6cfa6,2ms,0.078,ref=8ffb0,Equatio...
00:01:14 [main] TRACE EquationEvaluationPr - Unable to evaluate PerceptEvent{8ffb0,19ms,0.058,ref=0efb6,Equation#3b...
00:01:14 [main] TRACE FindMatchingConceptP - Blocked event emit because already present and unhandled in WM: Memory...
00:01:14 [main] TRACE Emulator - Events: []
00:01:14 [main] TRACE EquationEvaluationPr - Unable to evaluate PerceptEvent{8ffb0,21ms,0.048,ref=0efb6,Equation#3b...
00:01:14 [main] TRACE FindMatchingConceptP - Blocked event emit because already present and unhandled in WM: Memory...
00:01:14 [main] TRACE Emulator - Events: []
00:01:14 [main] TRACE EquationEvaluationPr - Unable to evaluate PerceptEvent{8ffb0,22ms,0.038,ref=0efb6,Equation#3b...
00:01:14 [main] TRACE FindMatchingConceptP - Blocked event emit because already present and unhandled in WM: Memory...
00:01:14 [main] TRACE Emulator - Events: []
00:01:14 [main] TRACE EquationEvaluationPr - Unable to evaluate PerceptEvent{8ffb0,23ms,0.028,ref=0efb6,Equation#3b...
00:01:14 [main] TRACE FindMatchingConceptP - Blocked event emit because already present and unhandled in WM: Memory...
Bug - FindMatchingConceptProcessor is currently designed with the hope that it can operate against any arbitrary event that contains a percept. But it gets confused as in the following, where it doesn't know whether to process the PerceptEvent or the MemoryEvent. Consequently, when processing the PerceptEvent, it triggers a MemorySearchRequestEvent, which results in a MemoryEvent, and then attempts to use the MemoryEvent to solve that same MemoryEvent as the original trigger. All because it gets confused about what the orginal trigger was.
TextRequestEvent{103b4,468.8s,0.440,REQUEST,HANDLED,3 + ? = 8}
PerceptEvent{79240,468.7s,0.048,ref=103b4,Equation#00e5e[Number#28da7(3) Operator#3cb1e(+) ExpressionToken#8d2b9(?) EquationOperator#95217(=) Number#cf32f(8)]}]
StuckThoughtEvent{5aed0,464.9s,0.570,ref=103b4,true}
MemorySearchRequestEvent{f87e8,417.7s,0.058,HANDLED,ref=79240,Equation#00e5e[Number#28da7(3) Operator#3cb1e(+) ExpressionToken#8d2b9(?) EquationOperator#95217(=) Number#cf32f(8)]}
MemoryEvent{82c51,366.6s,0.068,ref=f87e8,{eventType:"",eventData:[Percept{NumberFact,ref=NumberFact.Name,null},Percept{EquationFact,ref=EquationFact.Name,ref=StatementTruthFact,ref=ExpressionFact,ref=NumberFact,null},Percept{OperatorFact,ref=ExpressionFact,ref=OperatorFact.Name,null},Percept{ExpressionTokenFact,ref=ExpressionTokenFact.Name,ref=ExpressionFact,null},Percept{EquationOperatorFact,ref=EquationOperatorFact.Name,ref=EquationFact,null}]}}
TODO: