Is there any chance of building slightly on org-element's parsing of plain-lists, so that it lists which represent state logs are somehow noted as such? I'm imagining that `org-element-plain-list-parser' could be augmented to provide a (:log t) property, or if we accept that state-log lists are always unordered, the :type property could even just be 'log.
For that it might be nice if list items knew if they were state-change notes (State "WAIT" from "TODO", etc) or plain notes (Note taken on... etc). It's probably feature creep! But it would make some interesting things easier. My most immediate use-case would be a function in the Agenda which shows the most recent state log of the item under point. That way you could see what an item was WAITing on, or what you're actually supposed to do NEXT, and so on. And, in the back of my head, I've always felt that Org should be able to do arbitrary value logging -- sort of a generalization of org-clock. That would be a project for a very rainy day indeed, but this would be a bit of the groundwork done. Anyway, let me know if this would be acceptable in principle (and to what extent), and I can take a stab at a patch. Eric