RegenCHOICE processing explained
An enquiry consists of a set of requirements together with a set of answers. When an enquiry is tried, the enquiry from the enquiring party is checked against each corresponding enquiry that is present on the service.
(To be filled in.)
When one enquiry is actively tried against one other (standing) enquiry, the results from the question level are put together as follows.
What if there are no misfits, but there are gaps in the standing enquiry? This needs more thinking through, but the safest way to play this is that the gaps need to be only on the side of the active enquirer. If there are gaps on the other side, that would count as a misfit. If this proves to be too restrictive, then we could allow, say, one gap on the other side.
We could put together a list of gaps in the standing enquiry, but actually there is little point. Question requirements can and will change continually, so to find the most relevant gaps, when the respondent who has the standing enquiry comes back online and is active again, they will find gaps for themselves, and they can answer them while they are online.
Mismatches can simply be set aside from here onwards. The matches and gaps are then put together at the server level.