-
Notifications
You must be signed in to change notification settings - Fork 413
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Numbering sequence can break when different PRs create ADRs at the same time #28
Comments
For a |
I've been struggling with this conflict issue in my past experiences with markdown ADRs too. Instead of relying on an incremental number prefix ( @koppor I am a big fan of your repo. I've been using it a lot to introduce ADRs to the teams I worked with. Such a good reference! |
Thank you for getting in touch. Looking forward to your mail. Regarding Regarding the UI: An ADR UI is close to be finished. See https://github.com/koppor/adr-manager for the current development state. Probably one week to go for the first alpha release. I tried to work on ADR-J for a CLI tool. Work stopped, because of lack of time. Your tool seems to solve that issue. Finally, using the full filename as ID sounds good. Why not just the dashed title as ID? With your concept YYYYMMDD alone is not a unique identifier and I need to provide all... Do ADRs outdate? 😅 Is it the creation date, the decision date or the merge date? I think the last two make sense, but hard to handle. Thus, I think, the dashed title should be enough as ID? |
While drafting an ADR, the discussion reminds me on the discussion of BibTeX Keys. I begin to draft the ADR here: Options
Side notes:
Notes
|
Sorry for the late reply! I just sent you the email ;) Originally, I went with the But you are right, the downside is that you need to type the full title to reference an ADR, which is painful and error-prone.
In this case, it's not really meaningful. I will try some experiments with the Log4brains CLI. Maybe the solution is to propose a simplified slug without function words that the user can edit at creation. |
Are there any lessons that can be learned from the prior experience of Ruby on Rails Migrations? The tooling is very similar, and the solution of YYYYMMDD prefixing of the short names was adopted for similar reasons. |
Another alternative is the experience of Rust RFCs:
|
@ms-ati I seems the Rust RFCs assume a single repository (the RFC repository). What is the single ADR repository? How does that relate to the discussion at #10, where a sub directory for each ADR category is assumed? Maybe, it's straight forward and the numbering is per category. Then, the only thing left are code-references with |
A new pro for numbering: When creating 100 decisions, they can be referred to easily when discussing. It is more easy to say "ADR-100" than "ADR-gabt" and "ADR-2020-12-10". Moreover, when using numbers, ADRs can be grouped by number blocks. Say 1 to 19 discusses the URL structure, 50 to 100 the mapping of internal data sources to the URLs, ... Thus, it seems a matter of taste and tooling on ADRs should support different styles. |
Let's imagine that the latest number in the ADR numbering sequence is 5.
Dev A creates a PR with an ADR (he/she denotes that ADR with number 6).
Dev B creates a PR with an ADR (he/she denotes that ADR with number 6).
Dev A and Dev B merge at a different point in time.
Now we have two ADRs with different names but the same number.
One possible solution is to have a lock file that would contain the last number. We would have to increment this number each time we create a new ADR. This way after Dev A merges, Dev B can't merge due to conflict that needs to be resolved.
The con of this solution is that a Dev may forget to modify the lock file.
Are there any other propositions on solving this issue?
The text was updated successfully, but these errors were encountered: