The end-to-end design held 'the run rebuilds what it tests' for binaries and images and not for manifests. The beds' inline copies fell into three kinds; only the first is a stale copy. The other two are named: a mesh test wearing a catalogue module's name (074) and a stocked runtime image the run never rebuilds (075).
2.1 KiB
status, opened, located-in, fixed-by, amended-design
| status | opened | located-in | fixed-by | amended-design | |
|---|---|---|---|---|---|
| located | 2026-09-21 |
|
A mesh test wears a catalogue module's name
Symptom, as observed
Twelve lab beds install a module named redis, grafana, plex, sonarr, minio, postgres,
route-proxy or hello-web that is not the catalogue's module of that name. Each is cut down to
what the bed's mechanism needs: the sidecar runtime without the upstream server it manages; a
token or an API key in the container's environment where the catalogue delivers a file; a
requirement on a route or a certificate authority removed so no second provider is needed; a
vault-granted secret turned into one the module mints itself; a route contribution in the shape a
decision replaced. One bed's header says its manifests are "verbatim from the catalogue" and its
manifest adds three resources the catalogue has not got.
Found while diagnosing issue 073;
the beds are listed, each with what it cuts, in the lab's beds-read-the-catalogue unit test.
Why it matters beyond this instance
- A green bed named for a module reads as that module proven. The status view counts a bed
by the module it names; a bed proving a grant mechanism with a
redisthat mints its own secret proves nothing about the catalogue's redis, which requires the vault's. - The cut is invisible. Nothing distinguishes "this is redis" from "this is a redis-shaped fixture" except reading the literal against the catalogue, which is what issue 073 found nobody had done.
- ADR 0089 now refuses the copy; until each bed is renamed or made to read the catalogue, it is declared debt.
What would close it
Each of the twelve beds either reads the catalogue's module and meets its declared requirements
(a route needs the route module beside it; a secret needs the vault), or gives its fixture a name
that is no catalogue module's — a-cache, a-store, a-sidecar — so a green run claims exactly
what it proved. The declared list in the unit test is empty of the WEARING reason.