Dropping late night ideas... maybe this is not very actionable or not a big problem though and I might decline this task at some point. Let's see.
Existing stuff that does not cover it though:
- On https://phabricator.wikimedia.org/maniphest/report/?order=-oldest-all , "Oldest (All)" refers to the age of the task but not for long how it has been assigned so this is not what I'm looking for.
- https://phabricator.wikimedia.org/maniphest/query/tIxvk_i9KoVq/#R lists ~250 open assigned tasks that have not seen any (!, not: 'assignee') updates in the last 3 years.
Going for an SQL example, this would be a query for open tasks which had their current assignee set more than four years ago ("126144000") from now:
SELECT u.userName, t.id, from_unixtime(ta.dateModified) FROM phabricator_maniphest.maniphest_task t JOIN phabricator_user.user u JOIN phabricator_maniphest.maniphest_transaction ta WHERE (ta.transactionType = "reassign" AND ta.dateModified < (UNIX_TIMESTAMP() - 126144000)) AND u.phid = SUBSTR(ta.newValue, INSTR(ta.newValue, 'PHID-USER-'), 30) AND ta.objectPHID = t.phid AND t.ownerPHID = u.phid AND (t.status = "open" OR t.status = "stalled") ORDER BY ta.dateModified;
Note: Task might have been un- and re-assigned to same person in the meantime so list might not be completely correct.
And not sure how performant that is or whether to include in some weekly cron job email.
Is this something to discuss somewhere? And to bikeshed about a reasonable time span threshold before resetting? Probably yes.