Accept ADR 0267: the operator's word of 2026-10-08
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered

Set its status to accepted and state the notes on ADR 0162, 0238 and 0236
as decided.
This commit is contained in:
jochen
2026-10-08 23:11:35 +02:00
parent 7d3f4407a7
commit d2fe9bc870
5 changed files with 8 additions and 8 deletions
+3 -3
View File
@@ -278,7 +278,7 @@ and the operator act. **Recorded by** the controller's `identity` and `licences`
**Purpose.** To take one commit from its pull request to every node that should run it, and to put it
back when it fails. **Recorded by** the `mesh-delivery` module (deliveries) and the controller (the
planner, the walk). **Downstream of** Module, Core, Health and repair and Data.
**Decided by** ADR 0162, 0218, 0236, 0237, 0238, 0239.
**Decided by** ADR 0162, 0218, 0236, 0237, 0238, 0239, 0267.
**Uses:** module, node, declaration and send (Placement), health (Health and repair), person.
- **merge check** — the two statuses a pull request carries before it may merge: the **merge gate**
@@ -304,8 +304,8 @@ planner, the walk). **Downstream of** Module, Core, Health and repair and Data.
its import closure (the directories of its packages, its Go module files) and its recipe; for any other
artifact the paths its manifest names, by default its module's own directory. Each artifact of a build
has its own, and a change rebuilds the artifacts whose build source it touches
([ADR 0267](../02-DECISIONS/0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md),
proposed). Older records (ADR 0015, ADR 0111) and designs say *build source* for the repository a module
([ADR 0267](../02-DECISIONS/0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md)).
Older records (ADR 0015, ADR 0111) and designs say *build source* for the repository a module
is built from; this entry narrows it to the files within, and that use reads as *the repository holding
the build source*. Sharing a repository is not a dependency, and no build source is a whole repository
holding another module's files.
@@ -11,7 +11,7 @@ extends: 02-DECISIONS/0157-a-build-says-what-it-does-on-the-bus-as-it-happens.md
> **Progressive insight — 2026-10-02.** The context below says a dependent is *built by whichever build machine is running — the only one there could be*. That was a fact of the day, not of the decision: since [ADR 0190](0190-a-seats-work-is-shared-by-its-holders-and-building-is-the-first-such-role.md) a tier's asks are taken by every machine holding the build seat. The plan and its tiers are unchanged.
> **Superseded in part — 2026-10-08, by [ADR 0267](0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md) (proposed; it takes effect when it is accepted).**
> **Superseded in part — 2026-10-08, by [ADR 0267](0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md).**
> In decision 1, the `packages` kind ("the module's build reads the other's repository") and the *code*
> dependency ("B packages A's source … rebuilt whenever A changes, in the same tier") no longer hold: a file
> two modules build from moves both through their build sources, and no edge is drawn for sharing a
@@ -16,7 +16,7 @@ extends: 02-DECISIONS/0227-the-core-holds-nine-rules-each-checked-and-is-built-t
> no core module starts on that module's word, and *held* is a delivery's state, released by a person through
> `mesh-delivery`'s `release`. These are the gate rules ADR 0239 applies when a member of a delivery group fails.
> **The mechanism changed — 2026-10-08, by [ADR 0267](0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md) (proposed; it takes effect when it is accepted).**
> **The mechanism changed — 2026-10-08, by [ADR 0267](0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md).**
> What stands: a rebuild that changes nothing is no move. What moved: the source fingerprint of the issue 280
> insight below is taken per artifact over its build source, not per build over the module's directory and
> each context's whole repository, and an artifact with an equal fingerprint is not built again.
@@ -18,7 +18,7 @@ extends: 02-DECISIONS/0237-a-change-is-judged-against-the-mesh-that-runs-before-
> leads to the delivery's view on the pull request. The *change plan* is called the **delivery plan**. Decisions
> 1 to 5 stand as decided here.
> **Superseded in part — 2026-10-08, by [ADR 0267](0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md) (proposed; it takes effect when it is accepted).** In
> **Superseded in part — 2026-10-08, by [ADR 0267](0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md).** In
> decision 3, "the whole repository for a module built from its root, and a repository a recipe names (the
> build record's `read`)" no longer holds: a changed file touches the artifacts whose build source contains
> it, and through them their modules. The one mapping function, a file read by no build touching nothing,
@@ -1,6 +1,6 @@
---
topic: building it
status: proposed
status: accepted
date: 2026-10-08
deciders: jochen
reconstructed: false
@@ -229,7 +229,7 @@ the bases a build was handed, and draws none from imports.
second language gets a reader of its own or declared paths. A declared-path build that reads a file it
did not declare now fails where it used to succeed.
- **Design** [to-be 47](../03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md) and
[to-be 10](../03-DESIGN/01-to-be/10-delivery.md) name this record when it is accepted, and the build
[to-be 10](../03-DESIGN/01-to-be/10-delivery.md) are amended to name this record, and the build
handoff opens on mesh-controller and the catalogue.
## How this is checked