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:
@@ -0,0 +1,22 @@
|
||||
# Diagnosis — 2026-09-21
|
||||
|
||||
1. The renames the report asked for were sized: each bed uses its borrowed name twenty to sixty
|
||||
times, most of them container names and paths that could stay; the name itself appears in the
|
||||
manifest, in the `assign` and `module issue` commands, and in the broker account the bed
|
||||
asserts on, `<node>-<module>`.
|
||||
2. Then the account was read. The mesh scopes a module's broker account to `serve.<module>.*`
|
||||
from the manifest's name, and the tool runtime binds its queues under the module name baked
|
||||
into its image. A fixture named `redis-fixture` running the real redis runtime would be
|
||||
refused the queues it serves on. The name is not a label. **A fixture that runs a module's
|
||||
runtime carries the module's name**, and therefore reads the catalogue
|
||||
([ADR 0093](../../02-DECISIONS/0093-a-fixture-that-runs-a-modules-runtime-carries-its-name.md)).
|
||||
3. Of the twelve, the two whose only cut was the vault's secret — the grant bed and the
|
||||
backend-network bed, both redis — read the catalogue's redis now and install the vault beside
|
||||
it, as the vault bed does. The rest are declared with this reason: four sidecar beds need the
|
||||
module's server raised (and, for grafana and sonarr, the route module); the minio and postgres
|
||||
grant beds raise a second store beside the foundation's; the route-forwarding bed needs the
|
||||
certificate authority; the largest mesh test carries a declaration-only postgres, a builder
|
||||
that builds itself and an umami of another shape.
|
||||
|
||||
**Located in:** mesh-lab, the ten declared beds, one conversion each with a lab run. Not renamed,
|
||||
by decision; converted two at a time as the modules they need are raised beside them.
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
status: open
|
||||
status: resolved
|
||||
opened: 2026-09-21
|
||||
located-in: []
|
||||
fixed-by:
|
||||
amended-design:
|
||||
located-in: [mesh-lab src/rebuild.ts, mesh-lab src/runtimes.ts]
|
||||
fixed-by: mesh-lab feat/mesh-tests-and-runtimes (the suite compares each stocked runtime against its source and rebuilds it where older, missing or uncommitted); proven by removing an image and watching the run rebuild it
|
||||
amended-design: 03-DESIGN/01-to-be/01-end-to-end-testing.md
|
||||
---
|
||||
|
||||
# A stocked runtime image is never rebuilt by the run
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Diagnosis — 2026-09-21
|
||||
|
||||
1. The suite rebuilt the host, the control plane's images and the installer before a run, and
|
||||
nothing else; a bed's scenario stocked `mesh-runtime-<module>:development` from whatever the
|
||||
image store held, built by hand by a script the suite never called.
|
||||
2. The rule that covers the rest — *the run rebuilds what it tests* — was extended to these. For
|
||||
the beds named, every runtime their scenarios stock is compared against the module's source in
|
||||
the catalogue and the tool runtime and SDK it is built on; the image is rebuilt where it is
|
||||
older, missing, or the source has uncommitted changes, and a build that fails stops the suite.
|
||||
Proven by removing a runtime image and watching the run rebuild it before the bed passed.
|
||||
|
||||
**Located in:** the lab's rebuild step. The design's rule now says it covers module runtimes, and
|
||||
says how it is checked.
|
||||
Reference in New Issue
Block a user