diff --git a/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md b/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md index 31a60823..b697e72e 100644 --- a/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md +++ b/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md @@ -4,6 +4,7 @@ status: in-progress code: [mesh-controller, mesh-catalog modules/mesh-delivery] updated: 2026-10-13 decisions: + - "ADR 0350" - "ADR 0323" - "ADR 0313" - "ADR 0306" @@ -57,7 +58,12 @@ commit's journey and in what order the steps are allowed. group, the state table and their state, and nothing else. - **The forge's holder** sets a commit's statuses, keeps the delivery's view as one comment on the pull request, and appends to the commit's note under `refs/notes/mesh-plan`. -- **The build seat** builds and checks, asked by the controller as before. +- **The build seat** builds and checks, asked by the controller as before. **A change is built once** (ADR 0350): + a check that passes also builds what its merge would move into the artifact store's scratch namespace, under a + reuse key (the source fingerprint and the builder's version), and the walk of the merge commit copies a build + of the same key, which the check's verdict names, by digest instead of building. Otherwise the walk builds and + says why, per module, in its record. Check builds go when the walk answering the merge ends, when the pull + request closes unmerged, and after seven days. ## A delivery