From d2fe9bc870dc1672f10567596f9788c8912228ea Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 8 Oct 2026 23:11:35 +0200 Subject: [PATCH] Accept ADR 0267: the operator's word of 2026-10-08 Set its status to accepted and state the notes on ADR 0162, 0238 and 0236 as decided. --- 00-META/glossary.md | 6 +++--- .../0162-a-merge-produces-a-tiered-plan-the-mesh-keeps.md | 2 +- ...hing-other-than-itself-and-so-it-rolls-out-unattended.md | 2 +- ...e-plan-checked-off-the-trunk-and-published-only-on-it.md | 2 +- ...dule-moves-only-along-build-dependencies-on-artifacts.md | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/00-META/glossary.md b/00-META/glossary.md index 44e05f94..8b749d22 100644 --- a/00-META/glossary.md +++ b/00-META/glossary.md @@ -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. diff --git a/02-DECISIONS/0162-a-merge-produces-a-tiered-plan-the-mesh-keeps.md b/02-DECISIONS/0162-a-merge-produces-a-tiered-plan-the-mesh-keeps.md index f8e3738a..3c3fd577 100644 --- a/02-DECISIONS/0162-a-merge-produces-a-tiered-plan-the-mesh-keeps.md +++ b/02-DECISIONS/0162-a-merge-produces-a-tiered-plan-the-mesh-keeps.md @@ -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 diff --git a/02-DECISIONS/0236-a-build-is-judged-on-its-first-machine-and-put-back-by-something-other-than-itself-and-so-it-rolls-out-unattended.md b/02-DECISIONS/0236-a-build-is-judged-on-its-first-machine-and-put-back-by-something-other-than-itself-and-so-it-rolls-out-unattended.md index b73ecea1..a9ba8e54 100644 --- a/02-DECISIONS/0236-a-build-is-judged-on-its-first-machine-and-put-back-by-something-other-than-itself-and-so-it-rolls-out-unattended.md +++ b/02-DECISIONS/0236-a-build-is-judged-on-its-first-machine-and-put-back-by-something-other-than-itself-and-so-it-rolls-out-unattended.md @@ -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. diff --git a/02-DECISIONS/0238-a-commit-is-the-build-at-hand-one-commit-one-change-plan-checked-off-the-trunk-and-published-only-on-it.md b/02-DECISIONS/0238-a-commit-is-the-build-at-hand-one-commit-one-change-plan-checked-off-the-trunk-and-published-only-on-it.md index 282014f6..6cddc47a 100644 --- a/02-DECISIONS/0238-a-commit-is-the-build-at-hand-one-commit-one-change-plan-checked-off-the-trunk-and-published-only-on-it.md +++ b/02-DECISIONS/0238-a-commit-is-the-build-at-hand-one-commit-one-change-plan-checked-off-the-trunk-and-published-only-on-it.md @@ -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, diff --git a/02-DECISIONS/0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md b/02-DECISIONS/0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md index 14124194..0cc89164 100644 --- a/02-DECISIONS/0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md +++ b/02-DECISIONS/0267-an-artifact-is-rebuilt-only-when-its-build-source-changes-and-a-module-moves-only-along-build-dependencies-on-artifacts.md @@ -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