sm_agent message caching
Requirement: An agent is awaiting input messages from multiple agents (1, 2,..., N) for a given sample identified by Dataset ID and Case Num) and should process the sample when all inputs are available. Example Use Case: The decision tree needs inputs from two agents: candidates + ref mask. Message Cache: dictionary indexed by (Dataset ID, Case Num, Agent Name) Algorithm: (1) get a message from Agent 1 for a sample (identified by Dataset ID and Case Num) (2) for each Agent K from 2 to N: (2a) check for the required input from the message cache using (Dataset ID, Case Num, Agent Name) (2b) if it does not exist in the cache then get the next message from Agent K, store it in the cache, go to 2a; (3) process the sample using the inputs collected from (1) and (2), which will be complete for the sample (4) delete from Message Cache: if any list is empty delete it fully