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 `