A primary instance needs to be able to ask its relays how many complete agreements they've received for a transaction.
|Open||None||T1 Cheap, private payments via a decentralized network|
|Open||tim||T2 Finalize a first draft of a specification for a decentralized payments protocol|
|Open||tim||T12 Revise introduction to the specification|
|Resolved||tim||T5 Finish Messages section of the specification|
|Wontfix||tim||T10 Specify transaction query messages|
Actually, relays will quite frequently have to send T11 reports, so is it worth requiring primary instances to specifically ask for such reports?
When wouldn't a primary instance require a T11 report? When it receives a complete agreement not including any of its own bilateral agreements, but in time for the reversal deadlines of all of its bilateral agreements for that transaction; or, when it receives two complete agreements in time for all the relevant reversal deadlines. The former case might actually be quite common, if many more instances participate in pathfinding than are included in the final path, or if speculative pathfinding is common, and commonly followed by non-execution commitments.
But perhaps more importantly, if we require relays to send T11 reports only when their primary instances request them, then either they'll need to keep the relevant information indefinitely, in case a request is made in the distant future, or we'll need to specify an arbitrary time limit for retaining that information, or add such a time limit to the relay request and latency report messages.
In the interest of limiting the number and complexity of different kinds of messages, perhaps it's better simply to require relays to always send a T11 report after the last moment in time specified in bytes 12 to 23 of any latency report it has sent for that transaction.