ADR 0093: a fixture that runs a module's runtime carries its name; 074 diagnosed, two beds converted; 075 resolved

This commit is contained in:
2026-09-21 19:30:35 +02:00
parent 6a35e5a58c
commit 76cd91413e
6 changed files with 105 additions and 6 deletions
+12 -2
View File
@@ -4,6 +4,7 @@ status: in-progress
code: [mesh-lab]
updated: 2026-09-21
decisions:
- 02-DECISIONS/0093-a-fixture-that-runs-a-modules-runtime-carries-its-name.md
- 02-DECISIONS/0016-the-lab.md
- 02-DECISIONS/0019-how-this-repository-works.md
- 02-DECISIONS/0089-a-bed-reads-the-catalogue-it-proves.md
@@ -418,7 +419,12 @@ receipt written before it recorded a given fact, which claims nothing rather tha
**The run rebuilds what it tests.** The suite consumes artifacts from other repositories, and an
artifact rebuilt from memory is one rebuilt sometimes. A stale binary reporting success against
rules that have since changed is the same fault wearing different clothes.
rules that have since changed is the same fault wearing different clothes. This covers the module
runtimes a bed's scenario stocks as well as the host and the control plane
([issue 075](../../04-ISSUES/075-a-stocked-runtime-image-is-never-rebuilt-by-the-run/00-report.md)):
each is compared against the module's source and what it is built on, and rebuilt where older,
missing or uncommitted. *How it is checked:* unit tests on what a bed stocks and when it is stale;
a run with an image removed rebuilds it before the bed passes.
**The general rule, which outlives this suite:** *silence and success must never look alike.*
It is the same rule the host follows about a service that does not exist
@@ -442,7 +448,11 @@ an address may point at a stand-in the bed raises — and nothing else.
**A bed that needs less than the module declares is not testing that module.** No upstream
server, a secret in the environment, a requirement edge cut so no second provider is needed:
that is a mesh test, and it carries a fixture with a name of its own, never a catalogue module's.
that is a mesh test. It does not get a name of its own if it runs the module's runtime — a
module's name is its tool namespace and its broker scope
([ADR 0093](../../02-DECISIONS/0093-a-fixture-that-runs-a-modules-runtime-carries-its-name.md)) —
so it reads the catalogue and installs what the module requires; a name of its own is for a
fixture that runs no real runtime.
**The receipt names the catalogue's commit** with the others', so a run taken before a manifest
changed says so — the same rule as for the binaries, for the same reason.