Hi! What I'm not quite getting from a cursory overview of the docs is how does RAC overlay overlapping decisions over each other? My mental model is a Docker overlay filesystem where RAC somehow manages to construct a cohesive view of the entire set of decisions over time, but how does that happen deterministically?
Let's say ADR 1 specifies users are unique by e-mail and should be soft-deleted, and ADR 2 says users are unique by username. Will RAC pick up on the fact that users still need to be soft-deleted? Is there a lot of manual "reference ADR 1 from ADR 2" to help with determinism?
So rac doesn’t merge ADRs or infer that soft-deletes survive… supercession is managed by the status on one ADR saying Superseeded, and the other saying Supersedes. This is enforced by the CI pipelines you can use (GitHub, etc)
I think your example is a bit more of a modelling question, and if soft-delete must outlive the uniqueness decision it should be its own requirement that’s persisted as RAC guarantees the graph stays consistent and current; it doesn’t guess which clause survives — that’s the users call.