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.
I don’t have a problem with hashes generally. Correct me if I’m wrong, but this scheme sounds like hashing with extra steps?
I agree this could be done. But diamond types (my library) considers every keystroke to be a new change. If we store a UUID for every keystroke, that’s very inefficient.
Location: Australia, Brisbane
Remote: Yes
Part Time / Consultant: 15 - 20 hours a week ($60 / hour)
Willing to relocate: No
Technologies: C# / ASP.NET, AWS, SSMS, Serverless
Résumé/CV: Will reply with CV
Email: mymailenator at gmail dot com
I have 10 years experience in payments processing (building payment gateways). I have strong C# skills, am a team lead, scrum master (LeSS), and mentor to junior / mid developers.
I am looking for part-time work, if you think I can be helpful to you, then please shoot me an email!
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-...