Expose the exact normalizations required to achieve reproduction
@msuozzo is already working on this.
Since Jan 8, 2025.
- Dominant language
- Go
- Stars
- 714
- Forks
- 64
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 58
Description
We currently apply all relevant normalizations to all artifacts meaning we neither know nor convey to the user which were the minimal set of normalizations that ended up being necessary to achieve an identical artifact.
Determining the minimal set of normalizations could be tricky but i think the best strategy would be to decompose our monolithic normalizer into a set of "passes" and, as we're normalizing each artifact, evaluate the similarity of the artifacts at each step. When passes 'do nothing', the degree of similarity should remain unchanged when the pass is applied.
I don't believe this approach would work for passes applied in a random order but I do think we could order them such that the similarity would monotonically increase.
Credit to @hboutemy for the idea 👍
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.