I know you said you didn't like the idea of hashes, so this might be a non-starter for your use case.
But it sounds like a V5 Guid [0] might meet some of the needs for your "operation Ids".
The existing "random agent id", and "sequence number" could be used as part of the namespace / salt.
But it sounds like a V5 Guid [0] might meet some of the needs for your "operation Ids". The existing "random agent id", and "sequence number" could be used as part of the namespace / salt.
[0] https://www.sohamkamani.com/uuid-versions-explained/#v5-non-...