ADR 0155: a definition names no installation, how that is checked, and the three ways out

Issues 122 and 134 resolved; design 27 in progress with its first cases; design 18 names the words.
This commit is contained in:
2026-09-30 18:40:05 +02:00
parent 7499f1e50c
commit 9ffb7eec55
6 changed files with 177 additions and 11 deletions
@@ -1,9 +1,9 @@
---
status: open
status: resolved
opened: 2026-09-28
located-in: [mesh-catalog, mesh-controller internal/catalogue]
fixed-by:
amended-design:
fixed-by: mesh-controller PR 169 (the check, module check, the catalogue-wide test); mesh-catalog PR 188 (the catalogue that passes it); ADR 0155
amended-design: 03-DESIGN/01-to-be/27-a-module-requires-the-mesh-resolves.md
---
# 134 — A definition may still name the mesh, and the check that would say so does not exist
@@ -64,3 +64,17 @@ that.
hostnames above are the first real cases.
- Should a build context name a repository on the git seat rather than by URL, and if so, what does
that mean for a context in *another* mesh's forge?
## Resolved, 2026-09-30
The check exists: `InstallationProblems`, run by `module check` and by a catalogue-wide test. Run over
the 77 definitions it found 42 values, not 15 — the by-hand count had missed a second name one
character after the first on the same line, which is the kind of thing a check is for. The three open
questions: **a domain in a `why` string does not break the rule**, prose is not judged, and the eight
were rewritten anyway because this catalogue is public; **a service's public name is the name the mesh
composes for its route**, read through the route's binding, and an operator's own value is a setting;
**a build context names a repository on the git seat**, `seat: git` with the path, and a context in
another mesh's forge stays a URL, which the check reports and `names-on-purpose` would declare. The
seven values that remain are declared with their reason — four applications built outside the mesh —
and are the list that shrinks ([ADR 0155](../../02-DECISIONS/0155-a-definition-names-no-installation-and-how-that-is-checked.md)).
Registration does not refuse yet; it will when the list has been empty for a release.