Genesis is a pivot, public routing is name-agnostic, and five issues the fake registry was hiding #32

Merged
jschoubben merged 19 commits from design/bootstrap-is-a-pivot into main 2026-09-11 19:56:50 +00:00
2 changed files with 6 additions and 6 deletions
Showing only changes of commit 5852b35ab9 - Show all commits
@@ -7,7 +7,7 @@ reconstructed: false
extends: 0007-connectivity.md
---
# 56. Public routing is name-agnostic, its names are resolved inside the mesh, and an internal authority can certify them
# 66. Public routing is name-agnostic, its names are resolved inside the mesh, and an internal authority can certify them
## Context
+5 -5
View File
@@ -16,7 +16,7 @@ decisions:
- 02-DECISIONS/0004-a-node-and-how-it-joins.md
- 02-DECISIONS/0007-connectivity.md
- 02-DECISIONS/0006-the-substrate-and-the-control-plane.md
- 02-DECISIONS/0056-public-routing-is-name-agnostic.md
- 02-DECISIONS/0066-public-routing-is-name-agnostic.md
---
# Connectivity
@@ -363,7 +363,7 @@ that serves it, mesh-wide, by the same mechanism that writes the node names. It
mesh, not chosen by a module*, for the same reason the node names are: a module listing the routes
would go stale the day one changes. The mesh propagates the names it was told to serve and still
knows nothing about what they mean
([ADR 0056](../../02-DECISIONS/0056-public-routing-is-name-agnostic.md)).
([ADR 0066](../../02-DECISIONS/0066-public-routing-is-name-agnostic.md)).
## 3 — Exposure
@@ -430,7 +430,7 @@ module.
domain into a module's label, so the composition is done by a per-node override — which reproduces
exactly the per-module cost it is meant to remove. The design is the composition; the override is a
stopgap until the manifest layer can carry a label and a domain separately
([ADR 0056](../../02-DECISIONS/0056-public-routing-is-name-agnostic.md)).
([ADR 0066](../../02-DECISIONS/0066-public-routing-is-name-agnostic.md)).
## 4 — Filtering
@@ -598,7 +598,7 @@ once that name is in internal resolution; a public authority is handed that depe
DNS, and an internal one has to be handed it by the mesh. *Checked by a handshake to a routed name
that verifies against the internal root and nothing else — which cannot succeed unless the issuer
first reached the name to certify it*
([ADR 0056](../../02-DECISIONS/0056-public-routing-is-name-agnostic.md)).
([ADR 0066](../../02-DECISIONS/0066-public-routing-is-name-agnostic.md)).
## What this removes
@@ -634,7 +634,7 @@ The list is worth having in one place, because it is most of the argument:
- **Reporting declared-versus-observed.** ADR 0007 makes the disagreement detectable and does not
say who looks or what they are told.
- **Composing a route name from a label and a node's domain.**
[ADR 0056](../../02-DECISIONS/0056-public-routing-is-name-agnostic.md) makes the public name the
[ADR 0066](../../02-DECISIONS/0066-public-routing-is-name-agnostic.md) makes the public name the
operator's to move between meshes, but the manifest layer still stores it as a literal — so today
the composition is a per-node override rather than the design. The interpolation that would let a
module carry a label and a node carry the domain, and the mesh join them, does not yet exist.