Anyone know the inner workings of XML Workflow Interchange (Oscript/C++ level)?

I'm looking for someone who might know about the inner workings of XML Workflow Interchange. In particular, does anyone know when the decision is made to send the XML WFIC task on, or to change its status to Ready and make it available in the user's inbox? In particular, I'm dealing with Livelink 9.7.1

I've traced it to a CustomScriptsPkg.CBExecute object which gets called when task is ready and again when task is being completed. Inside that function, depending on which CB the WAPI dropin is calling, it will either send out the XML WF IC task via the $XMLDSP ospace, although not directly, rather it creates the job task in the OTHome\RelayQ directory which gets picked up.

On Task Done, the same CBExecute is called to finish off the task. It appears to be saving status in WSubworkTask.SubworkTask_CustomData in a TaskDone flag.

The whole process appears overly synchronous (probably why XML WF IC is discontinued since CS 16.2.9). That is, if the task was not responded to by an updated entry in RelayQ, that the task somehow gets undone and status changed to 2 - ready so that the user associated with it can manually send the XML Message and get a response.

My best guess is that if you have a lot of XML messaging going out, and the XML response is not returned at the time that the WAPI.TaskDone() callback gets called, the task gets reset to ready and the WF doesn't move. I would like to be able to detect that and be able to patch it so that admins can be notified the second an XML WF IC task doesn't get sent on. I'm hoping there is someone here old enough to remember the inner workings of this.

-Hugh Ferguson