From ca8a865e7392e61376143b4303cd20acd76c52c1 Mon Sep 17 00:00:00 2001 From: jochen Date: Sat, 3 Oct 2026 15:39:07 +0200 Subject: [PATCH 1/2] ADR 0191: the mesh's names are known by where they were composed, not by their suffix A progressive insight: the rule and its check were stated as a suffix test; the mesh composes both names of a route and publishes its internal one. The decision is unchanged. --- ...hs-resolver-holds-only-the-meshs-own-names.md | 16 +++++++++++++--- 03-DESIGN/01-to-be/08-connectivity.md | 10 ++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/02-DECISIONS/0191-the-meshs-resolver-holds-only-the-meshs-own-names.md b/02-DECISIONS/0191-the-meshs-resolver-holds-only-the-meshs-own-names.md index 8d11a12..f1d2b8e 100644 --- a/02-DECISIONS/0191-the-meshs-resolver-holds-only-the-meshs-own-names.md +++ b/02-DECISIONS/0191-the-meshs-resolver-holds-only-the-meshs-own-names.md @@ -11,6 +11,15 @@ supersedes-in-part: # 191. The mesh's resolver holds only the mesh's own names; a public name resolves publicly +> **Progressive insight — 2026-10-03.** The first implementation told the mesh's names from public +> ones by their spelling — a name ending in the mesh suffix — and this record said so: the Decision +> read *"only names under its own suffix"*, and the roster check *"every name the roster carries ends +> in the mesh suffix"*. The mesh needs no such test: it composes both names of every route itself, +> `name` from the node's public domain and `internal-name` from its own domain under the serving node +> (ADR 0151), and publishes the second. Which names are its own is known from where each was +> composed. Both sentences now say that; what was decided — a public name is never given a private +> answer — is unchanged. + ## Context **[ADR 0066](0066-public-routing-is-name-agnostic.md) published every routed name into internal @@ -63,7 +72,8 @@ every public name the mesh serves, is forwarded and resolves publicly. Chosen. ## Decision -**The mesh publishes into internal resolution only names under its own suffix.** A machine's name, +**The mesh publishes into internal resolution only the names it composes for itself** — a +machine's name, and each route's `internal-name`, never a route's public `name`. A machine's name, and through it every `