From 821cd3b48938b32b2979a14fa7ec24c1ca4f0b04 Mon Sep 17 00:00:00 2001 From: jochens Date: Thu, 1 Oct 2026 17:23:34 +0200 Subject: [PATCH] ADR 0084: a pin names the module as well as the node (#258) --- 02-DECISIONS/0084-which-provider-serves-a-consumer.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/02-DECISIONS/0084-which-provider-serves-a-consumer.md b/02-DECISIONS/0084-which-provider-serves-a-consumer.md index dacabb6..d0ecf87 100644 --- a/02-DECISIONS/0084-which-provider-serves-a-consumer.md +++ b/02-DECISIONS/0084-which-provider-serves-a-consumer.md @@ -106,3 +106,14 @@ is refused with the candidates named, never resolved by picking. gap, and the day-one evidence. - [`03-DESIGN/01-to-be/23-choosing-a-provider.md`](../03-DESIGN/01-to-be/23-choosing-a-provider.md) — the design. + +> **Widened, 2026-10-01 (issue #258).** The pin named a node, on the reasoning that "the same +> module on two machines is two answers, and which machine is the whole question". Half right: +> two modules on one machine can both answer a provision — `public-acme` and `step-ca` both offer +> `acme-ca` on novox — and then which *module* is the whole question, and a node alone cannot ask +> it. A provider is a (node, module) pair ([design 23](../03-DESIGN/01-to-be/23-choosing-a-provider.md)), +> and a pin now names the pair: `pin `. The resolver +> refuses a node that answers twice instead of taking the last one listed, and refuses two +> providers beside the consumer instead of settling them by a map walk — the same stance design 23 +> takes: ambiguity is refused, never resolved by picking. Records made before are completed by +> migration where the node they name answers once. mesh-controller: `feat/pin-names-the-provider`. -- 2.54.0